Re: [PATCH] usb: typec: mux: fsa4480: add regulator support

From: Heikki Krogerus
Date: Tue Apr 15 2025 - 09:41:14 EST


On Fri, Apr 04, 2025 at 01:02:20AM +0200, Michael Grzeschik wrote:
> The fsa4480 vcc lane could be driven by some external regulator.
> This patch is adding support to enable the regulator before probing.
>
> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>

Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
> drivers/usb/typec/mux/fsa4480.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/usb/typec/mux/fsa4480.c b/drivers/usb/typec/mux/fsa4480.c
> index f71dba8bf07c9..c54e42c7e6a16 100644
> --- a/drivers/usb/typec/mux/fsa4480.c
> +++ b/drivers/usb/typec/mux/fsa4480.c
> @@ -12,6 +12,7 @@
> #include <linux/regmap.h>
> #include <linux/usb/typec_dp.h>
> #include <linux/usb/typec_mux.h>
> +#include <linux/regulator/consumer.h>
>
> #define FSA4480_DEVICE_ID 0x00
> #define FSA4480_DEVICE_ID_VENDOR_ID GENMASK(7, 6)
> @@ -273,6 +274,10 @@ static int fsa4480_probe(struct i2c_client *client)
> if (IS_ERR(fsa->regmap))
> return dev_err_probe(dev, PTR_ERR(fsa->regmap), "failed to initialize regmap\n");
>
> + ret = devm_regulator_get_enable_optional(dev, "vcc");
> + if (ret && ret != -ENODEV)
> + return dev_err_probe(dev, ret, "Failed to get regulator\n");
> +
> ret = regmap_read(fsa->regmap, FSA4480_DEVICE_ID, &val);
> if (ret)
> return dev_err_probe(dev, -ENODEV, "FSA4480 not found\n");
>
> ---
> base-commit: a1b5bd45d4ee58af4f56e49497b8c3db96d8f8a3
> change-id: 20250404-ml-topic-typec-mux-fs4480-392407f94f84
>
> Best regards,
> --
> Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>
>

--
heikki