Commit 6fad8ae4 authored by Jonathan Cameron's avatar Jonathan Cameron

iio:potentiometer:mcp4018: Drop of_match_ptr and CONFIG_OF protections.

These prevent use of this driver with ACPI via PRP0001 and are
an example of an anti pattern I'm trying to remove from IIO.
Also use device_get_match_data() rather than devicetree only version.
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Cc: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20200910173242.621168-7-jic23@kernel.org
parent 9c5149cd
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/iio/iio.h> #include <linux/iio/iio.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/of.h> #include <linux/mod_devicetable.h>
#include <linux/of_device.h> #include <linux/property.h>
#define MCP4018_WIPER_MAX 127 #define MCP4018_WIPER_MAX 127
...@@ -116,8 +116,6 @@ static const struct i2c_device_id mcp4018_id[] = { ...@@ -116,8 +116,6 @@ static const struct i2c_device_id mcp4018_id[] = {
}; };
MODULE_DEVICE_TABLE(i2c, mcp4018_id); MODULE_DEVICE_TABLE(i2c, mcp4018_id);
#ifdef CONFIG_OF
#define MCP4018_COMPATIBLE(of_compatible, cfg) { \ #define MCP4018_COMPATIBLE(of_compatible, cfg) { \
.compatible = of_compatible, \ .compatible = of_compatible, \
.data = &mcp4018_cfg[cfg], \ .data = &mcp4018_cfg[cfg], \
...@@ -140,8 +138,6 @@ static const struct of_device_id mcp4018_of_match[] = { ...@@ -140,8 +138,6 @@ static const struct of_device_id mcp4018_of_match[] = {
}; };
MODULE_DEVICE_TABLE(of, mcp4018_of_match); MODULE_DEVICE_TABLE(of, mcp4018_of_match);
#endif
static int mcp4018_probe(struct i2c_client *client) static int mcp4018_probe(struct i2c_client *client)
{ {
struct device *dev = &client->dev; struct device *dev = &client->dev;
...@@ -161,7 +157,7 @@ static int mcp4018_probe(struct i2c_client *client) ...@@ -161,7 +157,7 @@ static int mcp4018_probe(struct i2c_client *client)
i2c_set_clientdata(client, indio_dev); i2c_set_clientdata(client, indio_dev);
data->client = client; data->client = client;
data->cfg = of_device_get_match_data(dev); data->cfg = device_get_match_data(dev);
if (!data->cfg) if (!data->cfg)
data->cfg = &mcp4018_cfg[i2c_match_id(mcp4018_id, client)->driver_data]; data->cfg = &mcp4018_cfg[i2c_match_id(mcp4018_id, client)->driver_data];
...@@ -176,7 +172,7 @@ static int mcp4018_probe(struct i2c_client *client) ...@@ -176,7 +172,7 @@ static int mcp4018_probe(struct i2c_client *client)
static struct i2c_driver mcp4018_driver = { static struct i2c_driver mcp4018_driver = {
.driver = { .driver = {
.name = "mcp4018", .name = "mcp4018",
.of_match_table = of_match_ptr(mcp4018_of_match), .of_match_table = mcp4018_of_match,
}, },
.probe_new = mcp4018_probe, .probe_new = mcp4018_probe,
.id_table = mcp4018_id, .id_table = mcp4018_id,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment