[PATCH net-next 2/2] net: stmmac: platform: add support for phy-supply
Andrew Lunn
andrew at lunn.ch
Mon Jul 17 15:30:19 PDT 2023
On Mon, Jul 17, 2023 at 06:43:07PM +0200, Marco Felsch wrote:
> Add generic phy-supply handling support to control the phy regulator.
> Use the common stmmac_platform code path so all drivers using
> stmmac_probe_config_dt() and stmmac_pltfr_pm_ops can use it.
>
> Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
> ---
> .../ethernet/stmicro/stmmac/stmmac_platform.c | 51 +++++++++++++++++++
> include/linux/stmmac.h | 1 +
> 2 files changed, 52 insertions(+)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> index eb0b2898daa3d..6193d42b53fb7 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> @@ -10,6 +10,7 @@
>
> #include <linux/platform_device.h>
> #include <linux/pm_runtime.h>
> +#include <linux/regulator/consumer.h>
> #include <linux/module.h>
> #include <linux/io.h>
> #include <linux/of.h>
> @@ -423,6 +424,15 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac)
> if (plat->interface < 0)
> plat->interface = plat->phy_interface;
>
> + /* Optional regulator for PHY */
> + plat->phy_regulator = devm_regulator_get_optional(&pdev->dev, "phy");
> + if (IS_ERR(plat->phy_regulator)) {
> + if (PTR_ERR(plat->phy_regulator) == -EPROBE_DEFER)
> + return ERR_CAST(plat->phy_regulator);
> + dev_info(&pdev->dev, "No regulator found\n");
> + plat->phy_regulator = NULL;
> + }
> +
So this gets the regulator. When do you actually turn it on?
Andrew
More information about the linux-arm-kernel
mailing list