Skip to content

Commit adada3f

Browse files
akihikodakiJiri Kosina
authored andcommitted
HID: AMD_SFH: Add a DMI quirk entry for Chromebooks
Google Chromebooks use Chrome OS Embedded Controller Sensor Hub instead of Sensor Hub Fusion and leaves MP2 uninitialized, which disables all functionalities, even including the registers necessary for feature detections. The behavior was observed with Lenovo ThinkPad C13 Yoga. Signed-off-by: Akihiko Odaki <[email protected]> Suggested-by: Mario Limonciello <[email protected]> Acked-by: Basavaraj Natikar <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent d9a1765 commit adada3f

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

drivers/hid/amd-sfh-hid/amd_sfh_pcie.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,29 @@ int amd_sfh_irq_init(struct amd_mp2_dev *privdata)
288288
return 0;
289289
}
290290

291+
static const struct dmi_system_id dmi_nodevs[] = {
292+
{
293+
/*
294+
* Google Chromebooks use Chrome OS Embedded Controller Sensor
295+
* Hub instead of Sensor Hub Fusion and leaves MP2
296+
* uninitialized, which disables all functionalities, even
297+
* including the registers necessary for feature detections.
298+
*/
299+
.matches = {
300+
DMI_MATCH(DMI_SYS_VENDOR, "Google"),
301+
},
302+
},
303+
{ }
304+
};
305+
291306
static int amd_mp2_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
292307
{
293308
struct amd_mp2_dev *privdata;
294309
int rc;
295310

311+
if (dmi_first_match(dmi_nodevs))
312+
return -ENODEV;
313+
296314
privdata = devm_kzalloc(&pdev->dev, sizeof(*privdata), GFP_KERNEL);
297315
if (!privdata)
298316
return -ENOMEM;

0 commit comments

Comments
 (0)