2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

regulator: rt6160: Add rt6166 vout min_uV setting for compatible

1. remove unintentional GPL change
2. using switch case for Device ID probe check.

Signed-off-by: Jeff Chang <jeff_chang@richtek.com>
Link: https://patch.msgid.link/20250716021230.2660564-1-jeff_chang@richtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Jeff Chang 2025-07-16 10:08:30 +08:00 committed by Mark Brown
parent 43728a6434
commit 63be976da9
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -31,8 +31,11 @@
#define RT6160_PGSTAT_MASK BIT(0)
#define RT6160_VENDOR_ID 0xA0
#define RT6166_VENDOR_ID 0xB0
#define RT6160_VOUT_MINUV 2025000
#define RT6160_VOUT_MAXUV 5200000
#define RT6166_VOUT_MINUV 1800000
#define RT6166_VOUD_MAXUV 4950000
#define RT6160_VOUT_STPUV 25000
#define RT6160_N_VOUTS ((RT6160_VOUT_MAXUV - RT6160_VOUT_MINUV) / RT6160_VOUT_STPUV + 1)
@ -43,6 +46,7 @@ struct rt6160_priv {
struct gpio_desc *enable_gpio;
struct regmap *regmap;
bool enable_state;
uint8_t devid;
};
static const unsigned int rt6160_ramp_tables[] = {
@ -260,14 +264,25 @@ static int rt6160_probe(struct i2c_client *i2c)
if (ret)
return ret;
if ((devid & RT6160_VID_MASK) != RT6160_VENDOR_ID) {
devid = devid & RT6160_VID_MASK;
switch (devid) {
case RT6166_VENDOR_ID:
case RT6160_VENDOR_ID:
break;
default:
dev_err(&i2c->dev, "VID not correct [0x%02x]\n", devid);
return -ENODEV;
}
priv->devid = devid;
priv->desc.name = "rt6160-buckboost";
priv->desc.type = REGULATOR_VOLTAGE;
priv->desc.owner = THIS_MODULE;
if (priv->devid == RT6166_VENDOR_ID)
priv->desc.min_uV = RT6166_VOUT_MINUV;
else
priv->desc.min_uV = RT6160_VOUT_MINUV;
priv->desc.uV_step = RT6160_VOUT_STPUV;
if (vsel_active_low)