drivers/pcmcia/cs.c | 4 ++-- drivers/pcmcia/i82092.c | 2 +- drivers/pcmcia/i82365.c | 2 +- drivers/pcmcia/sa11xx_core.c | 5 +---- drivers/pcmcia/tcic.c | 2 +- drivers/pcmcia/yenta_socket.c | 2 +- include/pcmcia/ss.h | 2 +- 7 files changed, 8 insertions(+), 11 deletions(-) diff -puN drivers/pcmcia/cs.c~pcmcia-event-20030623-1 drivers/pcmcia/cs.c --- 25/drivers/pcmcia/cs.c~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/drivers/pcmcia/cs.c 2003-06-23 15:36:21.000000000 -0700 @@ -235,11 +235,11 @@ static int register_callback(struct pcmc { int error; - if (handler && !try_module_get(s->ss_entry->owner)) + if (handler && !try_module_get(s->owner)) return -ENODEV; error = s->ss_entry->register_callback(s, handler, info); if (!handler) - module_put(s->ss_entry->owner); + module_put(s->owner); return error; } diff -puN drivers/pcmcia/i82092.c~pcmcia-event-20030623-1 drivers/pcmcia/i82092.c --- 25/drivers/pcmcia/i82092.c~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/drivers/pcmcia/i82092.c 2003-06-23 15:36:21.000000000 -0700 @@ -64,7 +64,6 @@ static struct pci_driver i82092aa_pci_dr /* the pccard structure and its functions */ static struct pccard_operations i82092aa_operations = { - .owner = THIS_MODULE, .init = i82092aa_init, .suspend = i82092aa_suspend, .register_callback = i82092aa_register_callback, @@ -142,6 +141,7 @@ static int __init i82092aa_pci_probe(str sockets[i].socket.map_size = 0x1000; sockets[i].socket.irq_mask = 0; sockets[i].socket.pci_irq = dev->irq; + sockets[i].socket.owner = THIS_MODULE; sockets[i].number = i; diff -puN drivers/pcmcia/i82365.c~pcmcia-event-20030623-1 drivers/pcmcia/i82365.c --- 25/drivers/pcmcia/i82365.c~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/drivers/pcmcia/i82365.c 2003-06-23 15:36:21.000000000 -0700 @@ -1400,7 +1400,6 @@ static int pcic_suspend(struct pcmcia_so } static struct pccard_operations pcic_operations = { - .owner = THIS_MODULE, .init = pcic_init, .suspend = pcic_suspend, .register_callback = pcic_register_callback, @@ -1464,6 +1463,7 @@ static int __init init_i82365(void) for (i = 0; i < sockets; i++) { socket[i].socket.dev.dev = &i82365_device.dev; socket[i].socket.ss_entry = &pcic_operations; + socket[i].socket.owner = THIS_MODULE; socket[i].number = i; ret = pcmcia_register_socket(&socket[i].socket); if (ret && i--) { diff -puN drivers/pcmcia/sa11xx_core.c~pcmcia-event-20030623-1 drivers/pcmcia/sa11xx_core.c --- 25/drivers/pcmcia/sa11xx_core.c~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/drivers/pcmcia/sa11xx_core.c 2003-06-23 15:36:21.000000000 -0700 @@ -356,13 +356,10 @@ sa1100_pcmcia_register_callback(struct p struct sa1100_pcmcia_socket *skt = to_sa1100_socket(sock); if (handler) { - if (!try_module_get(skt->ops->owner)) - return -ENODEV; skt->handler_info = info; skt->handler = handler; } else { skt->handler = NULL; - module_put(skt->ops->owner); } return 0; @@ -655,7 +652,6 @@ static CLASS_DEVICE_ATTR(status, S_IRUGO static struct pccard_operations sa11xx_pcmcia_operations = { - .owner = THIS_MODULE, .init = sa1100_pcmcia_sock_init, .suspend = sa1100_pcmcia_suspend, .register_callback = sa1100_pcmcia_register_callback, @@ -765,6 +761,7 @@ int sa11xx_drv_pcmcia_probe(struct devic memset(skt, 0, sizeof(*skt)); skt->socket.ss_entry = &sa11xx_pcmcia_operations; + skt->socket.owner = ops->owner; skt->socket.dev.dev = dev; INIT_WORK(&skt->work, sa1100_pcmcia_task_handler, skt); diff -puN drivers/pcmcia/tcic.c~pcmcia-event-20030623-1 drivers/pcmcia/tcic.c --- 25/drivers/pcmcia/tcic.c~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/drivers/pcmcia/tcic.c 2003-06-23 15:36:21.000000000 -0700 @@ -437,6 +437,7 @@ static int __init init_tcic(void) socket_table[sockets].info = NULL; socket_table[sockets].id = get_tcic_id(); + socket_table[sockets].socket.owner = THIS_MODULE; /* only 16-bit cards, memory windows must be size-aligned */ /* No PCI or CardBus support */ socket_table[sockets].socket.features = SS_CAP_PCCARD | SS_CAP_MEM_ALIGN; @@ -915,7 +916,6 @@ static int tcic_suspend(struct pcmcia_so } static struct pccard_operations tcic_operations = { - .owner = THIS_MODULE, .init = tcic_init, .suspend = tcic_suspend, .register_callback = tcic_register_callback, diff -puN drivers/pcmcia/yenta_socket.c~pcmcia-event-20030623-1 drivers/pcmcia/yenta_socket.c --- 25/drivers/pcmcia/yenta_socket.c~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/drivers/pcmcia/yenta_socket.c 2003-06-23 15:36:21.000000000 -0700 @@ -782,7 +782,6 @@ static int yenta_register_callback(struc static struct pccard_operations yenta_socket_operations = { - .owner = THIS_MODULE, .init = yenta_init, .suspend = yenta_suspend, .register_callback = yenta_register_callback, @@ -860,6 +859,7 @@ static int __devinit yenta_probe (struct socket->socket.ss_entry = ¥ta_socket_operations; socket->socket.dev.dev = &dev->dev; socket->socket.driver_data = socket; + socket->socket.owner = THIS_MODULE; /* prepare struct yenta_socket */ socket->dev = dev; diff -puN include/pcmcia/ss.h~pcmcia-event-20030623-1 include/pcmcia/ss.h --- 25/include/pcmcia/ss.h~pcmcia-event-20030623-1 2003-06-23 15:36:21.000000000 -0700 +++ 25-akpm/include/pcmcia/ss.h 2003-06-23 15:36:21.000000000 -0700 @@ -119,7 +119,6 @@ typedef struct cb_bridge_map { struct pcmcia_socket; struct pccard_operations { - struct module *owner; int (*init)(struct pcmcia_socket *sock); int (*suspend)(struct pcmcia_socket *sock); int (*register_callback)(struct pcmcia_socket *sock, void (*handler)(void *, unsigned int), void * info); @@ -169,6 +168,7 @@ struct config_t; struct region_t; struct pcmcia_socket { + struct module *owner; spinlock_t lock; struct pccard_operations * ss_entry; socket_state_t socket; _