24 Nov, 2011

1 commit

  • The commit 2c043bcbf287 ("regulator: pass additional of_node to
    regulator_register()") caused a compile break because it missed
    updating the regulator_register() call in gpio-regulator.c with
    the additional parameter (NULL).

    The compile break as reported by Stephen Rothwell with the
    x86_64 allmodconfig looked like this

    drivers/regulator/gpio-regulator.c: In function 'gpio_regulator_probe':
    drivers/regulator/gpio-regulator.c:287:8: error: too few arguments to function 'regulator_register'
    include/linux/regulator/driver.h:215:23: note: declared here

    Reported-by: Stephen Rothwell
    Signed-off-by: Rajendra Nayak
    Signed-off-by: Mark Brown

    Rajendra Nayak
     

11 Oct, 2011

1 commit


09 Oct, 2011

1 commit

  • This patch adds support for regulators that can be controlled via gpios.

    Examples for such regulators are the TI-tps65024x voltage regulators
    with 4 fixed and 1 runtime-switchable voltage regulators
    or the TI-bq240XX charger regulators.

    The number of controlling gpios is not limited, the mapping between
    voltage/current and target gpio state is done via the states map
    and the driver can be used for either voltage or current regulators.

    A mapping for a regulator with two GPIOs could look like:

    gpios = {
    { .gpio = GPIO1, .flags = GPIOF_OUT_INIT_HIGH, .label = "gpio name 1" },
    { .gpio = GPIO2, .flags = GPIOF_OUT_INIT_LOW, .label = "gpio name 2" },
    }

    The flags element of the gpios array determines the initial state of
    the gpio, set during probe. The initial state of the regulator is also
    calculated from these values

    states = {
    { .value = volt_or_cur1, .gpios = (0 << 1) | (0 << 0) },
    { .value = volt_or_cur2, .gpios = (0 << 1) | (1 << 0) },
    { .value = volt_or_cur3, .gpios = (1 << 1) | (0 << 0) },
    { .value = volt_or_cur4, .gpios = (1 << 1) | (1 << 0) },
    }

    The target-state for the n-th gpio is determined by the n-th bit
    in the bitfield of the target-value.

    Signed-off-by: Heiko Stuebner
    Signed-off-by: Mark Brown

    Heiko Stübner