Message ID | 20250404-ml-topic-typec-mux-fs4480-v1-1-475377ef22a3@pengutronix.de |
---|---|
State | New |
Headers | show |
Series | usb: typec: mux: fsa4480: add regulator support | expand |
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@pengutronix.de> > --- > 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"); Missing DT bindings update that describes this supply. > + 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@pengutronix.de> >
On Tue, Apr 08, 2025 at 03:18:14PM +0300, Dmitry Baryshkov wrote: >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@pengutronix.de> >> --- >> 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"); > >Missing DT bindings update that describes this supply. Looking into "Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml" it seems vcc-supply is alread documented. Is more needed? >> + 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@pengutronix.de> >> > >-- >With best wishes >Dmitry >
On Thu, Apr 10, 2025 at 11:54:38PM +0200, Michael Grzeschik wrote: > On Tue, Apr 08, 2025 at 03:18:14PM +0300, Dmitry Baryshkov wrote: > > 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@pengutronix.de> > > > --- > > > 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"); > > > > Missing DT bindings update that describes this supply. > > Looking into "Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml" it > seems vcc-supply is alread documented. Is more needed? > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
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");
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@pengutronix.de> --- drivers/usb/typec/mux/fsa4480.c | 5 +++++ 1 file changed, 5 insertions(+) --- base-commit: a1b5bd45d4ee58af4f56e49497b8c3db96d8f8a3 change-id: 20250404-ml-topic-typec-mux-fs4480-392407f94f84 Best regards,