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 d5f85455fa6216fc2c7660e5f543f5aab71f50f5..19d7b6ff2f1793b23d1e80507d733b4de3f8d9b8 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);