diff --git a/drivers/regulator/fan53555.c b/drivers/regulator/fan53555.c index aa426183b6a1..f36d1c5ebaab 100644 --- a/drivers/regulator/fan53555.c +++ b/drivers/regulator/fan53555.c @@ -108,6 +108,12 @@ struct fan53555_device_info { unsigned int sleep_vol_cache; }; +static unsigned int fan53555_map_mode(unsigned int mode) +{ + return mode == REGULATOR_MODE_FAST ? + REGULATOR_MODE_FAST : REGULATOR_MODE_NORMAL; +} + static int fan53555_set_suspend_voltage(struct regulator_dev *rdev, int uV) { struct fan53555_device_info *di = rdev_get_drvdata(rdev); @@ -470,6 +476,8 @@ static int fan53555_regulator_probe(struct i2c_client *client, if (!di) return -ENOMEM; + di->desc.of_map_mode = fan53555_map_mode; + pdata = dev_get_platdata(&client->dev); if (!pdata) pdata = fan53555_parse_dt(&client->dev, np, &di->desc);