summaryrefslogtreecommitdiff
path: root/include/linux/mod_devicetable.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2021-11-11 11:56:33 +0300
committerJiri Kosina <jkosina@suse.cz>2021-11-12 00:45:40 +0300
commitbf9167a8b40c9cf463521da05342db81808c1b6e (patch)
tree6881766bd1e96d0d0bc47467b37bd7eda5f272f6 /include/linux/mod_devicetable.h
parent64355db3caf6468dc711995239efe0cbcd7d0091 (diff)
downloadlinux-bf9167a8b40c9cf463521da05342db81808c1b6e.tar.xz
HID: intel-ish-hid: fix module device-id handling
A late addititon to the intel-ish-hid framework caused a build failure with clang, and introduced an ABI to the module loader that stops working if any driver ever needs to bind to more than one UUID: drivers/hid/intel-ish-hid/ishtp-fw-loader.c:1067:4: error: initializer element is not a compile-time constant Change the ishtp_device_id to have correct documentation and a driver_data field like all the other ones, and change the drivers to use the ID table as the primary identification in a way that works with all compilers and avoids duplciating the identifiers. Fixes: f155dfeaa4ee ("platform/x86: isthp_eclite: only load for matching devices") Fixes: facfe0a4fdce ("platform/chrome: chros_ec_ishtp: only load for matching devices") Fixes: 0d0cccc0fd83 ("HID: intel-ish-hid: hid-client: only load for matching devices") Fixes: 44e2a58cb880 ("HID: intel-ish-hid: fw-loader: only load for matching devices") Fixes: cb1a2c6847f7 ("HID: intel-ish-hid: use constants for modaliases") Fixes: fa443bc3c1e4 ("HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE()") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Hans de Goede <hdegoede@redhat.com> [jkosina@suse.cz: fix ecl_ishtp_cl_driver.id initialization] [jkosina@suse.cz: fix conflict with already fixed kerneldoc] Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/mod_devicetable.h')
-rw-r--r--include/linux/mod_devicetable.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index c70abe7aaef2..4bb71979a8fd 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -902,9 +902,11 @@ struct dfl_device_id {
/**
* struct ishtp_device_id - ISHTP device identifier
* @guid: GUID of the device.
+ * @driver_data: pointer to driver specific data
*/
struct ishtp_device_id {
guid_t guid;
+ kernel_ulong_t driver_data;
};
#endif /* LINUX_MOD_DEVICETABLE_H */