lkml.org 
[lkml]   [2015]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 02/10] mfd: arizona: Factor out hard reset into helper functions
    Date
    This patch adds functions for enabling and disabling the physical reset
    line. This will be helpful in future refactoring.

    Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Acked-by: Lee Jones <lee.jones@linaro.org>
    ---
    drivers/mfd/arizona-core.c | 25 +++++++++++++++++--------
    1 files changed, 17 insertions(+), 8 deletions(-)

    diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
    index 915cc28..f30d925 100644
    --- a/drivers/mfd/arizona-core.c
    +++ b/drivers/mfd/arizona-core.c
    @@ -250,6 +250,20 @@ static int arizona_wait_for_boot(struct arizona *arizona)
    return ret;
    }

    +static inline void arizona_enable_reset(struct arizona *arizona)
    +{
    + if (arizona->pdata.reset)
    + gpio_set_value_cansleep(arizona->pdata.reset, 0);
    +}
    +
    +static void arizona_disable_reset(struct arizona *arizona)
    +{
    + if (arizona->pdata.reset) {
    + gpio_set_value_cansleep(arizona->pdata.reset, 1);
    + msleep(1);
    + }
    +}
    +
    static int arizona_apply_hardware_patch(struct arizona* arizona)
    {
    unsigned int fll, sysclk;
    @@ -751,10 +765,7 @@ int arizona_dev_init(struct arizona *arizona)
    goto err_enable;
    }

    - if (arizona->pdata.reset) {
    - gpio_set_value_cansleep(arizona->pdata.reset, 1);
    - msleep(1);
    - }
    + arizona_disable_reset(arizona);

    regcache_cache_only(arizona->regmap, false);

    @@ -1046,8 +1057,7 @@ int arizona_dev_init(struct arizona *arizona)
    err_irq:
    arizona_irq_exit(arizona);
    err_reset:
    - if (arizona->pdata.reset)
    - gpio_set_value_cansleep(arizona->pdata.reset, 0);
    + arizona_enable_reset(arizona);
    regulator_disable(arizona->dcvdd);
    err_enable:
    regulator_bulk_disable(arizona->num_core_supplies,
    @@ -1072,8 +1082,7 @@ int arizona_dev_exit(struct arizona *arizona)
    arizona_free_irq(arizona, ARIZONA_IRQ_OVERCLOCKED, arizona);
    arizona_free_irq(arizona, ARIZONA_IRQ_CLKGEN_ERR, arizona);
    arizona_irq_exit(arizona);
    - if (arizona->pdata.reset)
    - gpio_set_value_cansleep(arizona->pdata.reset, 0);
    + arizona_enable_reset(arizona);

    regulator_bulk_disable(arizona->num_core_supplies,
    arizona->core_supplies);
    --
    1.7.2.5


    \
     
     \ /
      Last update: 2015-04-30 12:21    [W:2.940 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site