On 03/29/2016 01:50 AM, Joel Stanley wrote:
This adds a of_device_id table so we can probe the driver using the
device tree.
The subject line does not match the driver being modified; it suggests adm1031
while in reality the adm1275 driver is being modified.
Signed-off-by: Joel Stanley <[email protected]>
---
Documentation/devicetree/bindings/hwmon/adm1276.txt | 21 +++++++++++++++++++++
The bindings file name doesn't match the driver file name.
Besides, this should already work, through trivial bindings.
Is there a reason to believe that it does not already work ?
Guenter
drivers/hwmon/pmbus/adm1275.c | 15 +++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hwmon/adm1276.txt
diff --git a/Documentation/devicetree/bindings/hwmon/adm1276.txt
b/Documentation/devicetree/bindings/hwmon/adm1276.txt
new file mode 100644
index 000000000000..45eb51867c1b
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/adm1276.txt
@@ -0,0 +1,21 @@
+* Analog Devices ADM1275 and compatabile power monitors
+
+Required node properties:
+
+ - compatible: manufacturer and chip name, one of
+
+ "adi,adm1075"
+ "adi,adm1275"
+ "adi,adm1276"
+ "adi,adm1278"
+ "adi,adm1293"
+ "adi,adm1294"
+
+- reg: I2C bus address of the device
+
+Example adm1275 node:
+
+power-sensor {
+ compatible = "adi,adm1278";
+ reg = <0x4c>;
+}
diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c
index 3baa4f4a8c5e..1476a127dbdb 100644
--- a/drivers/hwmon/pmbus/adm1275.c
+++ b/drivers/hwmon/pmbus/adm1275.c
@@ -22,6 +22,7 @@
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/bitops.h>
+#include <linux/of.h>
#include "pmbus.h"
enum chips { adm1075, adm1275, adm1276, adm1278, adm1293, adm1294 };
@@ -344,6 +345,19 @@ static const struct i2c_device_id adm1275_id[] = {
};
MODULE_DEVICE_TABLE(i2c, adm1275_id);
+#ifdef CONFIG_OF
+static const struct of_device_id adm1275_of_match[] = {
+ { .compatible = "adi,adm1075" },
+ { .compatible = "adi,adm1275" },
+ { .compatible = "adi,adm1276" },
+ { .compatible = "adi,adm1278" },
+ { .compatible = "adi,adm1293" },
+ { .compatible = "adi,adm1294" },
+ { }
+};
+MODULE_DEVICE_TABLE(of, adm1275_of_match);
+#endif
+
static int adm1275_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
@@ -598,6 +612,7 @@ static int adm1275_probe(struct i2c_client *client,
static struct i2c_driver adm1275_driver = {
.driver = {
.name = "adm1275",
+ .of_match_table = of_match_ptr(adm1275_of_match),
},
.probe = adm1275_probe,
.remove = pmbus_do_remove,
--
To unsubscribe from this list: send the line "unsubscribe linux-hwmon" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html