lkml.org 
[lkml]   [2013]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] added support for ams AS3722 regulator
On Wed, Aug 14, 2013 at 04:58:02PM +0200, Florian Lobmaier wrote:

> +++ b/drivers/regulator/Kconfig
> @@ -533,5 +533,12 @@ config REGULATOR_AS3711
> This driver provides support for the voltage regulators on the
> AS3711 PMIC
>
> +config REGULATOR_AS3722
> + tristate "ams AS3722 PMIC regulators"
> + depends on MFD_AS3722
> + help
> + This driver provides support for the voltage regulators of the
> + ams AS3722 PMIC.
> +
> endif

Keep this and the Makefile sorted please.

> + * as3722 ldo0 extended input range (0.825-1.25V) */
> +static int as3722_ldo0_is_enabled(struct regulator_dev *dev)
> +{
> + u32 val;
> + struct as3722 *as3722 = rdev_get_drvdata(dev);
> +
> + as3722_reg_read(as3722, AS3722_LDOCONTROL0_REG, &val);
> + return (val & AS3722_LDO0_CTRL_MASK) != 0;
> +}

These all look like you could use the standard regmap helpers.

> +static int as3722_ldo0_list_voltage(struct regulator_dev *dev,
> + unsigned selector)
> +{
> + if (selector >= AS3722_LDO0_VSEL_MAX)
> + return -EINVAL;
> +
> + return 800000 + (selector + 1) * 25000;
> +}

This is just a linear mapping, use the standard helpers - the same thing
applies to most of the driver, it seems like there's standard helpers
for most of the enable and voltage management.

> +static int __init as3722_regulator_init(void)
> +{
> + return platform_driver_register(&as3722_regulator_driver);
> +}
> +
> +subsys_initcall(as3722_regulator_init);

Modern platforms should just be able to register as a normal driver and
use deferred probing to sort out the init order.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2013-08-14 20:01    [W:0.053 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site