mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
usb: typec: mux: fsa4480: add regulator support
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> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250404-ml-topic-typec-mux-fs4480-v1-1-475377ef22a3@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f41f7b3d9d
commit
89ecf10514
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user