From: Dominik Brodowski struct pcmcia_callback isn't needed for each socket, one is enough for all sockets. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton --- drivers/pcmcia/ds.c | 12 +++++++----- drivers/pcmcia/ds_internal.h | 1 - 2 files changed, 7 insertions(+), 6 deletions(-) diff -puN drivers/pcmcia/ds.c~pcmcia-clean-up-cs-ds-callback drivers/pcmcia/ds.c --- 25/drivers/pcmcia/ds.c~pcmcia-clean-up-cs-ds-callback Mon Jun 20 17:04:14 2005 +++ 25-akpm/drivers/pcmcia/ds.c Mon Jun 20 17:04:16 2005 @@ -1167,6 +1167,12 @@ int pcmcia_deregister_client(client_hand } /* deregister_client */ EXPORT_SYMBOL(pcmcia_deregister_client); +static struct pcmcia_callback pcmcia_bus_callback = { + .owner = THIS_MODULE, + .event = ds_event, + .requery = pcmcia_bus_rescan, +}; + static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev) { struct pcmcia_socket *socket = class_get_devdata(class_dev); @@ -1201,12 +1207,9 @@ static int __devinit pcmcia_bus_add_sock INIT_WORK(&s->device_add, pcmcia_delayed_add_pseudo_device, s); /* Set up hotline to Card Services */ - s->callback.owner = THIS_MODULE; - s->callback.event = &ds_event; - s->callback.requery = &pcmcia_bus_rescan; socket->pcmcia = s; - ret = pccard_register_pcmcia(socket, &s->callback); + ret = pccard_register_pcmcia(socket, &pcmcia_bus_callback); if (ret) { printk(KERN_ERR "PCMCIA registration PCCard core failed for socket %p\n", socket); pcmcia_put_bus_socket(s); @@ -1217,7 +1220,6 @@ static int __devinit pcmcia_bus_add_sock return 0; } - static void pcmcia_bus_remove_socket(struct class_device *class_dev) { struct pcmcia_socket *socket = class_get_devdata(class_dev); diff -puN drivers/pcmcia/ds_internal.h~pcmcia-clean-up-cs-ds-callback drivers/pcmcia/ds_internal.h --- 25/drivers/pcmcia/ds_internal.h~pcmcia-clean-up-cs-ds-callback Mon Jun 20 17:04:14 2005 +++ 25-akpm/drivers/pcmcia/ds_internal.h Mon Jun 20 17:04:14 2005 @@ -5,7 +5,6 @@ struct user_info_t; /* Socket state information */ struct pcmcia_bus_socket { struct kref refcount; - struct pcmcia_callback callback; int state; struct pcmcia_socket *parent; _