aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/mod
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2008-07-14 03:58:44 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:05 -0400
commit7e9db9eaefdb8798730790214ff1b7746006ec98 (patch)
treea56f3ad00a018b735d3c2c645fbb2e138a72c578 /scripts/mod
parent0ae7a7b250bdf7ee87c8346164ef3c47fb79dfbd (diff)
[S390] cio: Introduce modalias for css bus.
Add modalias and subchannel type attributes for all subchannels. I/O subchannel specific attributes are now created in io_subchannel_probe(). modalias and subchannel type are also added to the uevent for the css bus. Also make the css modalias known. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'scripts/mod')
-rw-r--r--scripts/mod/file2alias.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index cea4a790e1e9..37d5c363fbcd 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -304,6 +304,14 @@ static int do_ap_entry(const char *filename,
304 return 1; 304 return 1;
305} 305}
306 306
307/* looks like: "css:tN" */
308static int do_css_entry(const char *filename,
309 struct css_device_id *id, char *alias)
310{
311 sprintf(alias, "css:t%01X", id->type);
312 return 1;
313}
314
307/* Looks like: "serio:tyNprNidNexN" */ 315/* Looks like: "serio:tyNprNidNexN" */
308static int do_serio_entry(const char *filename, 316static int do_serio_entry(const char *filename,
309 struct serio_device_id *id, char *alias) 317 struct serio_device_id *id, char *alias)
@@ -680,6 +688,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
680 do_table(symval, sym->st_size, 688 do_table(symval, sym->st_size,
681 sizeof(struct ap_device_id), "ap", 689 sizeof(struct ap_device_id), "ap",
682 do_ap_entry, mod); 690 do_ap_entry, mod);
691 else if (sym_is(symname, "__mod_css_device_table"))
692 do_table(symval, sym->st_size,
693 sizeof(struct css_device_id), "css",
694 do_css_entry, mod);
683 else if (sym_is(symname, "__mod_serio_device_table")) 695 else if (sym_is(symname, "__mod_serio_device_table"))
684 do_table(symval, sym->st_size, 696 do_table(symval, sym->st_size,
685 sizeof(struct serio_device_id), "serio", 697 sizeof(struct serio_device_id), "serio",