2017-04-13 00:15:27

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH 1/2] hwmon: (lm85) 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]>
---

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:15:39

by Javier Martinez Canillas

[permalink] [raw]
Subject: [PATCH 2/2] hwmon: (lm85) 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

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

diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c
index c0766e7392d3..85290c9aa46f 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 = "adi,adm1024" },
+ { .compatible = "ti,lm87" },
+ { },
+};
+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