Message ID | 20231025035514.3450123-4-hamish.martin@alliedtelesis.co.nz |
---|---|
State | Accepted |
Commit | d9786159d229cdc1f579f7cf3abf464efb453e40 |
Headers | show |
Series | [1/5] HID: mcp2221: Set driver data before I2C adapter add | expand |
diff --git a/drivers/hid/hid-mcp2221.c b/drivers/hid/hid-mcp2221.c index aef0785c91cc..a219cd2e3309 100644 --- a/drivers/hid/hid-mcp2221.c +++ b/drivers/hid/hid-mcp2221.c @@ -1156,6 +1156,7 @@ static int mcp2221_probe(struct hid_device *hdev, mcp->adapter.algo = &mcp_i2c_algo; mcp->adapter.retries = 1; mcp->adapter.dev.parent = &hdev->dev; + ACPI_COMPANION_SET(&mcp->adapter.dev, ACPI_COMPANION(hdev->dev.parent)); snprintf(mcp->adapter.name, sizeof(mcp->adapter.name), "MCP2221 usb-i2c bridge");
In scenarios where an I2C device tree is defined in ACPI and exists off the MCP2221 I2C bus, the devices could not be instantiated. Mark the USB port that the MCP2221 is connected to as its ACPI companion so that the USB device can be bound to the ACPI tree when enumerated. With this change the downstream I2C tree devices can be instantiated on ACPI systems. Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz> --- drivers/hid/hid-mcp2221.c | 1 + 1 file changed, 1 insertion(+)