Commit ee90f62b authored by Linus Torvalds's avatar Linus Torvalds
parents 70ac5516 807277cb
...@@ -513,6 +513,11 @@ static int socket_insert(struct pcmcia_socket *skt) ...@@ -513,6 +513,11 @@ static int socket_insert(struct pcmcia_socket *skt)
ret = socket_setup(skt, setup_delay); ret = socket_setup(skt, setup_delay);
if (ret == CS_SUCCESS) { if (ret == CS_SUCCESS) {
skt->state |= SOCKET_PRESENT; skt->state |= SOCKET_PRESENT;
printk(KERN_NOTICE "pccard: %s card inserted into slot %d\n",
(skt->state & SOCKET_CARDBUS) ? "CardBus" : "PCMCIA",
skt->sock);
#ifdef CONFIG_CARDBUS #ifdef CONFIG_CARDBUS
if (skt->state & SOCKET_CARDBUS) { if (skt->state & SOCKET_CARDBUS) {
cb_alloc(skt); cb_alloc(skt);
...@@ -598,6 +603,7 @@ static int socket_resume(struct pcmcia_socket *skt) ...@@ -598,6 +603,7 @@ static int socket_resume(struct pcmcia_socket *skt)
static void socket_remove(struct pcmcia_socket *skt) static void socket_remove(struct pcmcia_socket *skt)
{ {
printk(KERN_NOTICE "pccard: card ejected from slot %d\n", skt->sock);
socket_shutdown(skt); socket_shutdown(skt);
cs_socket_put(skt); cs_socket_put(skt);
} }
......
...@@ -544,6 +544,9 @@ struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s, unsigned int f ...@@ -544,6 +544,9 @@ struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s, unsigned int f
list_add_tail(&p_dev->socket_device_list, &s->devices_list); list_add_tail(&p_dev->socket_device_list, &s->devices_list);
spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags); spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
printk(KERN_NOTICE "pcmcia: registering new device %s\n",
p_dev->devname);
pcmcia_device_query(p_dev); pcmcia_device_query(p_dev);
if (device_register(&p_dev->dev)) { if (device_register(&p_dev->dev)) {
......
...@@ -1339,10 +1339,7 @@ static struct device_driver i82365_driver = { ...@@ -1339,10 +1339,7 @@ static struct device_driver i82365_driver = {
.resume = pcmcia_socket_dev_resume, .resume = pcmcia_socket_dev_resume,
}; };
static struct platform_device i82365_device = { static struct platform_device *i82365_device;
.name = "i82365",
.id = 0,
};
static int __init init_i82365(void) static int __init init_i82365(void)
{ {
...@@ -1352,7 +1349,14 @@ static int __init init_i82365(void) ...@@ -1352,7 +1349,14 @@ static int __init init_i82365(void)
if (ret) if (ret)
return ret; return ret;
ret = platform_device_register(&i82365_device); i82365_device = platform_device_alloc("i82365", 0);
if (i82365_device) {
ret = platform_device_add(i82365_device);
if (ret)
platform_device_put(i82365_device);
} else
ret = -ENOMEM;
if (ret) { if (ret) {
driver_unregister(&i82365_driver); driver_unregister(&i82365_driver);
return ret; return ret;
...@@ -1365,7 +1369,7 @@ static int __init init_i82365(void) ...@@ -1365,7 +1369,7 @@ static int __init init_i82365(void)
if (sockets == 0) { if (sockets == 0) {
printk("not found.\n"); printk("not found.\n");
platform_device_unregister(&i82365_device); platform_device_unregister(i82365_device);
release_region(i365_base, 2); release_region(i365_base, 2);
driver_unregister(&i82365_driver); driver_unregister(&i82365_driver);
return -ENODEV; return -ENODEV;
...@@ -1377,7 +1381,7 @@ static int __init init_i82365(void) ...@@ -1377,7 +1381,7 @@ static int __init init_i82365(void)
/* register sockets with the pcmcia core */ /* register sockets with the pcmcia core */
for (i = 0; i < sockets; i++) { for (i = 0; i < sockets; i++) {
socket[i].socket.dev.dev = &i82365_device.dev; socket[i].socket.dev.dev = &i82365_device->dev;
socket[i].socket.ops = &pcic_operations; socket[i].socket.ops = &pcic_operations;
socket[i].socket.resource_ops = &pccard_nonstatic_ops; socket[i].socket.resource_ops = &pccard_nonstatic_ops;
socket[i].socket.owner = THIS_MODULE; socket[i].socket.owner = THIS_MODULE;
...@@ -1415,7 +1419,7 @@ static void __exit exit_i82365(void) ...@@ -1415,7 +1419,7 @@ static void __exit exit_i82365(void)
if (socket[i].flags & IS_REGISTERED) if (socket[i].flags & IS_REGISTERED)
pcmcia_unregister_socket(&socket[i].socket); pcmcia_unregister_socket(&socket[i].socket);
} }
platform_device_unregister(&i82365_device); platform_device_unregister(i82365_device);
if (poll_interval != 0) if (poll_interval != 0)
del_timer_sync(&poll_timer); del_timer_sync(&poll_timer);
if (grab_irq != 0) if (grab_irq != 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment