Re: [PATCH 3/4] REGULATOR: TWL6025: add support to twl-regulator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 27, 2011 at 10:39:50AM +0100, Graeme Gregory wrote:

> +	switch (info->flags) {
> +	case 0:
> +		if (index == 0)
> +			voltage = 0;
> +		else if (index < 58)
> +			voltage = (600000 + (12500 * (index - 1)));
> +		else if (index == 58)
> +			voltage = 1350 * 1000;
> +		else if (index == 59)
> +			voltage = 1500 * 1000;
> +		else if (index == 60)
> +			voltage = 1800 * 1000;
> +		else if (index == 61)
> +			voltage = 1900 * 1000;
> +		else if (index == 62)
> +			voltage = 2100 * 1000;

This reads like a switch statement with a default: case to me.

> +static int twl6030dcdc_get_voltage(struct regulator_dev *rdev)
> +{
> +	struct twlreg_info	*info = rdev_get_drvdata(rdev);
> +	int		vsel = twlreg_read(info, TWL_MODULE_PM_RECEIVER,
> +							VREG_VOLTAGE_DCDC);
> +	int voltage = 0;
> +
> +	if (vsel < 0)
> +		return vsel;
> +	switch (info->flags) {

This should just call list_voltage() to do the mapping into a voltage or
better yet should be converted into a get_voltage_sel() which will mean
that the core can call list_voltage() for you.  Either way you save
duplicating the code to map from selector to voltage.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux