2017-04-13 00:22:03

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH v2 1/2] hwmon: (lm87) Remove unused I2C devices driver_data

The I2C device ID entries set a .driver_data but this data is never
looked up by the driver. So don't set it and also remove the enum.

Signed-off-by: Javier Martinez Canillas <[email protected]>

---

Changes in v2:
- Use the correct driver in subject line.

drivers/hwmon/lm87.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c
index 04a7a1ddb030..c0766e7392d3 100644
--- a/drivers/hwmon/lm87.c
+++ b/drivers/hwmon/lm87.c
@@ -75,8 +75,6 @@

static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };

-enum chips { lm87, adm1024 };
-
/*
* The LM87 registers
*/
@@ -981,8 +979,8 @@ static int lm87_probe(struct i2c_client *client, const struct i2c_device_id *id)
*/

static const struct i2c_device_id lm87_id[] = {
- { "lm87", lm87 },
- { "adm1024", adm1024 },
+ { "lm87", 0 },
+ { "adm1024", 0 },
{ }
};
MODULE_DEVICE_TABLE(i2c, lm87_id);
--
2.9.3


2017-04-13 00:22:08

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH v2 2/2] hwmon: (lm87) Add OF device ID table

The driver doesn't have a struct of_device_id table but supported devices
are registered via Device Trees. This is working on the assumption that a
I2C device registered via OF will always match a legacy I2C device ID and
that the MODALIAS reported will always be of the form i2c:<device>.

But this could change in the future so the correct approach is to have an
OF device ID table if the devices are registered via OF.

Signed-off-by: Javier Martinez Canillas <[email protected]>

---
Hello,

I should had included this patch in series [0] but it seems that I didn't.

[0]: https://lkml.org/lkml/2017/2/24/360

Best regards,
Javier

Changes in v2:
- Use the correct driver in subject line.
- Keep OF device ID table sorted in the same order than I2C device ID table.

drivers/hwmon/lm87.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c
index c0766e7392d3..b48d30760388 100644
--- a/drivers/hwmon/lm87.c
+++ b/drivers/hwmon/lm87.c
@@ -985,10 +985,18 @@ static const struct i2c_device_id lm87_id[] = {
};
MODULE_DEVICE_TABLE(i2c, lm87_id);

+static const struct of_device_id lm87_of_match[] = {
+ { .compatible = "ti,lm87" },
+ { .compatible = "adi,adm1024" },
+ { },
+};
+MODULE_DEVICE_TABLE(of, lm87_of_match);
+
static struct i2c_driver lm87_driver = {
.class = I2C_CLASS_HWMON,
.driver = {
.name = "lm87",
+ .of_match_table = lm87_of_match,
},
.probe = lm87_probe,
.id_table = lm87_id,
--
2.9.3

2017-04-13 13:08:23

by Guenter Roeck

[permalink] [raw]
Subject: Re: [v2,1/2] hwmon: (lm87) Remove unused I2C devices driver_data

On Wed, Apr 12, 2017 at 09:21:38PM -0300, Javier Martinez Canillas wrote:
> The I2C device ID entries set a .driver_data but this data is never
> looked up by the driver. So don't set it and also remove the enum.
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>

Applied.

Thanks,
Guenter

> ---
>
> Changes in v2:
> - Use the correct driver in subject line.
>
> drivers/hwmon/lm87.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c
> index 04a7a1ddb030..c0766e7392d3 100644
> --- a/drivers/hwmon/lm87.c
> +++ b/drivers/hwmon/lm87.c
> @@ -75,8 +75,6 @@
>
> static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
>
> -enum chips { lm87, adm1024 };
> -
> /*
> * The LM87 registers
> */
> @@ -981,8 +979,8 @@ static int lm87_probe(struct i2c_client *client, const struct i2c_device_id *id)
> */
>
> static const struct i2c_device_id lm87_id[] = {
> - { "lm87", lm87 },
> - { "adm1024", adm1024 },
> + { "lm87", 0 },
> + { "adm1024", 0 },
> { }
> };
> MODULE_DEVICE_TABLE(i2c, lm87_id);

2017-04-13 13:10:11

by Guenter Roeck

[permalink] [raw]
Subject: Re: [v2,2/2] hwmon: (lm87) Add OF device ID table

On Wed, Apr 12, 2017 at 09:21:39PM -0300, Javier Martinez Canillas wrote:
> The driver doesn't have a struct of_device_id table but supported devices
> are registered via Device Trees. This is working on the assumption that a
> I2C device registered via OF will always match a legacy I2C device ID and
> that the MODALIAS reported will always be of the form i2c:<device>.
>
> But this could change in the future so the correct approach is to have an
> OF device ID table if the devices are registered via OF.
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>

Applied.

Thanks,
Guenter

> ---
> Hello,
>
> I should had included this patch in series [0] but it seems that I didn't.
>
> [0]: https://lkml.org/lkml/2017/2/24/360
>
> Best regards,
> Javier
>
> Changes in v2:
> - Use the correct driver in subject line.
> - Keep OF device ID table sorted in the same order than I2C device ID table.
>
> drivers/hwmon/lm87.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c
> index c0766e7392d3..b48d30760388 100644
> --- a/drivers/hwmon/lm87.c
> +++ b/drivers/hwmon/lm87.c
> @@ -985,10 +985,18 @@ static const struct i2c_device_id lm87_id[] = {
> };
> MODULE_DEVICE_TABLE(i2c, lm87_id);
>
> +static const struct of_device_id lm87_of_match[] = {
> + { .compatible = "ti,lm87" },
> + { .compatible = "adi,adm1024" },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, lm87_of_match);
> +
> static struct i2c_driver lm87_driver = {
> .class = I2C_CLASS_HWMON,
> .driver = {
> .name = "lm87",
> + .of_match_table = lm87_of_match,
> },
> .probe = lm87_probe,
> .id_table = lm87_id,