regulator: tps65910: Remove unused min_uV and max_uV from struct tps_info
Subsystems (2)
PATCH 1/2 regulator: tps65910: Remove unused min_uV and max_uV from struct tps_info
The min_uV and max_uV fields of struct tps_info are not used in the code. For the case voltage_table is provided, the min_uV and max_uV are the same values as volt_table[0] and volt_table[n_voltages -1].
For the case voltage_table is not available, having the min_uV and max_uV seems misleading. Current code uses equations to get the voltage value in this case, but these equations do not use the min_uV and max_uV fields of struct tps_info.
Thus this patch removes the min_uV and max_uV fields from struct tps_info.
--- drivers/regulator/tps65910-regulator.c | 50 -------------------------------- 1 file changed, 50 deletions(-)
drivers/regulator/tps65910-regulator.c +0 -50
@@ -85,8 +85,6 @@ static const u16 VMMC_VSEL_table[] = {struct tps_info {const char *name; -unsigned min_uV; -unsigned max_uV;u8 n_voltages;const u16 *voltage_table;int enable_time_us;
@@ -99,92 +97,68 @@ static struct tps_info tps65910_regs[] = { }, { .name = "vio", - .min_uV = 1500000, - .max_uV = 3300000, .n_voltages = ARRAY_SIZE(VIO_VSEL_table), .voltage_table = VIO_VSEL_table, .enable_time_us = 350, }, { .name = "vdd1", - .min_uV = 600000, - .max_uV = 4500000, .enable_time_us = 350, }, { .name = "vdd2", - .min_uV = 600000, - .max_uV = 4500000, .enable_time_us = 350, }, { .name = "vdd3", - .min_uV = 5000000, - .max_uV = 5000000, .n_voltages = ARRAY_SIZE(VDD3_VSEL_table), .voltage_table = VDD3_VSEL_table, .enable_time_us = 200, }, { .name = "vdig1", - .min_uV = 1200000, - .max_uV = 2700000, .n_voltages = ARRAY_SIZE(VDIG1_VSEL_table), .voltage_table = VDIG1_VSEL_table, .enable_time_us = 100, }, { .name = "vdig2", - .min_uV = 1000000, - .max_uV = 1800000, .n_voltages = ARRAY_SIZE(VDIG2_VSEL_table), .voltage_table = VDIG2_VSEL_table, .enable_time_us = 100, }, { .name = "vpll", - .min_uV = 1000000, - .max_uV = 2500000, .n_voltages = ARRAY_SIZE(VPLL_VSEL_table), .voltage_table = VPLL_VSEL_table, .enable_time_us = 100, }, { .name = "vdac", - .min_uV = 1800000, - .max_uV = 2850000, .n_voltages = ARRAY_SIZE(VDAC_VSEL_table), .voltage_table = VDAC_VSEL_table, .enable_time_us = 100, }, { .name = "vaux1", - .min_uV = 1800000, - .max_uV = 2850000, .n_voltages = ARRAY_SIZE(VAUX1_VSEL_table), .voltage_table = VAUX1_VSEL_table, .enable_time_us = 100, }, { .name = "vaux2", - .min_uV = 1800000, - .max_uV = 3300000, .n_voltages = ARRAY_SIZE(VAUX2_VSEL_table), .voltage_table = VAUX2_VSEL_table, .enable_time_us = 100, }, { .name = "vaux33", - .min_uV = 1800000, - .max_uV = 3300000, .n_voltages = ARRAY_SIZE(VAUX33_VSEL_table), .voltage_table = VAUX33_VSEL_table, .enable_time_us = 100, }, { .name = "vmmc", - .min_uV = 1800000, - .max_uV = 3300000, .n_voltages = ARRAY_SIZE(VMMC_VSEL_table), .voltage_table = VMMC_VSEL_table, .enable_time_us = 100,
@@ -198,86 +172,62 @@ static struct tps_info tps65911_regs[] = { }, { .name = "vio", - .min_uV = 1500000, - .max_uV = 3300000, .n_voltages = ARRAY_SIZE(VIO_VSEL_table), .voltage_table = VIO_VSEL_table, .enable_time_us = 350, }, { .name = "vdd1", - .min_uV = 600000, - .max_uV = 4500000, .n_voltages = 73, .enable_time_us = 350, }, { .name = "vdd2", - .min_uV = 600000, - .max_uV = 4500000, .n_voltages = 73, .enable_time_us = 350, }, { .name = "vddctrl", - .min_uV = 600000, - .max_uV = 1400000, .n_voltages = 65, .enable_time_us = 900, }, { .name = "ldo1", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 47, .enable_time_us = 420, }, { .name = "ldo2", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 47, .enable_time_us = 420, }, { .name = "ldo3", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 24, .enable_time_us = 230, }, { .name = "ldo4", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 47, .enable_time_us = 230, }, { .name = "ldo5", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 24, .enable_time_us = 230, }, { .name = "ldo6", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 24, .enable_time_us = 230, }, { .name = "ldo7", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 24, .enable_time_us = 230, }, { .name = "ldo8", - .min_uV = 1000000, - .max_uV = 3300000, .n_voltages = 24, .enable_time_us = 230, },
Signature · 1 line
1.7.9.5
PATCH 2/2 regulator: tps65910: Convert to regulator_list_voltage_table
Convert tps65910_ops and tps65910_ops_vdd3 to regulator_list_voltage_table.
--- drivers/regulator/tps65910-regulator.c | 94 ++++++++++++++------------------ 1 file changed, 40 insertions(+), 54 deletions(-)
drivers/regulator/tps65910-regulator.c +40 -54
@@ -31,62 +31,62 @@ TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3 | \ TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP) -/* supported VIO voltages in millivolts */ -static const u16 VIO_VSEL_table[] = { -1500 ,1800 ,2500 ,3300 , +/* supported VIO voltages in microvolts */ +static const unsigned int VIO_VSEL_table[] = { +1500000 ,1800000 ,2500000 ,3300000 , };/* VSEL tables for TPS65910 specific LDOs and dcdc's */ -/* supported VDD3 voltages in millivolts */ -static const u16 VDD3_VSEL_table[] = { -5000 , +/* supported VDD3 voltages in microvolts */ +static const unsigned int VDD3_VSEL_table[] = { +5000000 , }; -/* supported VDIG1 voltages in millivolts */ -static const u16 VDIG1_VSEL_table[] = { -1200 ,1500 ,1800 ,2700 , +/* supported VDIG1 voltages in microvolts */ +static const unsigned int VDIG1_VSEL_table[] = { +1200000 ,1500000 ,1800000 ,2700000 , }; -/* supported VDIG2 voltages in millivolts */ -static const u16 VDIG2_VSEL_table[] = { -1000 ,1100 ,1200 ,1800 , +/* supported VDIG2 voltages in microvolts */ +static const unsigned int VDIG2_VSEL_table[] = { +1000000 ,1100000 ,1200000 ,1800000 , }; -/* supported VPLL voltages in millivolts */ -static const u16 VPLL_VSEL_table[] = { -1000 ,1100 ,1800 ,2500 , +/* supported VPLL voltages in microvolts */ +static const unsigned int VPLL_VSEL_table[] = { +1000000 ,1100000 ,1800000 ,2500000 , }; -/* supported VDAC voltages in millivolts */ -static const u16 VDAC_VSEL_table[] = { -1800 ,2600 ,2800 ,2850 , +/* supported VDAC voltages in microvolts */ +static const unsigned int VDAC_VSEL_table[] = { +1800000 ,2600000 ,2800000 ,2850000 , }; -/* supported VAUX1 voltages in millivolts */ -static const u16 VAUX1_VSEL_table[] = { -1800 ,2500 ,2800 ,2850 , +/* supported VAUX1 voltages in microvolts */ +static const unsigned int VAUX1_VSEL_table[] = { +1800000 ,2500000 ,2800000 ,2850000 , }; -/* supported VAUX2 voltages in millivolts */ -static const u16 VAUX2_VSEL_table[] = { -1800 ,2800 ,2900 ,3300 , +/* supported VAUX2 voltages in microvolts */ +static const unsigned int VAUX2_VSEL_table[] = { +1800000 ,2800000 ,2900000 ,3300000 , }; -/* supported VAUX33 voltages in millivolts */ -static const u16 VAUX33_VSEL_table[] = { -1800 ,2000 ,2800 ,3300 , +/* supported VAUX33 voltages in microvolts */ +static const unsigned int VAUX33_VSEL_table[] = { +1800000 ,2000000 ,2800000 ,3300000 , }; -/* supported VMMC voltages in millivolts */ -static const u16 VMMC_VSEL_table[] = { -1800 ,2800 ,3000 ,3300 , +/* supported VMMC voltages in microvolts */ +static const unsigned int VMMC_VSEL_table[] = { +1800000 ,2800000 ,3000000 ,3300000 , };struct tps_info {const char *name;u8 n_voltages; -const u16 *voltage_table; +const unsigned int *voltage_table;int enable_time_us; };
@@ -559,7 +559,7 @@ static int tps65910_get_voltage_sel(struct regulator_dev *dev)static int tps65910_get_voltage_vdd3 (struct regulator_dev *dev) { -return 5 *1000 *1000 ; +return dev->desc->volt_table[0 ]; }static int tps65911_get_voltage_sel (struct regulator_dev *dev)
@@ -718,23 +718,6 @@ static int tps65910_list_voltage_dcdc(struct regulator_dev *dev,return volt *100 * mult; } -static int tps65910_list_voltage (struct regulator_dev *dev, -unsigned selector) -{ -struct tps65910_reg *pmic =rdev_get_drvdata (dev); -int id =rdev_get_id (dev), voltage; - -if (id <TPS65910_REG_VIO || id >TPS65910_REG_VMMC ) -return -EINVAL ; - -if (selector >= pmic->info[id]->n_voltages) -return -EINVAL ; -else - voltage = pmic->info[id]->voltage_table[selector] *1000 ; - -return voltage; -} -static int tps65911_list_voltage (struct regulator_dev *dev,unsigned selector) {struct tps65910_reg *pmic =rdev_get_drvdata (dev);
@@ -766,7 +749,7 @@ static int tps65911_list_voltage(struct regulator_dev *dev, unsigned selector) step_mv =100 ;break ;case TPS65910_REG_VIO : -return pmic->info[id]->voltage_table[selector] *1000 ; +return pmic->info[id]->voltage_table[selector];default :return -EINVAL ; }
@@ -796,7 +779,7 @@ static struct regulator_ops tps65910_ops_vdd3 = { .set_mode = tps65910_set_mode, .get_mode = tps65910_get_mode, .get_voltage = tps65910_get_voltage_vdd3, - .list_voltage = tps65910_list_voltage, + .list_voltage = regulator_list_voltage_table, };static struct regulator_ops tps65910_ops = {
@@ -808,7 +791,7 @@ static struct regulator_ops tps65910_ops = { .get_mode = tps65910_get_mode, .get_voltage_sel = tps65910_get_voltage_sel, .set_voltage_sel = tps65910_set_voltage_sel, - .list_voltage = tps65910_list_voltage, + .list_voltage = regulator_list_voltage_table, };static struct regulator_ops tps65911_ops = {
@@ -1165,15 +1148,18 @@ static __devinit int tps65910_probe(struct platform_device *pdev) }else if (i ==TPS65910_REG_VDD3 ) {if (tps65910_chip_id (tps65910) ==TPS65910 ) { pmic->desc[i].ops = &tps65910_ops_vdd3; + pmic->desc[i].volt_table = info->voltage_table; }else { pmic->desc[i].ops = &tps65910_ops_dcdc; pmic->desc[i].ramp_delay =5000 ; } }else { -if (tps65910_chip_id (tps65910) ==TPS65910 ) +if (tps65910_chip_id (tps65910) ==TPS65910 ) { pmic->desc[i].ops = &tps65910_ops; -else + pmic->desc[i].volt_table = info->voltage_table; + }else { pmic->desc[i].ops = &tps65911_ops; + } } err = tps65910_set_ext_sleep_config(pmic, i,
Signature · 1 line
1.7.9.5
Re: [PATCH 2/2] regulator: tps65910: Convert to regulator_list_voltage_table
Quoted 4 lines · Axel Lin
Convert
tps65910_opsandtps65910_ops_vdd3toregulator_list_voltage_table.Signed-off-by Axel Lin<[email protected]>---
I am fine with this change.
Quoted 11 lines · Axel Lin
The
min_uVandmax_uVfields of structtps_infoare not used in the code. For the casevoltage_tableis provided, themin_uVandmax_uVare the same values as volt_table[0] and volt_table[n_voltages -1].
For the casevoltage_tableis not available, having themin_uVandmax_uVseems misleading. Current code uses equations to get the voltage value in this case, but these equations do not use themin_uVandmax_uVfields of structtps_info.Thus this patch removes the
min_uVandmax_uVfields from structtps_info.Signed-off-by Axel Lin<[email protected]>---
Mark Brown
AppliedQuoted 1 line · Axel Lin
The
min_uVandmax_uVfields of structtps_infoare not used in the code.
Applied both, thanks.