diff mbox

HID: i2c-hid: Do not set the ACPI companion field in the HID device

Message ID 1433281580-8319-1-git-send-email-aduggan@synaptics.com (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Andrew Duggan June 2, 2015, 9:46 p.m. UTC
The HID device does not need to know about the ACPI device associated with
the underlying i2c device. Setting the ACPI companion field in the HID device
also has the side effect of causing HID to be set as wake capable, since
acpi_bind_one uses's the companion ACPI device's wakeup flags to set the
device as wake capable. Which results in power/wakeup files in sysfs for
the HID device which do not do anything.

Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
---
 drivers/hid/i2c-hid/i2c-hid.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Benson Leung June 2, 2015, 11:44 p.m. UTC | #1
On Tue, Jun 2, 2015 at 2:46 PM, Andrew Duggan <aduggan@synaptics.com> wrote:
> The HID device does not need to know about the ACPI device associated with
> the underlying i2c device. Setting the ACPI companion field in the HID device
> also has the side effect of causing HID to be set as wake capable, since
> acpi_bind_one uses's the companion ACPI device's wakeup flags to set the
> device as wake capable. Which results in power/wakeup files in sysfs for
> the HID device which do not do anything.
>
> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>

Reviewed-by: Benson Leung <bleung@chromium.org>
Tested-by: Benson Leung <bleung@chromium.org>

> ---
>  drivers/hid/i2c-hid/i2c-hid.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
> index 92d6cdf..0dfb5d1 100644
> --- a/drivers/hid/i2c-hid/i2c-hid.c
> +++ b/drivers/hid/i2c-hid/i2c-hid.c
> @@ -1019,7 +1019,6 @@ static int i2c_hid_probe(struct i2c_client *client,
>         hid->driver_data = client;
>         hid->ll_driver = &i2c_hid_ll_driver;
>         hid->dev.parent = &client->dev;
> -       ACPI_COMPANION_SET(&hid->dev, ACPI_COMPANION(&client->dev));
>         hid->bus = BUS_I2C;
>         hid->version = le16_to_cpu(ihid->hdesc.bcdVersion);
>         hid->vendor = le16_to_cpu(ihid->hdesc.wVendorID);
> --
> 2.1.4
>
Mika Westerberg June 3, 2015, 6:51 a.m. UTC | #2
On Tue, Jun 02, 2015 at 02:46:20PM -0700, Andrew Duggan wrote:
> The HID device does not need to know about the ACPI device associated with
> the underlying i2c device. Setting the ACPI companion field in the HID device
> also has the side effect of causing HID to be set as wake capable, since
> acpi_bind_one uses's the companion ACPI device's wakeup flags to set the
> device as wake capable. Which results in power/wakeup files in sysfs for
> the HID device which do not do anything.
> 
> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Kosina June 3, 2015, 8:46 a.m. UTC | #3
On Tue, 2 Jun 2015, Andrew Duggan wrote:

> The HID device does not need to know about the ACPI device associated with
> the underlying i2c device. Setting the ACPI companion field in the HID device
> also has the side effect of causing HID to be set as wake capable, since
> acpi_bind_one uses's the companion ACPI device's wakeup flags to set the
> device as wake capable. Which results in power/wakeup files in sysfs for
> the HID device which do not do anything.
> 
> Signed-off-by: Andrew Duggan <aduggan@synaptics.com>

Applied to for-4.2/i2c-hid.
diff mbox

Patch

diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index 92d6cdf..0dfb5d1 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -1019,7 +1019,6 @@  static int i2c_hid_probe(struct i2c_client *client,
 	hid->driver_data = client;
 	hid->ll_driver = &i2c_hid_ll_driver;
 	hid->dev.parent = &client->dev;
-	ACPI_COMPANION_SET(&hid->dev, ACPI_COMPANION(&client->dev));
 	hid->bus = BUS_I2C;
 	hid->version = le16_to_cpu(ihid->hdesc.bcdVersion);
 	hid->vendor = le16_to_cpu(ihid->hdesc.wVendorID);