Index: linux-osk/drivers/cbus/tahvo-usb.c =================================================================== --- linux-osk.orig/drivers/cbus/tahvo-usb.c +++ linux-osk/drivers/cbus/tahvo-usb.c @@ -535,9 +535,9 @@ static int tahvo_usb_set_peripheral(stru return 0; } -static void tahvo_usb_irq_work(void *data) +static void tahvo_usb_irq_work(struct work_struct *work) { - struct tahvo_usb *tu = (struct tahvo_usb *)data; + struct tahvo_usb *tu = container_of(work, struct tahvo_usb, irq_work); mutex_lock(&tu->serialize); check_vbus_state(tu); @@ -631,7 +631,7 @@ static int tahvo_usb_probe(struct device #endif #endif - INIT_WORK(&tu->irq_work, tahvo_usb_irq_work, tu); + INIT_WORK(&tu->irq_work, tahvo_usb_irq_work); mutex_init(&tu->serialize); /* Set initial state, so that we generate kevents only on