diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2021-12-06 17:55:41 +0100 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2021-12-08 10:20:18 +0100 |
commit | dc64d98aae758b41007f89179f3ec8686ef5136c (patch) | |
tree | 5fc375f47e5b7df3d16227dca00bd1fcc9cb7cfd /drivers/net/can/spi/hi311x.c | |
parent | can: hi311x: hi3110_can_probe(): try to get crystal clock rate from property (diff) | |
download | linux-dc64d98aae758b41007f89179f3ec8686ef5136c.tar.xz linux-dc64d98aae758b41007f89179f3ec8686ef5136c.zip |
can: hi311x: hi3110_can_probe(): make use of device property API
Make use of device property API in this driver so that both OF based
system and ACPI based system can use this driver.
Link: https://lore.kernel.org/all/20211206165542.69887-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can/spi/hi311x.c')
-rw-r--r-- | drivers/net/can/spi/hi311x.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/can/spi/hi311x.c b/drivers/net/can/spi/hi311x.c index c9efdd10d0f8..78044ec24575 100644 --- a/drivers/net/can/spi/hi311x.c +++ b/drivers/net/can/spi/hi311x.c @@ -25,11 +25,11 @@ #include <linux/interrupt.h> #include <linux/io.h> #include <linux/kernel.h> +#include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/netdevice.h> -#include <linux/of.h> -#include <linux/of_device.h> #include <linux/platform_device.h> +#include <linux/property.h> #include <linux/regulator/consumer.h> #include <linux/slab.h> #include <linux/spi/spi.h> @@ -828,11 +828,10 @@ MODULE_DEVICE_TABLE(spi, hi3110_id_table); static int hi3110_can_probe(struct spi_device *spi) { - const struct of_device_id *of_id = of_match_device(hi3110_of_match, - &spi->dev); struct device *dev = &spi->dev; struct net_device *net; struct hi3110_priv *priv; + const void *match; struct clk *clk; u32 freq; int ret; @@ -877,8 +876,9 @@ static int hi3110_can_probe(struct spi_device *spi) CAN_CTRLMODE_LISTENONLY | CAN_CTRLMODE_BERR_REPORTING; - if (of_id) - priv->model = (enum hi3110_model)(uintptr_t)of_id->data; + match = device_get_match_data(dev); + if (match) + priv->model = (enum hi3110_model)(uintptr_t)match; else priv->model = spi_get_device_id(spi)->driver_data; priv->net = net; |