diff options
author | Michael Tokarev <mjt@tls.mks.ru> | 2006-09-27 04:50:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-27 11:26:19 -0400 |
commit | 07563c711fbc25389e58ab9c9f0b9de2fce56760 (patch) | |
tree | aadbe41b9303c636a2c44169680613b8b56d5006 /drivers/scsi | |
parent | ebba5f9fcb882306bef7175dee987342ec6fcf2f (diff) |
[PATCH] EISA bus MODALIAS attributes support
Add modalias attribute support for the almost forgotten now EISA bus and
(at least some) EISA-aware modules.
The modalias entry looks like (for an 3c509 NIC):
eisa:sTCM5093
and the in-module alias like:
eisa:sTCM5093*
The patch moves struct eisa_device_id declaration from include/linux/eisa.h
to include/linux/mod_devicetable.h (so that the former now #includes the
latter), adds proper MODULE_DEVICE_TABLE(eisa, ...) statements for all
drivers with EISA IDs I found (some drivers already have that DEVICE_TABLE
declared), and adds recognision of __mod_eisa_device_table to
scripts/mod/file2alias.c so that proper modules.alias will be generated.
There's no support for /lib/modules/$kver/modules.eisamap, as it's not used
by any existing tools, and because with in-kernel modalias mechanism those
maps are obsolete anyway.
The rationale for this patch is:
a) to make EISA bus to act as other busses with modalias
support, to unify driver loading
b) to foget about EISA finally - with this patch, kernel
(who still supports EISA) will be the only one who knows
how to choose the necessary drivers for this bus ;)
[akpm@osdl.org: fix the kbuild bit]
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Acked-the-net-bits-by: Jeff Garzik <jeff@garzik.org>
Acked-the-tulip-bit-by: Valerie Henson <val_henson@linux.intel.com>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/aha1740.c | 1 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic7770_osm.c | 3 | ||||
-rw-r--r-- | drivers/scsi/sim710.c | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c index 0e4a7ebe300a..6b35ed8301e0 100644 --- a/drivers/scsi/aha1740.c +++ b/drivers/scsi/aha1740.c | |||
@@ -681,6 +681,7 @@ static struct eisa_device_id aha1740_ids[] = { | |||
681 | { "ADP0400" }, /* 1744 */ | 681 | { "ADP0400" }, /* 1744 */ |
682 | { "" } | 682 | { "" } |
683 | }; | 683 | }; |
684 | MODULE_DEVICE_TABLE(eisa, aha1740_ids); | ||
684 | 685 | ||
685 | static struct eisa_driver aha1740_driver = { | 686 | static struct eisa_driver aha1740_driver = { |
686 | .id_table = aha1740_ids, | 687 | .id_table = aha1740_ids, |
diff --git a/drivers/scsi/aic7xxx/aic7770_osm.c b/drivers/scsi/aic7xxx/aic7770_osm.c index 867cbe23579b..1ac119733bac 100644 --- a/drivers/scsi/aic7xxx/aic7770_osm.c +++ b/drivers/scsi/aic7xxx/aic7770_osm.c | |||
@@ -132,7 +132,8 @@ static struct eisa_device_id aic7770_ids[] = { | |||
132 | { "ADP7770", 5 }, /* AIC7770 generic */ | 132 | { "ADP7770", 5 }, /* AIC7770 generic */ |
133 | { "" } | 133 | { "" } |
134 | }; | 134 | }; |
135 | 135 | MODULE_DEVICE_TABLE(eisa, aic7770_ids); | |
136 | |||
136 | static struct eisa_driver aic7770_driver = { | 137 | static struct eisa_driver aic7770_driver = { |
137 | .id_table = aic7770_ids, | 138 | .id_table = aic7770_ids, |
138 | .driver = { | 139 | .driver = { |
diff --git a/drivers/scsi/sim710.c b/drivers/scsi/sim710.c index b27e85428daa..551baccec523 100644 --- a/drivers/scsi/sim710.c +++ b/drivers/scsi/sim710.c | |||
@@ -282,6 +282,7 @@ static struct eisa_device_id sim710_eisa_ids[] = { | |||
282 | { "HWP0C80" }, | 282 | { "HWP0C80" }, |
283 | { "" } | 283 | { "" } |
284 | }; | 284 | }; |
285 | MODULE_DEVICE_TABLE(eisa, sim710_eisa_ids); | ||
285 | 286 | ||
286 | static __init int | 287 | static __init int |
287 | sim710_eisa_probe(struct device *dev) | 288 | sim710_eisa_probe(struct device *dev) |