diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2021-07-06 10:07:15 +0200 |
---|---|---|
committer | Dan Horák <dan@danny.cz> | 2021-07-08 09:13:34 +0200 |
commit | 4b1fc32788a3f443e13a80c2a848535d2ee59fcd (patch) | |
tree | a4e2c5e37c6c4e3a260943678a9a7fbad8f79a88 | |
parent | fd41fd536b1182281af587cfccc0d61802af920b (diff) | |
download | utils-4b1fc32788a3f443e13a80c2a848535d2ee59fcd.tar.gz utils-4b1fc32788a3f443e13a80c2a848535d2ee59fcd.tar.xz utils-4b1fc32788a3f443e13a80c2a848535d2ee59fcd.zip |
ccw.udev: match BIND uevent for ccw network devices
Instead of matching the ADD uevent for a hard-coded list of ccw device
types, wait until the device is actually bound to a driver that follows
the ccwgroup model. This way we don't need to maintain a hard-coded list
of device types, and avoid trying to apply a configuration for devices
that the kernel drivers don't even support.
Also when building the ccwgroup device via /sys/bus/ccwgroup/.../group,
the ccwgroup bus code requires that the ccw devices are bound to the
correct ccw_driver. So matching the ADD uevent seems too early.
This eliminates support of some truly ancient device types (P390, CLAW),
and allows for phasing out support of eg. OSN and OSX.
Note that this requires kernel-side support that was added in 4.14
with commit 1455cf8dbfd0 ("driver core: emit uevents when device is
bound to a driver").
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
-rw-r--r-- | ccw.udev | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -1,13 +1,4 @@ -ACTION!="add|change", GOTO="ccw_end" +ACTION!="bind|change", GOTO="ccw_end" SUBSYSTEM!="ccw", GOTO="ccw_end" -ATTRS{cutype}=="1731/01", RUN+="ccw_init" -ATTRS{cutype}=="1731/02", RUN+="ccw_init" -ATTRS{cutype}=="1731/05", RUN+="ccw_init" -ATTRS{cutype}=="1731/06", RUN+="ccw_init" -ATTRS{cutype}=="3088/01", RUN+="ccw_init" -ATTRS{cutype}=="3088/08", RUN+="ccw_init" -ATTRS{cutype}=="3088/60", RUN+="ccw_init" -ATTRS{cutype}=="3088/61", RUN+="ccw_init" -ATTRS{cutype}=="3088/1e", RUN+="ccw_init" -ATTRS{cutype}=="3088/1f", RUN+="ccw_init" +DRIVER=="ctcm|lcs|qeth", RUN+="ccw_init" LABEL="ccw_end" |