phy: phy-brcm-usb: improve getting OF matching data
PATCH 1/2 phy: phy-brcm-usb: improve getting OF matching data
From: Rafał Miłecki <[email protected]>
1. Use of_device_get_match_data() helper to simplify the code
2. Check for NULL as a good practice
--- drivers/phy/broadcom/phy-brcm-usb.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
drivers/phy/broadcom/phy-brcm-usb.c +4 -3
@@ -11,6 +11,7 @@#include <linux/io.h> #include <linux/module.h> #include <linux/of.h> +#include <linux/of_device.h> #include <linux/phy/phy.h> #include <linux/platform_device.h> #include <linux/interrupt.h>
@@ -431,7 +432,6 @@ static int brcm_usb_phy_probe(struct platform_device *pdev)struct device_node *dn = pdev->dev.of_node;int err;const char *mode; -const struct of_device_id *match;void (*dvr_init)(struct brcm_usb_init_params *params);const struct match_chip_info *info;struct regmap *rmap;
@@ -445,8 +445,9 @@ static int brcm_usb_phy_probe(struct platform_device *pdev) priv->ini.family_id =brcmstb_get_family_id (); priv->ini.product_id =brcmstb_get_product_id (); - match =of_match_node (brcm_usb_dt_ids, dev->of_node); - info = match->data; + info =of_device_get_match_data (&pdev->dev); +if (!info) +return -ENOENT ; dvr_init = info->init_func; (*dvr_init)(&priv->ini);
Signature · 1 line
2.26.2
PATCH 2/2 phy: phy-brcm-usb: specify init function format at struct level
From: Rafał Miłecki <[email protected]>
This is slightly cleaner solution that assures noone assings a wrong function to the pointer.
--- drivers/phy/broadcom/phy-brcm-usb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/phy/broadcom/phy-brcm-usb.c +3 -4
@@ -35,7 +35,7 @@ struct value_to_name_map { };struct match_chip_info { -void *init_func; +void (*init_func)(struct brcm_usb_init_params *params);u8 required_regs[BRCM_REGS_MAX +1 ];u8 optional_reg; };
@@ -432,7 +432,6 @@ static int brcm_usb_phy_probe(struct platform_device *pdev)struct device_node *dn = pdev->dev.of_node;int err;const char *mode; -void (*dvr_init)(struct brcm_usb_init_params *params);const struct match_chip_info *info;struct regmap *rmap;int x;
@@ -448,8 +447,8 @@ static int brcm_usb_phy_probe(struct platform_device *pdev) info =of_device_get_match_data (&pdev->dev);if (!info)return -ENOENT ; - dvr_init = info->init_func; - (*dvr_init)(&priv->ini); + + info->init_func (&priv->ini);dev_dbg (dev,"Best mapping table is for %s\n" , priv->ini.family_name);
Signature · 1 line
2.26.2
Re: [PATCH 2/2] phy: phy-brcm-usb: specify init function format at struct level
Quoted 6 lines · Rafał Miłecki
From: Rafał Miłecki <[email protected]>
This is slightly cleaner solution that assures noone assings a wrong function to the pointer.
Signed-off-by Rafał Miłecki <[email protected]>
Signature · 1 line
Florian
Quoted 6 lines · Rafał Miłecki
From: Rafał Miłecki <[email protected]>
1. Use
of_device_get_match_data()helper to simplify the code
2. Check for NULL as a good practiceSigned-off-by Rafał Miłecki <[email protected]>
Signature · 1 line
Florian
Quoted 4 lines · Rafał Miłecki
From: Rafał Miłecki <[email protected]>
1. Use
of_device_get_match_data()helper to simplify the code
2. Check for NULL as a good practice
Applied both, thanks
Signature · 1 line
~Vinod