diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2005-06-27 19:28:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-27 21:03:13 -0400 |
commit | 11d28a30219671607a235a518f395659599a748e (patch) | |
tree | c2a97ed3f5bbcbd4388fc40f28bd14bd3d42e419 /drivers/mtd | |
parent | 9c7046cd06c66bd81b285d15e422faeecdc9ca82 (diff) |
[PATCH] pcmcia: id_table for pcmciamtd.c
Add pcmcia_device_id table to pcmciamtd. The binding of anonymus cards (i.e.
those who do neither report MANFID, CARDID, FUNCID nor product strings) is
protected by a new config option.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/maps/Kconfig | 10 | ||||
-rw-r--r-- | drivers/mtd/maps/pcmciamtd.c | 29 |
2 files changed, 38 insertions, 1 deletions
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig index 8480057eadb4..2bea2e0b06f2 100644 --- a/drivers/mtd/maps/Kconfig +++ b/drivers/mtd/maps/Kconfig | |||
@@ -607,6 +607,16 @@ config MTD_PCMCIA | |||
607 | cards are usually around 4-16MiB in size. This does not include | 607 | cards are usually around 4-16MiB in size. This does not include |
608 | Compact Flash cards which are treated as IDE devices. | 608 | Compact Flash cards which are treated as IDE devices. |
609 | 609 | ||
610 | config MTD_PCMCIA_ANONYMOUS | ||
611 | bool "Use PCMCIA MTD drivers for anonymous PCMCIA cards" | ||
612 | depends on MTD_PCMCIA | ||
613 | default N | ||
614 | help | ||
615 | If this option is enabled, PCMCIA cards which do not report | ||
616 | anything about themselves are assumed to be MTD cards. | ||
617 | |||
618 | If unsure, say N. | ||
619 | |||
610 | config MTD_UCLINUX | 620 | config MTD_UCLINUX |
611 | tristate "Generic uClinux RAM/ROM filesystem support" | 621 | tristate "Generic uClinux RAM/ROM filesystem support" |
612 | depends on MTD_PARTITIONS && !MMU | 622 | depends on MTD_PARTITIONS && !MMU |
diff --git a/drivers/mtd/maps/pcmciamtd.c b/drivers/mtd/maps/pcmciamtd.c index e37b4c1976e5..c2655a817e3d 100644 --- a/drivers/mtd/maps/pcmciamtd.c +++ b/drivers/mtd/maps/pcmciamtd.c | |||
@@ -818,6 +818,32 @@ static dev_link_t *pcmciamtd_attach(void) | |||
818 | return link; | 818 | return link; |
819 | } | 819 | } |
820 | 820 | ||
821 | static struct pcmcia_device_id pcmciamtd_ids[] = { | ||
822 | PCMCIA_DEVICE_FUNC_ID(1), | ||
823 | PCMCIA_DEVICE_PROD_ID123("IO DATA", "PCS-2M", "2MB SRAM", 0x547e66dc, 0x1fed36cd, 0x36eadd21), | ||
824 | PCMCIA_DEVICE_PROD_ID12("IBM", "2MB SRAM", 0xb569a6e5, 0x36eadd21), | ||
825 | PCMCIA_DEVICE_PROD_ID12("IBM", "4MB FLASH", 0xb569a6e5, 0x8bc54d2a), | ||
826 | PCMCIA_DEVICE_PROD_ID12("IBM", "8MB FLASH", 0xb569a6e5, 0x6df1be3e), | ||
827 | PCMCIA_DEVICE_PROD_ID12("Intel", "S2E20SW", 0x816cc815, 0xd14c9dcf), | ||
828 | PCMCIA_DEVICE_PROD_ID12("Intel", "S2E8 SW", 0x816cc815, 0xa2d7dedb), | ||
829 | PCMCIA_DEVICE_PROD_ID12("intel", "SERIES2-02 ", 0x40ade711, 0x145cea5c), | ||
830 | PCMCIA_DEVICE_PROD_ID12("intel", "SERIES2-04 ", 0x40ade711, 0x42064dda), | ||
831 | PCMCIA_DEVICE_PROD_ID12("intel", "SERIES2-20 ", 0x40ade711, 0x25ee5cb0), | ||
832 | PCMCIA_DEVICE_PROD_ID12("intel", "VALUE SERIES 100 ", 0x40ade711, 0xdf8506d8), | ||
833 | PCMCIA_DEVICE_PROD_ID12("KINGMAX TECHNOLOGY INC.", "SRAM 256K Bytes", 0x54d0c69c, 0xad12c29c), | ||
834 | PCMCIA_DEVICE_PROD_ID12("Maxtor", "MAXFL MobileMax Flash Memory Card", 0xb68968c8, 0x2dfb47b0), | ||
835 | PCMCIA_DEVICE_PROD_ID12("SEIKO EPSON", "WWB101EN20", 0xf9876baf, 0xad0b207b), | ||
836 | PCMCIA_DEVICE_PROD_ID12("SEIKO EPSON", "WWB513EN20", 0xf9876baf, 0xe8d884ad), | ||
837 | PCMCIA_DEVICE_PROD_ID12("Starfish, Inc.", "REX-3000", 0x05ddca47, 0xe7d67bca), | ||
838 | PCMCIA_DEVICE_PROD_ID12("Starfish, Inc.", "REX-4100", 0x05ddca47, 0x7bc32944), | ||
839 | /* the following was commented out in pcmcia-cs-3.2.7 */ | ||
840 | /* PCMCIA_DEVICE_PROD_ID12("RATOC Systems,Inc.", "SmartMedia ADAPTER PC Card", 0xf4a2fefe, 0x5885b2ae), */ | ||
841 | #ifdef CONFIG_MTD_PCMCIA_ANONYMOUS | ||
842 | { .match_flags = PCMCIA_DEV_ID_MATCH_ANONYMOUS, }, | ||
843 | #endif | ||
844 | PCMCIA_DEVICE_NULL | ||
845 | }; | ||
846 | MODULE_DEVICE_TABLE(pcmcia, pcmciamtd_ids); | ||
821 | 847 | ||
822 | static struct pcmcia_driver pcmciamtd_driver = { | 848 | static struct pcmcia_driver pcmciamtd_driver = { |
823 | .drv = { | 849 | .drv = { |
@@ -825,7 +851,8 @@ static struct pcmcia_driver pcmciamtd_driver = { | |||
825 | }, | 851 | }, |
826 | .attach = pcmciamtd_attach, | 852 | .attach = pcmciamtd_attach, |
827 | .detach = pcmciamtd_detach, | 853 | .detach = pcmciamtd_detach, |
828 | .owner = THIS_MODULE | 854 | .owner = THIS_MODULE, |
855 | .id_table = pcmciamtd_ids, | ||
829 | }; | 856 | }; |
830 | 857 | ||
831 | 858 | ||