[PATCH] regulator: Add new driver for ST's PWM controlled voltage regulators

Josh Cartwright joshc at codeaurora.org
Fri Mar 21 10:36:04 EDT 2014


On Fri, Mar 21, 2014 at 10:21:36AM +0000, Lee Jones wrote:
> +static int st_pwm_regulator_set_voltage_sel(struct regulator_dev *dev,
> +					    unsigned selector)
> +{
> +	struct st_pwm_regulator_data *drvdata = rdev_get_drvdata(dev);
> +	int dutycycle;
> +	int ret;
> +
> +	if (selector >= dev->desc->n_voltages)
> +		return -EINVAL;

If this case is ever hit, I would argue it's a bug in the regulator
core.

> +static struct st_pwm_voltages b2105_duty_cycle_table[] = {

const?

> +	{ .uV = 1114000, .dutycycle = 0,  },
> +	{ .uV = 1095000, .dutycycle = 10, },
> +	{ .uV = 1076000, .dutycycle = 20, },
> +	{ .uV = 1056000, .dutycycle = 30, },
> +	{ .uV = 1036000, .dutycycle = 40, },
> +	{ .uV = 1016000, .dutycycle = 50, },
> +	/* WARNING: Values above 50% duty-cycle cause boot failures. */
> +};
> +
> +static const struct regulator_desc b2105_desc = {
> +	.name		= "b2105-pwm-regulator",
> +	.ops		= &st_pwm_regulator_voltage_ops,
> +	.type		= REGULATOR_VOLTAGE,
> +	.owner		= THIS_MODULE,
> +	.n_voltages	= ARRAY_SIZE(b2105_duty_cycle_table),
> +	.supply_name    = "pwm",
> +};
> +
> +static const struct st_pwm_regulator_pdata b2105_info = {
> +	.desc		  = &b2105_desc,
> +	.duty_cycle_table = b2105_duty_cycle_table,
> +};
> +
> +static struct of_device_id st_pwm_of_match[] = {

const?

Other than that:

Reviewed-by: Josh Cartwright <joshc at codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation



More information about the linux-arm-kernel mailing list