• Arnd Bergmann's avatar
    HID: intel-ish-hid: fix module device-id handling · bf9167a8
    Arnd Bergmann authored
    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: f155dfea ("platform/x86: isthp_eclite: only load for matching devices")
    Fixes: facfe0a4 ("platform/chrome: chros_ec_ishtp: only load for matching devices")
    Fixes: 0d0cccc0 ("HID: intel-ish-hid: hid-client: only load for matching devices")
    Fixes: 44e2a58c ("HID: intel-ish-hid: fw-loader: only load for matching devices")
    Fixes: cb1a2c68 ("HID: intel-ish-hid: use constants for modaliases")
    Fixes: fa443bc3 ("HID: intel-ish-hid: add support for MODULE_DEVICE_TABLE()")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarHans 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: default avatarJiri Kosina <jkosina@suse.cz>
    bf9167a8
cros_ec_ishtp.c 21.4 KB