diff options
Diffstat (limited to 'drivers/pcmcia/ds.c')
-rw-r--r-- | drivers/pcmcia/ds.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index a20d84d707d9..e469a46a388b 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c | |||
@@ -698,9 +698,10 @@ static int pcmcia_card_add(struct pcmcia_socket *s) | |||
698 | } | 698 | } |
699 | 699 | ||
700 | 700 | ||
701 | static void pcmcia_delayed_add_pseudo_device(void *data) | 701 | static void pcmcia_delayed_add_pseudo_device(struct work_struct *work) |
702 | { | 702 | { |
703 | struct pcmcia_socket *s = data; | 703 | struct pcmcia_socket *s = |
704 | container_of(work, struct pcmcia_socket, device_add); | ||
704 | pcmcia_device_add(s, 0); | 705 | pcmcia_device_add(s, 0); |
705 | s->pcmcia_state.device_add_pending = 0; | 706 | s->pcmcia_state.device_add_pending = 0; |
706 | } | 707 | } |
@@ -1246,7 +1247,7 @@ static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev, | |||
1246 | init_waitqueue_head(&socket->queue); | 1247 | init_waitqueue_head(&socket->queue); |
1247 | #endif | 1248 | #endif |
1248 | INIT_LIST_HEAD(&socket->devices_list); | 1249 | INIT_LIST_HEAD(&socket->devices_list); |
1249 | INIT_WORK(&socket->device_add, pcmcia_delayed_add_pseudo_device, socket); | 1250 | INIT_WORK(&socket->device_add, pcmcia_delayed_add_pseudo_device); |
1250 | memset(&socket->pcmcia_state, 0, sizeof(u8)); | 1251 | memset(&socket->pcmcia_state, 0, sizeof(u8)); |
1251 | socket->device_count = 0; | 1252 | socket->device_count = 0; |
1252 | 1253 | ||