Skip to content

Commit 78df7bb

Browse files
AngeloGioacchino Del Regnolinusw
authored andcommitted
pinctrl: mediatek: paris: Unify probe function by using OF match data
All of the SoCs using Paris pinctrl are defining a custom probe function that is simply calling mtk_paris_pinctrl_probe() passing a pointer to the SoC specific mtk_pin_soc structure and nothing else. Simplify the probe mechanism across all pinctrl drivers that are using pinctrl-paris by passing the specific mtk_pin_soc as match data and using function mtk_paris_pinctrl_probe as a common probe function for all of them. Signed-off-by: AngeloGioacchino Del Regno <[email protected]> Reviewed-by: Chen-Yu Tsai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 89388f8 commit 78df7bb

File tree

8 files changed

+19
-47
lines changed

8 files changed

+19
-47
lines changed

drivers/pinctrl/mediatek/pinctrl-mt6765.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,21 +1082,16 @@ static const struct mtk_pin_soc mt6765_data = {
10821082
};
10831083

10841084
static const struct of_device_id mt6765_pinctrl_of_match[] = {
1085-
{ .compatible = "mediatek,mt6765-pinctrl", },
1085+
{ .compatible = "mediatek,mt6765-pinctrl", .data = &mt6765_data },
10861086
{ }
10871087
};
10881088

1089-
static int mt6765_pinctrl_probe(struct platform_device *pdev)
1090-
{
1091-
return mtk_paris_pinctrl_probe(pdev, &mt6765_data);
1092-
}
1093-
10941089
static struct platform_driver mt6765_pinctrl_driver = {
10951090
.driver = {
10961091
.name = "mt6765-pinctrl",
10971092
.of_match_table = mt6765_pinctrl_of_match,
10981093
},
1099-
.probe = mt6765_pinctrl_probe,
1094+
.probe = mtk_paris_pinctrl_probe,
11001095
};
11011096

11021097
static int __init mt6765_pinctrl_init(void)

drivers/pinctrl/mediatek/pinctrl-mt6779.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -758,21 +758,16 @@ static const struct mtk_pin_soc mt6779_data = {
758758
};
759759

760760
static const struct of_device_id mt6779_pinctrl_of_match[] = {
761-
{ .compatible = "mediatek,mt6779-pinctrl", },
761+
{ .compatible = "mediatek,mt6779-pinctrl", .data = &mt6779_data },
762762
{ }
763763
};
764764

765-
static int mt6779_pinctrl_probe(struct platform_device *pdev)
766-
{
767-
return mtk_paris_pinctrl_probe(pdev, &mt6779_data);
768-
}
769-
770765
static struct platform_driver mt6779_pinctrl_driver = {
771766
.driver = {
772767
.name = "mt6779-pinctrl",
773768
.of_match_table = mt6779_pinctrl_of_match,
774769
},
775-
.probe = mt6779_pinctrl_probe,
770+
.probe = mtk_paris_pinctrl_probe,
776771
};
777772

778773
static int __init mt6779_pinctrl_init(void)

drivers/pinctrl/mediatek/pinctrl-mt6797.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,16 @@ static const struct mtk_pin_soc mt6797_data = {
5858
};
5959

6060
static const struct of_device_id mt6797_pinctrl_of_match[] = {
61-
{ .compatible = "mediatek,mt6797-pinctrl", },
61+
{ .compatible = "mediatek,mt6797-pinctrl", .data = &mt6797_data },
6262
{ }
6363
};
6464

65-
static int mt6797_pinctrl_probe(struct platform_device *pdev)
66-
{
67-
return mtk_paris_pinctrl_probe(pdev, &mt6797_data);
68-
}
69-
7065
static struct platform_driver mt6797_pinctrl_driver = {
7166
.driver = {
7267
.name = "mt6797-pinctrl",
7368
.of_match_table = mt6797_pinctrl_of_match,
7469
},
75-
.probe = mt6797_pinctrl_probe,
70+
.probe = mtk_paris_pinctrl_probe,
7671
};
7772

7873
static int __init mt6797_pinctrl_init(void)

drivers/pinctrl/mediatek/pinctrl-mt8183.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -567,22 +567,17 @@ static const struct mtk_pin_soc mt8183_data = {
567567
};
568568

569569
static const struct of_device_id mt8183_pinctrl_of_match[] = {
570-
{ .compatible = "mediatek,mt8183-pinctrl", },
570+
{ .compatible = "mediatek,mt8183-pinctrl", .data = &mt8183_data },
571571
{ }
572572
};
573573

574-
static int mt8183_pinctrl_probe(struct platform_device *pdev)
575-
{
576-
return mtk_paris_pinctrl_probe(pdev, &mt8183_data);
577-
}
578-
579574
static struct platform_driver mt8183_pinctrl_driver = {
580575
.driver = {
581576
.name = "mt8183-pinctrl",
582577
.of_match_table = mt8183_pinctrl_of_match,
583578
.pm = &mtk_paris_pinctrl_pm_ops,
584579
},
585-
.probe = mt8183_pinctrl_probe,
580+
.probe = mtk_paris_pinctrl_probe,
586581
};
587582

588583
static int __init mt8183_pinctrl_init(void)

drivers/pinctrl/mediatek/pinctrl-mt8192.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,22 +1381,17 @@ static const struct mtk_pin_soc mt8192_data = {
13811381
};
13821382

13831383
static const struct of_device_id mt8192_pinctrl_of_match[] = {
1384-
{ .compatible = "mediatek,mt8192-pinctrl", },
1384+
{ .compatible = "mediatek,mt8192-pinctrl", .data = &mt8192_data },
13851385
{ }
13861386
};
13871387

1388-
static int mt8192_pinctrl_probe(struct platform_device *pdev)
1389-
{
1390-
return mtk_paris_pinctrl_probe(pdev, &mt8192_data);
1391-
}
1392-
13931388
static struct platform_driver mt8192_pinctrl_driver = {
13941389
.driver = {
13951390
.name = "mt8192-pinctrl",
13961391
.of_match_table = mt8192_pinctrl_of_match,
13971392
.pm = &mtk_paris_pinctrl_pm_ops,
13981393
},
1399-
.probe = mt8192_pinctrl_probe,
1394+
.probe = mtk_paris_pinctrl_probe,
14001395
};
14011396

14021397
static int __init mt8192_pinctrl_init(void)

drivers/pinctrl/mediatek/pinctrl-mt8195.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -959,22 +959,17 @@ static const struct mtk_pin_soc mt8195_data = {
959959
};
960960

961961
static const struct of_device_id mt8195_pinctrl_of_match[] = {
962-
{ .compatible = "mediatek,mt8195-pinctrl", },
962+
{ .compatible = "mediatek,mt8195-pinctrl", .data = &mt8195_data },
963963
{ }
964964
};
965965

966-
static int mt8195_pinctrl_probe(struct platform_device *pdev)
967-
{
968-
return mtk_paris_pinctrl_probe(pdev, &mt8195_data);
969-
}
970-
971966
static struct platform_driver mt8195_pinctrl_driver = {
972967
.driver = {
973968
.name = "mt8195-pinctrl",
974969
.of_match_table = mt8195_pinctrl_of_match,
975970
.pm = &mtk_paris_pinctrl_pm_ops,
976971
},
977-
.probe = mt8195_pinctrl_probe,
972+
.probe = mtk_paris_pinctrl_probe,
978973
};
979974

980975
static int __init mt8195_pinctrl_init(void)

drivers/pinctrl/mediatek/pinctrl-paris.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,8 +1021,7 @@ static int mtk_pctrl_build_state(struct platform_device *pdev)
10211021
return 0;
10221022
}
10231023

1024-
int mtk_paris_pinctrl_probe(struct platform_device *pdev,
1025-
const struct mtk_pin_soc *soc)
1024+
int mtk_paris_pinctrl_probe(struct platform_device *pdev)
10261025
{
10271026
struct device *dev = &pdev->dev;
10281027
struct pinctrl_pin_desc *pins;
@@ -1034,7 +1033,11 @@ int mtk_paris_pinctrl_probe(struct platform_device *pdev,
10341033
return -ENOMEM;
10351034

10361035
platform_set_drvdata(pdev, hw);
1037-
hw->soc = soc;
1036+
1037+
hw->soc = device_get_match_data(dev);
1038+
if (!hw->soc)
1039+
return -ENOENT;
1040+
10381041
hw->dev = &pdev->dev;
10391042

10401043
if (!hw->soc->nbase_names)

drivers/pinctrl/mediatek/pinctrl-paris.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@
5757
id##_funcs, \
5858
}
5959

60-
int mtk_paris_pinctrl_probe(struct platform_device *pdev,
61-
const struct mtk_pin_soc *soc);
60+
int mtk_paris_pinctrl_probe(struct platform_device *pdev);
6261

6362
ssize_t mtk_pctrl_show_one_pin(struct mtk_pinctrl *hw,
6463
unsigned int gpio, char *buf, unsigned int bufLen);

0 commit comments

Comments
 (0)