This series of patches introduces the CAN channel ID for the PEAK USB CAN interfaces. The id can be read/written via ethtool and is exposed as a read-only attribute via sysfs. This allows users to set the id via ethtool and write udev rules to match against the sysfs attribute. Part of the patches were originally introduced by Stéphane Grosjean and were modified slightly. See the following threads for the original patches: * https://lore.kernel.org/linux-can/20220128150157.1222850-1-s.grosjean@xxxxxxxxxxxxxxx/T/#mad8014c9f1c89a50d5944a50ae0a585edec79eab * https://lore.kernel.org/linux-can/20211117150132.37056-1-s.grosjean@xxxxxxxxxxxxxxx/T/#mbf1d7db8433734a1fe08868d79f9927a04fe7ffe v3: * Fix the issues raised on netdev * Rename user device ID to CAN channel ID to make the 1-to-N mapping between USB device and exposed CAN channels more obvious v2: * Fix type of devid_le in ethtool peak_usb_(get|set)_eeprom * Fix signed-off tags Stéphane Grosjean (5): can: peak_usb: rename device_id to CAN channel ID can: peak_usb: add callback to read CAN channel ID of can: peak_usb: allow flashing of the CAN channel ID can: peak_usb: replace unregister_netdev() with can: peak_usb: add ethtool interface to Lukas Magel (3): can: peak_usb: export PCAN CAN channel ID as sysfs can: peak_usb: align CAN channel ID format in log with can: peak_usb: Reorder include directives .../ABI/testing/sysfs-class-net-peak_usb | 19 +++ drivers/net/can/usb/peak_usb/pcan_usb.c | 45 +++++-- drivers/net/can/usb/peak_usb/pcan_usb_core.c | 122 +++++++++++++++++-- drivers/net/can/usb/peak_usb/pcan_usb_core.h | 12 +- drivers/net/can/usb/peak_usb/pcan_usb_fd.c | 68 +++++++++-- drivers/net/can/usb/peak_usb/pcan_usb_pro.c | 30 ++++- drivers/net/can/usb/peak_usb/pcan_usb_pro.h | 1 + 7 files changed, 266 insertions(+), 31 deletions(-)