Re: [PATCH 3/6] regulator: platform level interface.

From: Andrew Morton
Date: Sat Feb 23 2008 - 03:27:10 EST


On Wed, 20 Feb 2008 17:09:05 +0000 Liam Girdwood <lg@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

> This interface configures a regulator for use within a specific device. It
> allows for the creation of voltage and current domains (with constraints) for
> each regulator. Regulator constraints help prevent device damage by providing
> protection for over voltage or over current events caused by buggy client
> drivers.
>
> This interface also allows the creation of a regulator tree whereby some
> regulators are supplied by others (similar to a clock tree). This means a
> parent regulator will be enabled before it's children are enabled and
> disabled after it's children have all been disabled.
>
> ...
>
> +/**
> + * struct regulation_constraints - regulator operating constraints.
> + *
> + * This struct describes regulator and board/machine specific constraints.
> + */
> +struct regulation_constraints {
> +
> + char *name;
> +
> + /* voltage output range - for voltage control */
> + int min_uV;
> + int max_uV;
> +
> + /* current output range - for current control */
> + int min_uA;
> + int max_uA;

It might be worth mentioning whether these are inclusive or exclusive limits.

> + /* valid regulator operating modes for this machine */
> + unsigned int valid_modes_mask;
> +
> + /* valid operations for regulator on this machine */
> + unsigned int valid_ops_mask;
> +
> + /* input voltage */
> + int input_uV;
> +};
> +

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/