Messages in this thread Patch in this message | | | Date | Fri, 7 Mar 2003 00:30:47 +0100 | From | Dominik Brodowski <> | Subject | [PATCH] pcmcia: it works again! [Was: Re: [PATCH] Re: pcmcia no worky in 2.5.6[32]] |
| |
Hi Linus,
On Thu, Mar 06, 2003 at 01:07:58PM +1100, Brett wrote: > > Yes: platform_match within the pcmcia core wasn't doing was it was supposed > > to do... and it still doesn't work in 2.5.64. So could you please try if it > > works with this patch against 2.5.64? > > Yep, the patch fixed it. > Now happy in 2.5.64 with pcmcia again > > many thanks, > > / Brett
please apply this patch:
platform_device_register may only be called after all class-specific device data is initialized, or else the class-type add_device call (which enables the pcmcia sockets) will fail.
hd64465_ss.c | 2 +- i82365.c | 4 ++-- tcic.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-)
Dominik
diff -ruN linux-original/drivers/pcmcia/hd64465_ss.c linux/drivers/pcmcia/hd64465_ss.c --- linux-original/drivers/pcmcia/hd64465_ss.c 2003-03-05 07:19:13.000000000 +0100 +++ linux/drivers/pcmcia/hd64465_ss.c 2003-03-05 07:35:34.000000000 +0100 @@ -1070,8 +1070,8 @@ } /* hd64465_io_debug = 0; */ - platform_device_register(&hd64465_device); hd64465_device.dev.class_data = &hd64465_data; + platform_device_register(&hd64465_device); return 0; } diff -ruN linux-original/drivers/pcmcia/i82365.c linux/drivers/pcmcia/i82365.c --- linux-original/drivers/pcmcia/i82365.c 2003-03-05 07:19:13.000000000 +0100 +++ linux/drivers/pcmcia/i82365.c 2003-03-05 07:35:34.000000000 +0100 @@ -1628,11 +1628,11 @@ request_irq(cs_irq, pcic_interrupt, 0, "i82365", pcic_interrupt); #endif - platform_device_register(&i82365_device); - i82365_data.nsock = sockets; i82365_device.dev.class_data = &i82365_data; + platform_device_register(&i82365_device); + /* Finally, schedule a polling interrupt */ if (poll_interval != 0) { poll_timer.function = pcic_interrupt_wrapper; diff -ruN linux-original/drivers/pcmcia/tcic.c linux/drivers/pcmcia/tcic.c --- linux-original/drivers/pcmcia/tcic.c 2003-03-05 07:19:13.000000000 +0100 +++ linux/drivers/pcmcia/tcic.c 2003-03-05 07:35:34.000000000 +0100 @@ -452,8 +452,6 @@ sockets++; } - platform_device_register(&tcic_device); - switch (socket_table[0].id) { case TCIC_ID_DB86082: printk("DB86082"); break; @@ -527,6 +525,8 @@ tcic_data.nsock = sockets; tcic_device.dev.class_data = &tcic_data; + platform_device_register(&tcic_device); + return 0; } /* init_tcic */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |