From 67767a5f7c6d8b48e2f43475bd4d47bb58397d6d Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 3 Apr 2018 15:16:33 +0200 Subject: HID: i2c-hid: Move i2c_hid_acpi_pdata error reporting to inside the function Log an error in all error paths of i2c_hid_acpi_pdata() instead of having the caller log a generic error. This is a preparation patch for allowing i2c_hid_acpi_pdata() to fail silently under certain conditions. Signed-off-by: Hans de Goede Signed-off-by: Jiri Kosina --- drivers/hid/i2c-hid/i2c-hid.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'drivers/hid/i2c-hid/i2c-hid.c') diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c index 97689e98e53f..78ca994e6254 100644 --- a/drivers/hid/i2c-hid/i2c-hid.c +++ b/drivers/hid/i2c-hid/i2c-hid.c @@ -874,13 +874,15 @@ static int i2c_hid_acpi_pdata(struct i2c_client *client, acpi_handle handle; handle = ACPI_HANDLE(&client->dev); - if (!handle || acpi_bus_get_device(handle, &adev)) + if (!handle || acpi_bus_get_device(handle, &adev)) { + dev_err(&client->dev, "Error could not get ACPI device\n"); return -ENODEV; + } obj = acpi_evaluate_dsm_typed(handle, &i2c_hid_guid, 1, 1, NULL, ACPI_TYPE_INTEGER); if (!obj) { - dev_err(&client->dev, "device _DSM execution failed\n"); + dev_err(&client->dev, "Error _DSM call to get HID descriptor address failed\n"); return -ENODEV; } @@ -995,11 +997,8 @@ static int i2c_hid_probe(struct i2c_client *client, goto err; } else if (!platform_data) { ret = i2c_hid_acpi_pdata(client, &ihid->pdata); - if (ret) { - dev_err(&client->dev, - "HID register address not provided\n"); + if (ret) goto err; - } } else { ihid->pdata = *platform_data; } -- cgit v1.2.3