[PATCH] soc: mediatek: use of_device_get_match_data()
Matthias Brugger
matthias.bgg at gmail.com
Tue Apr 17 07:37:29 PDT 2018
On 04/16/2018 04:33 AM, Ryder Lee wrote:
> The usage of of_device_get_match_data() reduce the code size a bit.
>
> Also, the only way to call pwrap_probe() is to match an entry in
> of_pwrap_match_tbl[], so of_id cannot be NULL.
>
> Signed-off-by: Ryder Lee <ryder.lee at mediatek.com>
> ---
Applied to v4.17-next/soc
Thanks.
> drivers/soc/mediatek/mtk-pmic-wrap.c | 13 +++----------
> drivers/soc/mediatek/mtk-scpsys.c | 4 +---
> 2 files changed, 4 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c
> index e9e054a..2afae64 100644
> --- a/drivers/soc/mediatek/mtk-pmic-wrap.c
> +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c
> @@ -1458,19 +1458,12 @@ static int pwrap_probe(struct platform_device *pdev)
> int ret, irq;
> struct pmic_wrapper *wrp;
> struct device_node *np = pdev->dev.of_node;
> - const struct of_device_id *of_id =
> - of_match_device(of_pwrap_match_tbl, &pdev->dev);
> const struct of_device_id *of_slave_id = NULL;
> struct resource *res;
>
> - if (!of_id) {
> - dev_err(&pdev->dev, "Error: No device match found\n");
> - return -ENODEV;
> - }
> + if (np->child)
> + of_slave_id = of_match_node(of_slave_match_tbl, np->child);
>
> - if (pdev->dev.of_node->child)
> - of_slave_id = of_match_node(of_slave_match_tbl,
> - pdev->dev.of_node->child);
> if (!of_slave_id) {
> dev_dbg(&pdev->dev, "slave pmic should be defined in dts\n");
> return -EINVAL;
> @@ -1482,7 +1475,7 @@ static int pwrap_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, wrp);
>
> - wrp->master = of_id->data;
> + wrp->master = of_device_get_match_data(&pdev->dev);
> wrp->slave = of_slave_id->data;
> wrp->dev = &pdev->dev;
>
> diff --git a/drivers/soc/mediatek/mtk-scpsys.c b/drivers/soc/mediatek/mtk-scpsys.c
> index 435ce5e..a02a18e 100644
> --- a/drivers/soc/mediatek/mtk-scpsys.c
> +++ b/drivers/soc/mediatek/mtk-scpsys.c
> @@ -973,15 +973,13 @@ static void mtk_register_power_domains(struct platform_device *pdev,
>
> static int scpsys_probe(struct platform_device *pdev)
> {
> - const struct of_device_id *match;
> const struct scp_subdomain *sd;
> const struct scp_soc_data *soc;
> struct scp *scp;
> struct genpd_onecell_data *pd_data;
> int i, ret;
>
> - match = of_match_device(of_scpsys_match_tbl, &pdev->dev);
> - soc = (const struct scp_soc_data *)match->data;
> + soc = of_device_get_match_data(&pdev->dev);
>
> scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs,
> soc->bus_prot_reg_update);
>
More information about the linux-arm-kernel
mailing list