--xesSdrSSBC0PokLI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi all, Here's a resend of the patch to fix the 2.4 PCMCIA linear flash cards. Looks like I was using the non-working sourceforge address for David Hinds. CC:ing Marcelo Tosatti too. The patch is against 2.4.17, but works on other recent kernels too. (I just tested it against 2.4.19-pre4) Linear flash card are rarely used, but are needed to boot some embedded systems, like the AMD ELAN. They are also used in some Cisco routers. Just FYI, here's some Linux related projects where linear flash cards may be used: Wireless access points running Linux: http://opensource.instant802.com/ Alios boot loader for AMD ELAN: http://www.telos.de/linux/alios/default_e.htm Read Cisco flash cards from Linux: ftp://ftp.bbc.co.uk/pub/ciscoflash/ Here's a short description of the fix: Basically there were two problems; The RegisterMTD ioctl was accidentally dropped at some point, so the flash cards would not register. Then the reference to the flash card memory window was incorrect, so the cards were not seen, and the flash drivers would not unload after use. Regards, Tony --xesSdrSSBC0PokLI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename="linux-2.4.17-pcmcia-mtd.patch" diff -urN -X ./dontdiff linux-2.4.17-vanilla/drivers/pcmcia/bulkmem.c linux-2.4.17-tony/drivers/pcmcia/bulkmem.c --- linux-2.4.17-vanilla/drivers/pcmcia/bulkmem.c Sun Aug 12 17:37:53 2001 +++ linux-2.4.17-tony/drivers/pcmcia/bulkmem.c Sat Jan 26 21:41:49 2002 @@ -300,7 +300,7 @@ { window_handle_t w; int ret = pcmcia_request_window(a1, a2, &w); - (window_handle_t *)a1 = w; + *(window_handle_t *)a1 = w; return ret; } break; diff -urN -X ./dontdiff linux-2.4.17-vanilla/drivers/pcmcia/cs.c linux-2.4.17-tony/drivers/pcmcia/cs.c --- linux-2.4.17-vanilla/drivers/pcmcia/cs.c Fri Dec 21 09:41:55 2001 +++ linux-2.4.17-tony/drivers/pcmcia/cs.c Sat Jan 26 21:41:15 2002 @@ -2283,9 +2283,8 @@ *(eraseq_handle_t *)a1 = w; return ret; } - break; -/* return pcmcia_register_erase_queue(a1, a2); break; */ - + break; + case RegisterMTD: return pcmcia_register_mtd(a1, a2); break; case ReleaseConfiguration: return pcmcia_release_configuration(a1); break; --xesSdrSSBC0PokLI-- - 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/