hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/iio/potentiometer/mcp4018.c
....@@ -16,8 +16,8 @@
1616 #include <linux/i2c.h>
1717 #include <linux/iio/iio.h>
1818 #include <linux/module.h>
19
-#include <linux/of.h>
20
-#include <linux/of_device.h>
19
+#include <linux/mod_devicetable.h>
20
+#include <linux/property.h>
2121
2222 #define MCP4018_WIPER_MAX 127
2323
....@@ -116,8 +116,6 @@
116116 };
117117 MODULE_DEVICE_TABLE(i2c, mcp4018_id);
118118
119
-#ifdef CONFIG_OF
120
-
121119 #define MCP4018_COMPATIBLE(of_compatible, cfg) { \
122120 .compatible = of_compatible, \
123121 .data = &mcp4018_cfg[cfg], \
....@@ -140,14 +138,11 @@
140138 };
141139 MODULE_DEVICE_TABLE(of, mcp4018_of_match);
142140
143
-#endif
144
-
145141 static int mcp4018_probe(struct i2c_client *client)
146142 {
147143 struct device *dev = &client->dev;
148144 struct mcp4018_data *data;
149145 struct iio_dev *indio_dev;
150
- const struct of_device_id *match;
151146
152147 if (!i2c_check_functionality(client->adapter,
153148 I2C_FUNC_SMBUS_BYTE)) {
....@@ -162,13 +157,10 @@
162157 i2c_set_clientdata(client, indio_dev);
163158 data->client = client;
164159
165
- match = of_match_device(of_match_ptr(mcp4018_of_match), dev);
166
- if (match)
167
- data->cfg = of_device_get_match_data(dev);
168
- else
160
+ data->cfg = device_get_match_data(dev);
161
+ if (!data->cfg)
169162 data->cfg = &mcp4018_cfg[i2c_match_id(mcp4018_id, client)->driver_data];
170163
171
- indio_dev->dev.parent = dev;
172164 indio_dev->info = &mcp4018_info;
173165 indio_dev->channels = &mcp4018_channel;
174166 indio_dev->num_channels = 1;
....@@ -180,7 +172,7 @@
180172 static struct i2c_driver mcp4018_driver = {
181173 .driver = {
182174 .name = "mcp4018",
183
- .of_match_table = of_match_ptr(mcp4018_of_match),
175
+ .of_match_table = mcp4018_of_match,
184176 },
185177 .probe_new = mcp4018_probe,
186178 .id_table = mcp4018_id,
....@@ -190,4 +182,4 @@
190182
191183 MODULE_AUTHOR("Peter Rosin <peda@axentia.se>");
192184 MODULE_DESCRIPTION("MCP4018 digital potentiometer");
193
-MODULE_LICENSE("GPL");
185
+MODULE_LICENSE("GPL v2");