2018-04-10 09:58:03

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH] Input: atmel_mxt_ts - add missing compatible strings to OF device table

Commit af503716ac14 ("i2c: core: report OF style module alias for devices
registered via OF") fixed how the I2C core reports the module alias when
devices are registered via OF.

But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
OF device ID table, so if a Device Tree is using a different one, autoload
won't be working for the module (the matching works because the I2C device
ID table is used as a fallback).

So add compatible strings for each of the entries in the I2C device table.

Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
Reported-by: Enric Balletbo i Serra <[email protected]>
Signed-off-by: Javier Martinez Canillas <[email protected]>
---

Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 6 +++++-
drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++++
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
index 23e3abc3fdef..cd43fb8bc2ce 100644
--- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
+++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
@@ -1,8 +1,12 @@
Atmel maXTouch touchscreen/touchpad

Required properties:
-- compatible:
+- compatible: Must be one of the following
+ atmel,qt602240_ts
+ atmel,atmel_mxt_ts
+ atmel,atmel_mxt_tp
atmel,maxtouch
+ atmel,mXT224

- reg: The I2C address of the device

diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 7659bc48f1db..e8ef83f168d6 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -3238,7 +3238,11 @@ static int __maybe_unused mxt_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(mxt_pm_ops, mxt_suspend, mxt_resume);

static const struct of_device_id mxt_of_match[] = {
+ { .compatible = "atmel,qt602240_ts", },
+ { .compatible = "atmel,atmel_mxt_ts", },
+ { .compatible = "atmel,atmel_mxt_tp", },
{ .compatible = "atmel,maxtouch", },
+ { .compatible = "atmel,mXT224", },
{},
};
MODULE_DEVICE_TABLE(of, mxt_of_match);
--
2.14.3



2018-04-10 10:24:43

by Enric Balletbo Serra

[permalink] [raw]
Subject: Re: [PATCH] Input: atmel_mxt_ts - add missing compatible strings to OF device table

Thanks Javier!

2018-04-10 11:53 GMT+02:00 Javier Martinez Canillas <[email protected]>:
> Commit af503716ac14 ("i2c: core: report OF style module alias for devices
> registered via OF") fixed how the I2C core reports the module alias when
> devices are registered via OF.
>
> But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
> OF device ID table, so if a Device Tree is using a different one, autoload
> won't be working for the module (the matching works because the I2C device
> ID table is used as a fallback).
>
> So add compatible strings for each of the entries in the I2C device table.
>
> Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
> Reported-by: Enric Balletbo i Serra <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 6 +++++-
> drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> index 23e3abc3fdef..cd43fb8bc2ce 100644
> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> @@ -1,8 +1,12 @@
> Atmel maXTouch touchscreen/touchpad
>
> Required properties:
> -- compatible:
> +- compatible: Must be one of the following
> + atmel,qt602240_ts
> + atmel,atmel_mxt_ts
> + atmel,atmel_mxt_tp
> atmel,maxtouch
> + atmel,mXT224
>
> - reg: The I2C address of the device
>
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index 7659bc48f1db..e8ef83f168d6 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
> @@ -3238,7 +3238,11 @@ static int __maybe_unused mxt_resume(struct device *dev)
> static SIMPLE_DEV_PM_OPS(mxt_pm_ops, mxt_suspend, mxt_resume);
>
> static const struct of_device_id mxt_of_match[] = {
> + { .compatible = "atmel,qt602240_ts", },
> + { .compatible = "atmel,atmel_mxt_ts", },
> + { .compatible = "atmel,atmel_mxt_tp", },
> { .compatible = "atmel,maxtouch", },
> + { .compatible = "atmel,mXT224", },
> {},
> };
> MODULE_DEVICE_TABLE(of, mxt_of_match);
> --
> 2.14.3
>

The Samsung Chromebook Plus is one of the affected devices, with
current mainline the module is not autoloaded, this patch fixes the
issue.

Tested-by: Enric Balletbo i Serra <[email protected]>

2018-04-13 21:12:42

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] Input: atmel_mxt_ts - add missing compatible strings to OF device table

On Tue, Apr 10, 2018 at 11:53:40AM +0200, Javier Martinez Canillas wrote:
> Commit af503716ac14 ("i2c: core: report OF style module alias for devices
> registered via OF") fixed how the I2C core reports the module alias when
> devices are registered via OF.
>
> But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
> OF device ID table, so if a Device Tree is using a different one, autoload
> won't be working for the module (the matching works because the I2C device
> ID table is used as a fallback).
>
> So add compatible strings for each of the entries in the I2C device table.
>
> Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
> Reported-by: Enric Balletbo i Serra <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 6 +++++-
> drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++++
> 2 files changed, 9 insertions(+), 1 deletion(-)

Reviewed-by: Rob Herring <[email protected]>

2018-05-01 18:49:24

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: atmel_mxt_ts - add missing compatible strings to OF device table

On Tue, Apr 10, 2018 at 11:53:40AM +0200, Javier Martinez Canillas wrote:
> Commit af503716ac14 ("i2c: core: report OF style module alias for devices
> registered via OF") fixed how the I2C core reports the module alias when
> devices are registered via OF.
>
> But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
> OF device ID table, so if a Device Tree is using a different one, autoload
> won't be working for the module (the matching works because the I2C device
> ID table is used as a fallback).
>
> So add compatible strings for each of the entries in the I2C device table.
>
> Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
> Reported-by: Enric Balletbo i Serra <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> ---
>
> Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 6 +++++-
> drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> index 23e3abc3fdef..cd43fb8bc2ce 100644
> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
> @@ -1,8 +1,12 @@
> Atmel maXTouch touchscreen/touchpad
>
> Required properties:
> -- compatible:
> +- compatible: Must be one of the following
> + atmel,qt602240_ts
> + atmel,atmel_mxt_ts
> + atmel,atmel_mxt_tp
> atmel,maxtouch
> + atmel,mXT224

I do not think we should document ad-hoc compatible strings that were
introduced by various vendors as the documented ones, so I'd rather
dropped this chunk and leave only "atmel,maxtouch" as compatible that
everyone should be using.

The changes to the driver to support the existing DTSes can of course be
applied.

Rob, any objections?

>
> - reg: The I2C address of the device
>
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index 7659bc48f1db..e8ef83f168d6 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
> @@ -3238,7 +3238,11 @@ static int __maybe_unused mxt_resume(struct device *dev)
> static SIMPLE_DEV_PM_OPS(mxt_pm_ops, mxt_suspend, mxt_resume);
>
> static const struct of_device_id mxt_of_match[] = {
> + { .compatible = "atmel,qt602240_ts", },
> + { .compatible = "atmel,atmel_mxt_ts", },
> + { .compatible = "atmel,atmel_mxt_tp", },
> { .compatible = "atmel,maxtouch", },
> + { .compatible = "atmel,mXT224", },
> {},
> };
> MODULE_DEVICE_TABLE(of, mxt_of_match);
> --
> 2.14.3
>

Thanks.

--
Dmitry

2018-05-01 19:42:56

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] Input: atmel_mxt_ts - add missing compatible strings to OF device table

On Tue, May 1, 2018 at 1:48 PM, Dmitry Torokhov
<[email protected]> wrote:
> On Tue, Apr 10, 2018 at 11:53:40AM +0200, Javier Martinez Canillas wrote:
>> Commit af503716ac14 ("i2c: core: report OF style module alias for devices
>> registered via OF") fixed how the I2C core reports the module alias when
>> devices are registered via OF.
>>
>> But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
>> OF device ID table, so if a Device Tree is using a different one, autoload
>> won't be working for the module (the matching works because the I2C device
>> ID table is used as a fallback).
>>
>> So add compatible strings for each of the entries in the I2C device table.
>>
>> Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
>> Reported-by: Enric Balletbo i Serra <[email protected]>
>> Signed-off-by: Javier Martinez Canillas <[email protected]>
>> ---
>>
>> Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 6 +++++-
>> drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++++
>> 2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
>> index 23e3abc3fdef..cd43fb8bc2ce 100644
>> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
>> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
>> @@ -1,8 +1,12 @@
>> Atmel maXTouch touchscreen/touchpad
>>
>> Required properties:
>> -- compatible:
>> +- compatible: Must be one of the following
>> + atmel,qt602240_ts
>> + atmel,atmel_mxt_ts
>> + atmel,atmel_mxt_tp
>> atmel,maxtouch
>> + atmel,mXT224
>
> I do not think we should document ad-hoc compatible strings that were
> introduced by various vendors as the documented ones, so I'd rather
> dropped this chunk and leave only "atmel,maxtouch" as compatible that
> everyone should be using.
>
> The changes to the driver to support the existing DTSes can of course be
> applied.
>
> Rob, any objections?

I'd prefer we list them in the binding as deprecated. Then we document
somewhere besides this thread to not use them.

And there are 3 dts changes needed as well:

$ git grep atmel,mXT224
$ git grep atmel,qt6
$ git grep atmel,atmel_mxt
arch/arm/boot/dts/at91-sama5d4ek.dts:
compatible = "atmel,atmel_mxt_ts";
arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts:
compatible = "atmel,atmel_mxt_tp";
arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts:
compatible = "atmel,atmel_mxt_ts";

Rob

2018-05-01 20:57:52

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH v2] Input: atmel_mxt_ts - add missing compatible strings to OF device table

From: Javier Martinez Canillas <[email protected]>

Commit af503716ac14 ("i2c: core: report OF style module alias for devices
registered via OF") fixed how the I2C core reports the module alias when
devices are registered via OF.

But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
OF device ID table, so if a Device Tree is using a different one, autoload
won't be working for the module (the matching works because the I2C device
ID table is used as a fallback).

So add compatible strings for each of the entries in the I2C device table.

Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
Reported-by: Enric Balletbo i Serra <[email protected]>
Signed-off-by: Javier Martinez Canillas <[email protected]>
Tested-by: Enric Balletbo i Serra <[email protected]>
[dtor: document which compatibles are deprecated and should not be used]
Signed-off-by: Dmitry Torokhov <[email protected]>
---
.../devicetree/bindings/input/atmel,maxtouch.txt | 7 +++++++
drivers/input/touchscreen/atmel_mxt_ts.c | 5 +++++
2 files changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
index 23e3abc3fdef0..c88919480d373 100644
--- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
+++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt
@@ -4,6 +4,13 @@ Required properties:
- compatible:
atmel,maxtouch

+ The following compatibles have been used in various products but are
+ deprecated:
+ atmel,qt602240_ts
+ atmel,atmel_mxt_ts
+ atmel,atmel_mxt_tp
+ atmel,mXT224
+
- reg: The I2C address of the device

- interrupts: The sink for the touchpad's IRQ output
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 5f41c1860f403..779dbfcc0eded 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -3297,6 +3297,11 @@ static SIMPLE_DEV_PM_OPS(mxt_pm_ops, mxt_suspend, mxt_resume);

static const struct of_device_id mxt_of_match[] = {
{ .compatible = "atmel,maxtouch", },
+ /* Compatibles listed below are deprecated */
+ { .compatible = "atmel,qt602240_ts", },
+ { .compatible = "atmel,atmel_mxt_ts", },
+ { .compatible = "atmel,atmel_mxt_tp", },
+ { .compatible = "atmel,mXT224", },
{},
};
MODULE_DEVICE_TABLE(of, mxt_of_match);


2018-05-01 21:34:05

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2] Input: atmel_mxt_ts - add missing compatible strings to OF device table

On Tue, May 1, 2018 at 3:57 PM, Dmitry Torokhov
<[email protected]> wrote:
> From: Javier Martinez Canillas <[email protected]>
>
> Commit af503716ac14 ("i2c: core: report OF style module alias for devices
> registered via OF") fixed how the I2C core reports the module alias when
> devices are registered via OF.
>
> But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
> OF device ID table, so if a Device Tree is using a different one, autoload
> won't be working for the module (the matching works because the I2C device
> ID table is used as a fallback).
>
> So add compatible strings for each of the entries in the I2C device table.
>
> Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
> Reported-by: Enric Balletbo i Serra <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> Tested-by: Enric Balletbo i Serra <[email protected]>
> [dtor: document which compatibles are deprecated and should not be used]
> Signed-off-by: Dmitry Torokhov <[email protected]>
> ---
> .../devicetree/bindings/input/atmel,maxtouch.txt | 7 +++++++
> drivers/input/touchscreen/atmel_mxt_ts.c | 5 +++++
> 2 files changed, 12 insertions(+)

Reviewed-by: Rob Herring <[email protected]>

Someone is going to make the dts updates, right?

2018-05-01 22:49:55

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH v2] Input: atmel_mxt_ts - add missing compatible strings to OF device table

On Tue, May 01, 2018 at 04:33:07PM -0500, Rob Herring wrote:
> On Tue, May 1, 2018 at 3:57 PM, Dmitry Torokhov
> <[email protected]> wrote:
> > From: Javier Martinez Canillas <[email protected]>
> >
> > Commit af503716ac14 ("i2c: core: report OF style module alias for devices
> > registered via OF") fixed how the I2C core reports the module alias when
> > devices are registered via OF.
> >
> > But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
> > OF device ID table, so if a Device Tree is using a different one, autoload
> > won't be working for the module (the matching works because the I2C device
> > ID table is used as a fallback).
> >
> > So add compatible strings for each of the entries in the I2C device table.
> >
> > Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
> > Reported-by: Enric Balletbo i Serra <[email protected]>
> > Signed-off-by: Javier Martinez Canillas <[email protected]>
> > Tested-by: Enric Balletbo i Serra <[email protected]>
> > [dtor: document which compatibles are deprecated and should not be used]
> > Signed-off-by: Dmitry Torokhov <[email protected]>
> > ---
> > .../devicetree/bindings/input/atmel,maxtouch.txt | 7 +++++++
> > drivers/input/touchscreen/atmel_mxt_ts.c | 5 +++++
> > 2 files changed, 12 insertions(+)
>
> Reviewed-by: Rob Herring <[email protected]>
>
> Someone is going to make the dts updates, right?

I sent out 2 patches...

--
Dmitry

2018-05-02 18:37:14

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH v2] Input: atmel_mxt_ts - add missing compatible strings to OF device table

Hi Dmitry,

On 05/01/2018 10:57 PM, Dmitry Torokhov wrote:
> From: Javier Martinez Canillas <[email protected]>
>
> Commit af503716ac14 ("i2c: core: report OF style module alias for devices
> registered via OF") fixed how the I2C core reports the module alias when
> devices are registered via OF.
>
> But the atmel_mxt_ts driver only has an "atmel,maxtouch" compatible in its
> OF device ID table, so if a Device Tree is using a different one, autoload
> won't be working for the module (the matching works because the I2C device
> ID table is used as a fallback).
>
> So add compatible strings for each of the entries in the I2C device table.
>
> Fixes: af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
> Reported-by: Enric Balletbo i Serra <[email protected]>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
> Tested-by: Enric Balletbo i Serra <[email protected]>
> [dtor: document which compatibles are deprecated and should not be used]
> Signed-off-by: Dmitry Torokhov <[email protected]>

Thanks for taking care of this. Yes, I should had added as deprecated indeed.

Best regards,
Javier