diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2008-07-14 03:58:44 -0400 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-07-14 04:02:05 -0400 |
commit | 7e9db9eaefdb8798730790214ff1b7746006ec98 (patch) | |
tree | a56f3ad00a018b735d3c2c645fbb2e138a72c578 /scripts/mod | |
parent | 0ae7a7b250bdf7ee87c8346164ef3c47fb79dfbd (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.c | 12 |
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" */ | ||
308 | static 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" */ |
308 | static int do_serio_entry(const char *filename, | 316 | static 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", |