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.
Showing the changes to scripts (1 of 7 files). Show all
Unified · Split
| @@ -304,6 +304,14 @@ static int do_ap_entry(const char *filename, · 303 unmodified lines | ||
| 304 | 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 | 315 | /* Looks like: "serio:tyNprNidNexN" */ |
| 308 | 316 | static int do_serio_entry(const char *filename, |
| 309 | 317 | struct serio_device_id *id, char *alias) |
| @@ -680,6 +688,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, · 370 unmodified lines | ||
| 680 | 688 | do_table(symval, sym->st_size, |
| 681 | 689 | sizeof(struct ap_device_id), "ap", |
| 682 | 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 | 695 | else if (sym_is(symname, "__mod_serio_device_table")) |
| 684 | 696 | do_table(symval, sym->st_size, |
| 685 | 697 | sizeof(struct serio_device_id), "serio", |