Loading drivers/iio/adc/max1363.c +60 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ #include <linux/slab.h> #include <linux/err.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_device.h> #include <linux/iio/iio.h> #include <linux/iio/sysfs.h> Loading Loading @@ -1517,6 +1519,56 @@ static irqreturn_t max1363_trigger_handler(int irq, void *p) return IRQ_HANDLED; } #ifdef CONFIG_OF #define MAX1363_COMPATIBLE(of_compatible, cfg) { \ .compatible = of_compatible, \ .data = &max1363_chip_info_tbl[cfg], \ } static const struct of_device_id max1363_of_match[] = { MAX1363_COMPATIBLE("maxim,max1361", max1361), MAX1363_COMPATIBLE("maxim,max1362", max1362), MAX1363_COMPATIBLE("maxim,max1363", max1363), MAX1363_COMPATIBLE("maxim,max1364", max1364), MAX1363_COMPATIBLE("maxim,max1036", max1036), MAX1363_COMPATIBLE("maxim,max1037", max1037), MAX1363_COMPATIBLE("maxim,max1038", max1038), MAX1363_COMPATIBLE("maxim,max1039", max1039), MAX1363_COMPATIBLE("maxim,max1136", max1136), MAX1363_COMPATIBLE("maxim,max1137", max1137), MAX1363_COMPATIBLE("maxim,max1138", max1138), MAX1363_COMPATIBLE("maxim,max1139", max1139), MAX1363_COMPATIBLE("maxim,max1236", max1236), MAX1363_COMPATIBLE("maxim,max1237", max1237), MAX1363_COMPATIBLE("maxim,max1238", max1238), MAX1363_COMPATIBLE("maxim,max1239", max1239), MAX1363_COMPATIBLE("maxim,max11600", max11600), MAX1363_COMPATIBLE("maxim,max11601", max11601), MAX1363_COMPATIBLE("maxim,max11602", max11602), MAX1363_COMPATIBLE("maxim,max11603", max11603), MAX1363_COMPATIBLE("maxim,max11604", max11604), MAX1363_COMPATIBLE("maxim,max11605", max11605), MAX1363_COMPATIBLE("maxim,max11606", max11606), MAX1363_COMPATIBLE("maxim,max11607", max11607), MAX1363_COMPATIBLE("maxim,max11608", max11608), MAX1363_COMPATIBLE("maxim,max11609", max11609), MAX1363_COMPATIBLE("maxim,max11610", max11610), MAX1363_COMPATIBLE("maxim,max11611", max11611), MAX1363_COMPATIBLE("maxim,max11612", max11612), MAX1363_COMPATIBLE("maxim,max11613", max11613), MAX1363_COMPATIBLE("maxim,max11614", max11614), MAX1363_COMPATIBLE("maxim,max11615", max11615), MAX1363_COMPATIBLE("maxim,max11616", max11616), MAX1363_COMPATIBLE("maxim,max11617", max11617), MAX1363_COMPATIBLE("maxim,max11644", max11644), MAX1363_COMPATIBLE("maxim,max11645", max11645), MAX1363_COMPATIBLE("maxim,max11646", max11646), MAX1363_COMPATIBLE("maxim,max11647", max11647), { /* sentinel */ } }; #endif static int max1363_probe(struct i2c_client *client, const struct i2c_device_id *id) { Loading @@ -1524,6 +1576,7 @@ static int max1363_probe(struct i2c_client *client, struct max1363_state *st; struct iio_dev *indio_dev; struct regulator *vref; const struct of_device_id *match; indio_dev = devm_iio_device_alloc(&client->dev, sizeof(struct max1363_state)); Loading @@ -1550,6 +1603,11 @@ static int max1363_probe(struct i2c_client *client, /* this is only used for device removal purposes */ i2c_set_clientdata(client, indio_dev); match = of_match_device(of_match_ptr(max1363_of_match), &client->dev); if (match) st->chip_info = of_device_get_match_data(&client->dev); else st->chip_info = &max1363_chip_info_tbl[id->driver_data]; st->client = client; Loading Loading @@ -1693,6 +1751,7 @@ MODULE_DEVICE_TABLE(i2c, max1363_id); static struct i2c_driver max1363_driver = { .driver = { .name = "max1363", .of_match_table = of_match_ptr(max1363_of_match), }, .probe = max1363_probe, .remove = max1363_remove, Loading Loading
drivers/iio/adc/max1363.c +60 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,8 @@ #include <linux/slab.h> #include <linux/err.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_device.h> #include <linux/iio/iio.h> #include <linux/iio/sysfs.h> Loading Loading @@ -1517,6 +1519,56 @@ static irqreturn_t max1363_trigger_handler(int irq, void *p) return IRQ_HANDLED; } #ifdef CONFIG_OF #define MAX1363_COMPATIBLE(of_compatible, cfg) { \ .compatible = of_compatible, \ .data = &max1363_chip_info_tbl[cfg], \ } static const struct of_device_id max1363_of_match[] = { MAX1363_COMPATIBLE("maxim,max1361", max1361), MAX1363_COMPATIBLE("maxim,max1362", max1362), MAX1363_COMPATIBLE("maxim,max1363", max1363), MAX1363_COMPATIBLE("maxim,max1364", max1364), MAX1363_COMPATIBLE("maxim,max1036", max1036), MAX1363_COMPATIBLE("maxim,max1037", max1037), MAX1363_COMPATIBLE("maxim,max1038", max1038), MAX1363_COMPATIBLE("maxim,max1039", max1039), MAX1363_COMPATIBLE("maxim,max1136", max1136), MAX1363_COMPATIBLE("maxim,max1137", max1137), MAX1363_COMPATIBLE("maxim,max1138", max1138), MAX1363_COMPATIBLE("maxim,max1139", max1139), MAX1363_COMPATIBLE("maxim,max1236", max1236), MAX1363_COMPATIBLE("maxim,max1237", max1237), MAX1363_COMPATIBLE("maxim,max1238", max1238), MAX1363_COMPATIBLE("maxim,max1239", max1239), MAX1363_COMPATIBLE("maxim,max11600", max11600), MAX1363_COMPATIBLE("maxim,max11601", max11601), MAX1363_COMPATIBLE("maxim,max11602", max11602), MAX1363_COMPATIBLE("maxim,max11603", max11603), MAX1363_COMPATIBLE("maxim,max11604", max11604), MAX1363_COMPATIBLE("maxim,max11605", max11605), MAX1363_COMPATIBLE("maxim,max11606", max11606), MAX1363_COMPATIBLE("maxim,max11607", max11607), MAX1363_COMPATIBLE("maxim,max11608", max11608), MAX1363_COMPATIBLE("maxim,max11609", max11609), MAX1363_COMPATIBLE("maxim,max11610", max11610), MAX1363_COMPATIBLE("maxim,max11611", max11611), MAX1363_COMPATIBLE("maxim,max11612", max11612), MAX1363_COMPATIBLE("maxim,max11613", max11613), MAX1363_COMPATIBLE("maxim,max11614", max11614), MAX1363_COMPATIBLE("maxim,max11615", max11615), MAX1363_COMPATIBLE("maxim,max11616", max11616), MAX1363_COMPATIBLE("maxim,max11617", max11617), MAX1363_COMPATIBLE("maxim,max11644", max11644), MAX1363_COMPATIBLE("maxim,max11645", max11645), MAX1363_COMPATIBLE("maxim,max11646", max11646), MAX1363_COMPATIBLE("maxim,max11647", max11647), { /* sentinel */ } }; #endif static int max1363_probe(struct i2c_client *client, const struct i2c_device_id *id) { Loading @@ -1524,6 +1576,7 @@ static int max1363_probe(struct i2c_client *client, struct max1363_state *st; struct iio_dev *indio_dev; struct regulator *vref; const struct of_device_id *match; indio_dev = devm_iio_device_alloc(&client->dev, sizeof(struct max1363_state)); Loading @@ -1550,6 +1603,11 @@ static int max1363_probe(struct i2c_client *client, /* this is only used for device removal purposes */ i2c_set_clientdata(client, indio_dev); match = of_match_device(of_match_ptr(max1363_of_match), &client->dev); if (match) st->chip_info = of_device_get_match_data(&client->dev); else st->chip_info = &max1363_chip_info_tbl[id->driver_data]; st->client = client; Loading Loading @@ -1693,6 +1751,7 @@ MODULE_DEVICE_TABLE(i2c, max1363_id); static struct i2c_driver max1363_driver = { .driver = { .name = "max1363", .of_match_table = of_match_ptr(max1363_of_match), }, .probe = max1363_probe, .remove = max1363_remove, Loading