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

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
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@
#include <linux/i2c.h>
#include <linux/iio/iio.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/mod_devicetable.h>
#include <linux/property.h>

#define MCP4018_WIPER_MAX 127

@@ -116,8 +116,6 @@ static const struct i2c_device_id mcp4018_id[] = {
};
MODULE_DEVICE_TABLE(i2c, mcp4018_id);

#ifdef CONFIG_OF

#define MCP4018_COMPATIBLE(of_compatible, cfg) {	\
	.compatible = of_compatible,			\
	.data = &mcp4018_cfg[cfg],			\
@@ -140,8 +138,6 @@ static const struct of_device_id mcp4018_of_match[] = {
};
MODULE_DEVICE_TABLE(of, mcp4018_of_match);

#endif

static int mcp4018_probe(struct i2c_client *client)
{
	struct device *dev = &client->dev;
@@ -161,7 +157,7 @@ static int mcp4018_probe(struct i2c_client *client)
	i2c_set_clientdata(client, indio_dev);
	data->client = client;

	data->cfg = of_device_get_match_data(dev);
	data->cfg = device_get_match_data(dev);
	if (!data->cfg)
		data->cfg = &mcp4018_cfg[i2c_match_id(mcp4018_id, client)->driver_data];

@@ -176,7 +172,7 @@ static int mcp4018_probe(struct i2c_client *client)
static struct i2c_driver mcp4018_driver = {
	.driver = {
		.name	= "mcp4018",
		.of_match_table = of_match_ptr(mcp4018_of_match),
		.of_match_table = mcp4018_of_match,
	},
	.probe_new	= mcp4018_probe,
	.id_table	= mcp4018_id,