[PATCH] phy: Use device_get_match_data()

Heiko Stuebner heiko at sntech.de
Mon Oct 9 13:13:13 PDT 2023


Am Montag, 9. Oktober 2023, 19:29:10 CEST schrieb Rob Herring:
> 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 <robh at kernel.org>
> ---

>  drivers/phy/rockchip/phy-rockchip-pcie.c | 11 ++++-------
>  drivers/phy/rockchip/phy-rockchip-usb.c  | 10 +++-------

For the Rockchip part:
Reviewed-by: Heiko Stuebner <heiko at sntech.de>

> diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c
> index 8234b83fdd88..1bbd6be2a584 100644
> --- a/drivers/phy/rockchip/phy-rockchip-pcie.c
> +++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
> @@ -12,10 +12,9 @@
>  #include <linux/mfd/syscon.h>
>  #include <linux/module.h>
>  #include <linux/of.h>
> -#include <linux/of_address.h>
> -#include <linux/of_platform.h>
>  #include <linux/phy/phy.h>
>  #include <linux/platform_device.h>
> +#include <linux/property.h>
>  #include <linux/regmap.h>
>  #include <linux/reset.h>
>  
> @@ -63,7 +62,7 @@ struct rockchip_pcie_data {
>  };
>  
>  struct rockchip_pcie_phy {
> -	struct rockchip_pcie_data *phy_data;
> +	const struct rockchip_pcie_data *phy_data;
>  	struct regmap *reg_base;
>  	struct phy_pcie_instance {
>  		struct phy *phy;
> @@ -350,7 +349,6 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev)
>  	struct rockchip_pcie_phy *rk_phy;
>  	struct phy_provider *phy_provider;
>  	struct regmap *grf;
> -	const struct of_device_id *of_id;
>  	int i;
>  	u32 phy_num;
>  
> @@ -364,11 +362,10 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev)
>  	if (!rk_phy)
>  		return -ENOMEM;
>  
> -	of_id = of_match_device(rockchip_pcie_phy_dt_ids, &pdev->dev);
> -	if (!of_id)
> +	rk_phy->phy_data = device_get_match_data(&pdev->dev);
> +	if (!rk_phy->phy_data)
>  		return -EINVAL;
>  
> -	rk_phy->phy_data = (struct rockchip_pcie_data *)of_id->data;
>  	rk_phy->reg_base = grf;
>  
>  	mutex_init(&rk_phy->pcie_mutex);
> diff --git a/drivers/phy/rockchip/phy-rockchip-usb.c b/drivers/phy/rockchip/phy-rockchip-usb.c
> index 8454285977eb..666a896c8f0a 100644
> --- a/drivers/phy/rockchip/phy-rockchip-usb.c
> +++ b/drivers/phy/rockchip/phy-rockchip-usb.c
> @@ -13,10 +13,9 @@
>  #include <linux/module.h>
>  #include <linux/mutex.h>
>  #include <linux/of.h>
> -#include <linux/of_address.h>
> -#include <linux/of_platform.h>
>  #include <linux/phy/phy.h>
>  #include <linux/platform_device.h>
> +#include <linux/property.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/reset.h>
>  #include <linux/regmap.h>
> @@ -458,7 +457,6 @@ static int rockchip_usb_phy_probe(struct platform_device *pdev)
>  	struct device *dev = &pdev->dev;
>  	struct rockchip_usb_phy_base *phy_base;
>  	struct phy_provider *phy_provider;
> -	const struct of_device_id *match;
>  	struct device_node *child;
>  	int err;
>  
> @@ -466,14 +464,12 @@ static int rockchip_usb_phy_probe(struct platform_device *pdev)
>  	if (!phy_base)
>  		return -ENOMEM;
>  
> -	match = of_match_device(dev->driver->of_match_table, dev);
> -	if (!match || !match->data) {
> +	phy_base->pdata = device_get_match_data(dev);
> +	if (!phy_base->pdata) {
>  		dev_err(dev, "missing phy data\n");
>  		return -EINVAL;
>  	}
>  
> -	phy_base->pdata = match->data;
> -
>  	phy_base->dev = dev;
>  	phy_base->reg_base = ERR_PTR(-ENODEV);
>  	if (dev->parent && dev->parent->of_node)






More information about the linux-phy mailing list