> Instead of open coded variants, switch to direct use of > device_get_match_data(). > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > drivers/tty/serial/sc16is7xx.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) > > diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c > index 2f8ca1dec493..1b07beb4a583 100644 > --- a/drivers/tty/serial/sc16is7xx.c > +++ b/drivers/tty/serial/sc16is7xx.c > @@ -14,9 +14,9 @@ > #include <linux/device.h> > #include <linux/gpio/driver.h> > #include <linux/i2c.h> > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > #include <linux/of.h> > -#include <linux/of_device.h> > #include <linux/property.h> > #include <linux/regmap.h> > #include <linux/serial_core.h> > @@ -1395,13 +1395,9 @@ static int sc16is7xx_spi_probe(struct spi_device *spi) > return ret; > > if (spi->dev.of_node) { > - const struct of_device_id *of_id = > - of_match_device(sc16is7xx_dt_ids, &spi->dev); > - > - if (!of_id) > + devtype = device_get_match_data(&spi->dev); > + if (!devtype) > return -ENODEV; > - > - devtype = (struct sc16is7xx_devtype *)of_id->data; > } else { > const struct spi_device_id *id_entry = spi_get_device_id(spi); > > @@ -1456,13 +1452,9 @@ static int sc16is7xx_i2c_probe(struct i2c_client *i2c, > struct regmap *regmap; > > if (i2c->dev.of_node) { > - const struct of_device_id *of_id = > - of_match_device(sc16is7xx_dt_ids, &i2c->dev); > - > - if (!of_id) > + devtype = device_get_match_data(&i2c->dev); > + if (!devtype) > return -ENODEV; > - > - devtype = (struct sc16is7xx_devtype *)of_id->data; > } else { > devtype = (struct sc16is7xx_devtype *)id->driver_data; > flags = IRQF_TRIGGER_FALLING; > -- > 2.19.2 > Tested-By: Georgii Staroselskii <georgii.staroselskii@xxxxxxxxx>