i2c: mux: pca954x: Make use of device properties
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sat, 25 Apr 2020 11:51:50 +0000 (14:51 +0300)
committerWolfram Sang <wsa@kernel.org>
Mon, 11 May 2020 19:23:03 +0000 (21:23 +0200)
Device property API allows to gather device resources from different sources,
such as ACPI. Convert the drivers to unleash the power of device property API.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/muxes/i2c-mux-pca954x.c

index b764c7c..928c6f5 100644 (file)
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/module.h>
-#include <linux/of.h>
-#include <linux/of_device.h>
-#include <linux/of_irq.h>
 #include <linux/pm.h>
+#include <linux/property.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <dt-bindings/mux/mux.h>
@@ -198,7 +196,6 @@ static const struct i2c_device_id pca954x_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, pca954x_id);
 
-#ifdef CONFIG_OF
 static const struct of_device_id pca954x_of_match[] = {
        { .compatible = "nxp,pca9540", .data = &chips[pca_9540] },
        { .compatible = "nxp,pca9542", .data = &chips[pca_9542] },
@@ -215,7 +212,6 @@ static const struct of_device_id pca954x_of_match[] = {
        {}
 };
 MODULE_DEVICE_TABLE(of, pca954x_of_match);
-#endif
 
 /* Write to mux register. Don't use i2c_transfer()/i2c_smbus_xfer()
    for this as they will try to lock adapter a second time */
@@ -426,7 +422,6 @@ static int pca954x_probe(struct i2c_client *client,
 {
        struct i2c_adapter *adap = client->adapter;
        struct device *dev = &client->dev;
-       struct device_node *np = dev->of_node;
        struct gpio_desc *gpio;
        struct i2c_mux_core *muxc;
        struct pca954x *data;
@@ -456,7 +451,7 @@ static int pca954x_probe(struct i2c_client *client,
                udelay(1);
        }
 
-       data->chip = of_device_get_match_data(dev);
+       data->chip = device_get_match_data(dev);
        if (!data->chip)
                data->chip = &chips[id->driver_data];
 
@@ -478,8 +473,8 @@ static int pca954x_probe(struct i2c_client *client,
        }
 
        data->idle_state = MUX_IDLE_AS_IS;
-       if (of_property_read_u32(np, "idle-state", &data->idle_state)) {
-               if (np && of_property_read_bool(np, "i2c-mux-idle-disconnect"))
+       if (device_property_read_u32(dev, "idle-state", &data->idle_state)) {
+               if (device_property_read_bool(dev, "i2c-mux-idle-disconnect"))
                        data->idle_state = MUX_IDLE_DISCONNECT;
        }
 
@@ -562,7 +557,7 @@ static struct i2c_driver pca954x_driver = {
        .driver         = {
                .name   = "pca954x",
                .pm     = &pca954x_pm,
-               .of_match_table = of_match_ptr(pca954x_of_match),
+               .of_match_table = pca954x_of_match,
        },
        .probe          = pca954x_probe,
        .remove         = pca954x_remove,