diff options
Diffstat (limited to 'drivers/fpga/xilinx-pr-decoupler.c')
| -rw-r--r-- | drivers/fpga/xilinx-pr-decoupler.c | 17 | 
1 files changed, 5 insertions, 12 deletions
| diff --git a/drivers/fpga/xilinx-pr-decoupler.c b/drivers/fpga/xilinx-pr-decoupler.c index 208d9560f56d..68835896f180 100644 --- a/drivers/fpga/xilinx-pr-decoupler.c +++ b/drivers/fpga/xilinx-pr-decoupler.c @@ -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)) @@ -174,7 +167,7 @@ static struct platform_driver xlnx_pr_decoupler_driver = {  	.remove = xlnx_pr_decoupler_remove,  	.driver = {  		.name = "xlnx_pr_decoupler", -		.of_match_table = of_match_ptr(xlnx_pr_decoupler_of_match), +		.of_match_table = xlnx_pr_decoupler_of_match,  	},  }; | 
