]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net: can: Use device_get_match_data()
authorRob Herring <robh@kernel.org>
Fri, 1 Sep 2023 19:36:49 +0000 (14:36 -0500)
committerRob Herring <robh@kernel.org>
Fri, 19 Jan 2024 14:08:53 +0000 (08:08 -0600)
Use preferred device_get_match_data() instead of of_match_device() to
get the driver match data. With this, adjust the includes to explicitly
include the correct headers.

Error checking for matching and match data was not necessary as matching
is always successful if we're already in probe and the match tables always
have data pointers.

Signed-off-by: Rob Herring <robh@kernel.org>
drivers/net/can/c_can/c_can_platform.c
drivers/net/can/flexcan/flexcan-core.c
drivers/net/can/mscan/mpc5xxx_can.c
drivers/net/can/xilinx_can.c

index f44ba2600415f639b0d80958414201cf16ed9a38..e2ec69aa46e53154217d75e09d5fc07c212ee73f 100644 (file)
@@ -30,9 +30,9 @@
 #include <linux/io.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/clk.h>
 #include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/mfd/syscon.h>
 #include <linux/regmap.h>
 
@@ -259,22 +259,13 @@ static int c_can_plat_probe(struct platform_device *pdev)
        void __iomem *addr;
        struct net_device *dev;
        struct c_can_priv *priv;
-       const struct of_device_id *match;
        struct resource *mem;
        int irq;
        struct clk *clk;
        const struct c_can_driver_data *drvdata;
        struct device_node *np = pdev->dev.of_node;
 
-       match = of_match_device(c_can_of_table, &pdev->dev);
-       if (match) {
-               drvdata = match->data;
-       } else if (pdev->id_entry->driver_data) {
-               drvdata = (struct c_can_driver_data *)
-                       platform_get_device_id(pdev)->driver_data;
-       } else {
-               return -ENODEV;
-       }
+       drvdata = device_get_match_data(&pdev->dev);
 
        /* get the appropriate clk */
        clk = devm_clk_get(&pdev->dev, NULL);
index d15f85a40c1e5be5b703fbe9d27c104564f54f58..8ea7f2795551bb4867869a11858cfd50f3f73f67 100644 (file)
 #include <linux/module.h>
 #include <linux/netdevice.h>
 #include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
 #include <linux/can/platform/flexcan.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/regmap.h>
 #include <linux/regulator/consumer.h>
 
@@ -2034,7 +2034,6 @@ MODULE_DEVICE_TABLE(platform, flexcan_id_table);
 
 static int flexcan_probe(struct platform_device *pdev)
 {
-       const struct of_device_id *of_id;
        const struct flexcan_devtype_data *devtype_data;
        struct net_device *dev;
        struct flexcan_priv *priv;
@@ -2090,14 +2089,7 @@ static int flexcan_probe(struct platform_device *pdev)
        if (IS_ERR(regs))
                return PTR_ERR(regs);
 
-       of_id = of_match_device(flexcan_of_match, &pdev->dev);
-       if (of_id)
-               devtype_data = of_id->data;
-       else if (platform_get_device_id(pdev)->driver_data)
-               devtype_data = (struct flexcan_devtype_data *)
-                       platform_get_device_id(pdev)->driver_data;
-       else
-               return -ENODEV;
+       devtype_data = device_get_match_data(&pdev->dev);
 
        if ((devtype_data->quirks & FLEXCAN_QUIRK_SUPPORT_FD) &&
            !((devtype_data->quirks &
index 4837df6efa92685fbb632986dbb51bab67590de5..5b3d69c3b6b66fe1f4cb10a42db9120ebecdea6f 100644 (file)
 #include <linux/module.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
+#include <linux/property.h>
 #include <linux/netdevice.h>
 #include <linux/can/dev.h>
+#include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
@@ -290,7 +292,7 @@ static int mpc5xxx_can_probe(struct platform_device *ofdev)
        int irq, mscan_clksrc = 0;
        int err = -ENOMEM;
 
-       data = of_device_get_match_data(&ofdev->dev);
+       data = device_get_match_data(&ofdev->dev);
        if (!data)
                return -EINVAL;
 
@@ -351,13 +353,11 @@ exit_unmap_mem:
 
 static void mpc5xxx_can_remove(struct platform_device *ofdev)
 {
-       const struct of_device_id *match;
        const struct mpc5xxx_can_data *data;
        struct net_device *dev = platform_get_drvdata(ofdev);
        struct mscan_priv *priv = netdev_priv(dev);
 
-       match = of_match_device(mpc5xxx_can_table, &ofdev->dev);
-       data = match ? match->data : NULL;
+       data = device_get_match_data(&ofdev->dev);
 
        unregister_mscandev(dev);
        if (data && data->put_clock)
index abe58f103043360d268d48c4fa4cbd880e1b44b2..3722eaa84234ec90d8decaad66015b8fcc40dfe3 100644 (file)
@@ -20,8 +20,8 @@
 #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/skbuff.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
@@ -1726,8 +1726,7 @@ static int xcan_probe(struct platform_device *pdev)
        struct net_device *ndev;
        struct xcan_priv *priv;
        struct phy *transceiver;
-       const struct of_device_id *of_id;
-       const struct xcan_devtype_data *devtype = &xcan_axi_data;
+       const struct xcan_devtype_data *devtype;
        void __iomem *addr;
        int ret;
        int rx_max, tx_max;
@@ -1741,9 +1740,7 @@ static int xcan_probe(struct platform_device *pdev)
                goto err;
        }
 
-       of_id = of_match_device(xcan_of_match, &pdev->dev);
-       if (of_id && of_id->data)
-               devtype = of_id->data;
+       devtype = device_get_match_data(&pdev->dev);
 
        hw_tx_max_property = devtype->flags & XCAN_FLAG_TX_MAILBOXES ?
                             "tx-mailbox-count" : "tx-fifo-depth";