mirror of
https://github.com/torvalds/linux.git
synced 2026-01-12 00:42:35 +08:00
HID: intel-ish-hid: Update ishtp bus match to support device ID table
The ishtp_cl_bus_match() function previously only checked the first entry in the driver's device ID table. Update it to iterate over the entire table, allowing proper matching for drivers with multiple supported protocol GUIDs. Signed-off-by: Zhang Lixu <lixu.zhang@intel.com> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
This commit is contained in:
committed by
Benjamin Tissoires
parent
0e13150c1a
commit
daeed86b68
@@ -240,9 +240,17 @@ static int ishtp_cl_bus_match(struct device *dev, const struct device_driver *dr
|
||||
{
|
||||
struct ishtp_cl_device *device = to_ishtp_cl_device(dev);
|
||||
struct ishtp_cl_driver *driver = to_ishtp_cl_driver(drv);
|
||||
struct ishtp_fw_client *client = device->fw_client;
|
||||
const struct ishtp_device_id *id;
|
||||
|
||||
return(device->fw_client ? guid_equal(&driver->id[0].guid,
|
||||
&device->fw_client->props.protocol_name) : 0);
|
||||
if (client) {
|
||||
for (id = driver->id; !guid_is_null(&id->guid); id++) {
|
||||
if (guid_equal(&id->guid, &client->props.protocol_name))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user