fpga: Use device_get_match_data()
Subsystems (2)
PATCH 1/1 fpga: Use device_get_match_data()
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.
Signed-off-by Rob Herring <[email protected]>
--- drivers/fpga/altera-hps2fpga.c | 12 +++--------- drivers/fpga/xilinx-pr-decoupler.c | 15 ++++----------- 2 files changed, 7 insertions(+), 20 deletions(-)
drivers/fpga/altera-hps2fpga.c +3 -9
@@ -24,7 +24,8 @@#include <linux/kernel.h> #include <linux/mfd/syscon.h> #include <linux/module.h> -#include <linux/of_platform.h> +#include <linux/of.h> +#include <linux/property.h> #include <linux/regmap.h> #include <linux/reset.h> #include <linux/spinlock.h>
@@ -127,18 +128,11 @@ static int alt_fpga_bridge_probe(struct platform_device *pdev) {struct device *dev = &pdev->dev;struct altera_hps2fpga_data *priv; -const struct of_device_id *of_id;struct fpga_bridge *br;u32 enable;int ret; - of_id =of_match_device (altera_fpga_of_match, dev); -if (!of_id) { -dev_err (dev,"failed to match device\n" ); -return -ENODEV ; - } - - priv = (struct altera_hps2fpga_data *)of_id->data; + priv = (struct altera_hps2fpga_data *)device_get_match_data (dev); priv->bridge_reset =of_reset_control_get_exclusive_by_index (dev->of_node,0 );
drivers/fpga/xilinx-pr-decoupler.c +4 -11
@@ -10,8 +10,10 @@#include <linux/clk.h> #include <linux/io.h> #include <linux/kernel.h> -#include <linux/of_device.h> #include <linux/module.h> +#include <linux/of.h> +#include <linux/platform_device.h> +#include <linux/property.h> #include <linux/fpga/fpga-bridge.h> #define CTRL_CMD_DECOUPLE BIT(0)
@@ -81,7 +83,6 @@ static const struct fpga_bridge_ops xlnx_pr_decoupler_br_ops = { .enable_show = xlnx_pr_decoupler_enable_show, }; -#ifdef CONFIG_OF static const struct xlnx_config_data decoupler_config = { .name ="Xilinx PR Decoupler" , };
@@ -100,11 +101,9 @@ static const struct of_device_id xlnx_pr_decoupler_of_match[] = { {}, };MODULE_DEVICE_TABLE (of, xlnx_pr_decoupler_of_match); -#endif static int xlnx_pr_decoupler_probe (struct platform_device *pdev) { -struct device_node *np = pdev->dev.of_node;struct xlnx_pr_decoupler_data *priv;struct fpga_bridge *br;int err;
@@ -113,13 +112,7 @@ static int xlnx_pr_decoupler_probe(struct platform_device *pdev)if (!priv)return -ENOMEM ; -if (np) { -const struct of_device_id *match; - - match =of_match_node (xlnx_pr_decoupler_of_match, np); -if (match && match->data) - priv->ipconfig = match->data; - } + priv->ipconfig =device_get_match_data (&pdev->dev); priv->io_base =devm_platform_ioremap_resource (pdev,0 );if (IS_ERR (priv->io_base))
Signature · 1 line
2.40.1
Quoted 5 lines · Rob Herring
Use preferred
device_get_match_data()instead ofof_match_device()to get the driver match data. With this, adjust the includes to explicitly include the correct headers.Signed-off-by Rob Herring <[email protected]>
Acked-by Xu Yilun <[email protected]>
Applied.
Quoted 93 lines
--- drivers/fpga/altera-hps2fpga.c | 12 +++--------- drivers/fpga/xilinx-pr-decoupler.c | 15 ++++----------- 2 files changed, 7 insertions(+), 20 deletions(-)drivers/fpga/altera-hps2fpga.c +3
-9@@ -24,7 +24,8 @@#include <linux/kernel.h> #include <linux/mfd/syscon.h> #include <linux/module.h> -#include <linux/of_platform.h> +#include <linux/of.h> +#include <linux/property.h> #include <linux/regmap.h> #include <linux/reset.h> #include <linux/spinlock.h> @@ -127,18 +128,11 @@ static int alt_fpga_bridge_probe(struct platform_device *pdev) {struct device *dev = &pdev->dev;struct altera_hps2fpga_data *priv; -const struct of_device_id *of_id;struct fpga_bridge *br;u32 enable;int ret; - of_id =of_match_device (altera_fpga_of_match, dev); -if (!of_id) { -dev_err (dev,"failed to match device\n" ); -return -ENODEV ; - } - - priv = (struct altera_hps2fpga_data *)of_id->data; + priv = (struct altera_hps2fpga_data *)device_get_match_data (dev); priv->bridge_reset =of_reset_control_get_exclusive_by_index (dev->of_node,0 );drivers/fpga/xilinx-pr-decoupler.c +4
-11@@ -10,8 +10,10 @@#include <linux/clk.h> #include <linux/io.h> #include <linux/kernel.h> -#include <linux/of_device.h> #include <linux/module.h> +#include <linux/of.h> +#include <linux/platform_device.h> +#include <linux/property.h> #include <linux/fpga/fpga-bridge.h> #define CTRL_CMD_DECOUPLE BIT(0)@@ -81,7 +83,6 @@ static const struct fpga_bridge_ops xlnx_pr_decoupler_br_ops = { .enable_show = xlnx_pr_decoupler_enable_show, }; -#ifdef CONFIG_OF static const struct xlnx_config_data decoupler_config = { .name ="Xilinx PR Decoupler" , };@@ -100,11 +101,9 @@ static const struct of_device_id xlnx_pr_decoupler_of_match[] = { {}, };MODULE_DEVICE_TABLE (of, xlnx_pr_decoupler_of_match); -#endif static int xlnx_pr_decoupler_probe (struct platform_device *pdev) { -struct device_node *np = pdev->dev.of_node;struct xlnx_pr_decoupler_data *priv;struct fpga_bridge *br;int err;@@ -113,13 +112,7 @@ static int xlnx_pr_decoupler_probe(struct platform_device *pdev)if (!priv)return -ENOMEM ; -if (np) { -const struct of_device_id *match; - - match =of_match_node (xlnx_pr_decoupler_of_match, np); -if (match && match->data) - priv->ipconfig = match->data; - } + priv->ipconfig =device_get_match_data (&pdev->dev); priv->io_base =devm_platform_ioremap_resource (pdev,0 );if (IS_ERR (priv->io_base))Signature · 1 line
2.40.1