bus: hisi_lpc: Don't fail probe for unrecognised child devices
authorJohn Garry <john.garry@huawei.com>
Thu, 3 Jan 2019 11:57:02 +0000 (19:57 +0800)
committerWei Xu <xuwei5@hisilicon.com>
Fri, 8 Feb 2019 09:18:53 +0000 (09:18 +0000)
Currently for ACPI-based FW we fail the probe for an unrecognised child
HID.

However, there is FW in the field with LPC child devices having fake HIDs,
namely "IPI0002", which was an IPMI device invented to support the
initial out-of-tree LPC host driver, different from the final mainline
version.

To provide compatibility support for these dodgy FWs, just discard the
unrecognised HIDs instead of failing the probe altogether.

Tested-by: Zengruan Ye <yezengruan@huawei.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
drivers/bus/hisi_lpc.c

index d5f8545..19d7b6f 100644 (file)
@@ -522,10 +522,9 @@ static int hisi_lpc_acpi_probe(struct device *hostdev)
 
                if (!found) {
                        dev_warn(hostdev,
-                                "could not find cell for child device (%s)\n",
+                                "could not find cell for child device (%s), discarding\n",
                                 hid);
-                       ret = -ENODEV;
-                       goto fail;
+                       continue;
                }
 
                pdev = platform_device_alloc(cell->name, PLATFORM_DEVID_AUTO);