Skip to content

Commit 3d5bf75

Browse files
Bartosz Golaszewskikuba-moo
authored andcommitted
net: stmmac: platform: provide stmmac_pltfr_probe()
Implement stmmac_pltfr_probe() which is the logical API counterpart for stmmac_pltfr_remove(). It calls the platform's init() callback and then probes the stmmac device. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://lore.kernel.org/r/20230623100417.93592-6-brgl@bgdev.pl Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 40db9f1 commit 3d5bf75

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,34 @@ void stmmac_pltfr_exit(struct platform_device *pdev,
734734
}
735735
EXPORT_SYMBOL_GPL(stmmac_pltfr_exit);
736736

737+
/**
738+
* stmmac_pltfr_probe
739+
* @pdev: platform device pointer
740+
* @plat: driver data platform structure
741+
* @res: stmmac resources structure
742+
* Description: This calls the platform's init() callback and probes the
743+
* stmmac driver.
744+
*/
745+
int stmmac_pltfr_probe(struct platform_device *pdev,
746+
struct plat_stmmacenet_data *plat,
747+
struct stmmac_resources *res)
748+
{
749+
int ret;
750+
751+
ret = stmmac_pltfr_init(pdev, plat);
752+
if (ret)
753+
return ret;
754+
755+
ret = stmmac_dvr_probe(&pdev->dev, plat, res);
756+
if (ret) {
757+
stmmac_pltfr_exit(pdev, plat);
758+
return ret;
759+
}
760+
761+
return ret;
762+
}
763+
EXPORT_SYMBOL_GPL(stmmac_pltfr_probe);
764+
737765
/**
738766
* stmmac_pltfr_remove
739767
* @pdev: platform device pointer

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ int stmmac_pltfr_init(struct platform_device *pdev,
2424
void stmmac_pltfr_exit(struct platform_device *pdev,
2525
struct plat_stmmacenet_data *plat);
2626

27+
int stmmac_pltfr_probe(struct platform_device *pdev,
28+
struct plat_stmmacenet_data *plat,
29+
struct stmmac_resources *res);
2730
void stmmac_pltfr_remove(struct platform_device *pdev);
2831
extern const struct dev_pm_ops stmmac_pltfr_pm_ops;
2932

0 commit comments

Comments
 (0)