diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2003-05-25 23:34:34 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-05-25 23:34:34 -0700 |
commit | 674084941e3bdad3b414c492b78f44c861896d70 (patch) | |
tree | 6ebfbbaaa75cabc3e80c9836db59ed773e540fbd /scripts | |
parent | 0b1a47c2d46b9539b5a29e9e88f3ae1f1acbd438 (diff) | |
download | history-674084941e3bdad3b414c492b78f44c861896d70.tar.gz |
[PATCH] s390: module alias support.
Add module alias support for ccw devices.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/file2alias.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/file2alias.c b/scripts/file2alias.c index b2700f747136e..8c707215b8344 100644 --- a/scripts/file2alias.c +++ b/scripts/file2alias.c @@ -147,6 +147,28 @@ static int do_pci_entry(const char *filename, return 1; } +/* looks like: "ccw:tNmNdtNdmN" */ +static int do_ccw_entry(const char *filename, + struct ccw_device_id *id, char *alias) +{ + id->match_flags = TO_NATIVE(id->match_flags); + id->cu_type = TO_NATIVE(id->cu_type); + id->cu_model = TO_NATIVE(id->cu_model); + id->dev_type = TO_NATIVE(id->dev_type); + id->dev_model = TO_NATIVE(id->dev_model); + + strcpy(alias, "ccw:"); + ADD(alias, "t", id->match_flags&CCW_DEVICE_ID_MATCH_CU_TYPE, + id->cu_type); + ADD(alias, "m", id->match_flags&CCW_DEVICE_ID_MATCH_CU_MODEL, + id->cu_model); + ADD(alias, "dt", id->match_flags&CCW_DEVICE_ID_MATCH_DEVICE_TYPE, + id->dev_type); + ADD(alias, "dm", id->match_flags&CCW_DEVICE_ID_MATCH_DEVICE_TYPE, + id->dev_model); + return 1; +} + /* Ignore any prefix, eg. v850 prepends _ */ static inline int sym_is(const char *symbol, const char *name) { @@ -210,6 +232,9 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, else if (sym_is(symname, "__mod_ieee1394_device_table")) do_table(symval, sym->st_size, sizeof(struct ieee1394_device_id), do_ieee1394_entry, mod); + else if (sym_is(symname, "__mod_ccw_device_table")) + do_table(symval, sym->st_size, sizeof(struct ccw_device_id), + do_ccw_entry, mod); } /* Now add out buffered information to the generated C source */ |