s390/qdio: adopt new tasklet API
Convert the Output Queue tasklet code to take a tasklet_struct as parameter. Then initialize the tasklet with tasklet_setup() to indicate that we follow the new model. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Родитель
ed645696e0
Коммит
6bb7a51b60
|
@ -370,7 +370,7 @@ void qdio_thinint_exit(void);
|
|||
int test_nonshared_ind(struct qdio_irq *);
|
||||
|
||||
/* prototypes for setup */
|
||||
void qdio_outbound_processing(unsigned long data);
|
||||
void qdio_outbound_tasklet(struct tasklet_struct *t);
|
||||
void qdio_outbound_timer(struct timer_list *t);
|
||||
void qdio_int_handler(struct ccw_device *cdev, unsigned long intparm,
|
||||
struct irb *irb);
|
||||
|
|
|
@ -716,8 +716,10 @@ retry:
|
|||
return cc;
|
||||
}
|
||||
|
||||
static void __qdio_outbound_processing(struct qdio_q *q)
|
||||
void qdio_outbound_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct qdio_output_q *out_q = from_tasklet(out_q, t, tasklet);
|
||||
struct qdio_q *q = container_of(out_q, struct qdio_q, u.out);
|
||||
unsigned int start = q->first_to_check;
|
||||
int count;
|
||||
|
||||
|
@ -754,13 +756,6 @@ sched:
|
|||
qdio_tasklet_schedule(q);
|
||||
}
|
||||
|
||||
/* outbound tasklet */
|
||||
void qdio_outbound_processing(unsigned long data)
|
||||
{
|
||||
struct qdio_q *q = (struct qdio_q *)data;
|
||||
__qdio_outbound_processing(q);
|
||||
}
|
||||
|
||||
void qdio_outbound_timer(struct timer_list *t)
|
||||
{
|
||||
struct qdio_q *q = from_timer(q, t, u.out.timer);
|
||||
|
|
|
@ -272,8 +272,7 @@ static void setup_queues(struct qdio_irq *irq_ptr,
|
|||
setup_storage_lists(q, irq_ptr,
|
||||
qdio_init->output_sbal_addr_array[i], i);
|
||||
|
||||
tasklet_init(&q->u.out.tasklet, qdio_outbound_processing,
|
||||
(unsigned long) q);
|
||||
tasklet_setup(&q->u.out.tasklet, qdio_outbound_tasklet);
|
||||
timer_setup(&q->u.out.timer, qdio_outbound_timer, 0);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче