lkml.org 
[lkml]   [2013]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 4/7] extcon: arizona: No need to switch back down HPDET ranges
    Date
    No point in revisiting ranges the detection will be no more accurate
    the second time simply report that the resistance is right on the
    range boundry.

    Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    ---
    drivers/extcon/extcon-arizona.c | 21 +++++++--------------
    1 files changed, 7 insertions(+), 14 deletions(-)

    diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
    index bc60e8c..1a48b10 100644
    --- a/drivers/extcon/extcon-arizona.c
    +++ b/drivers/extcon/extcon-arizona.c
    @@ -441,20 +441,7 @@ static int arizona_hpdet_read(struct arizona_extcon_info *info)
    range = (range & ARIZONA_HP_IMPEDANCE_RANGE_MASK)
    >> ARIZONA_HP_IMPEDANCE_RANGE_SHIFT;

    - /* Skip up or down a range? */
    - if (range && (val < arizona_hpdet_c_ranges[range].min)) {
    - range--;
    - dev_dbg(arizona->dev, "Moving to HPDET range %d-%d\n",
    - arizona_hpdet_c_ranges[range].min,
    - arizona_hpdet_c_ranges[range].max);
    - regmap_update_bits(arizona->regmap,
    - ARIZONA_HEADPHONE_DETECT_1,
    - ARIZONA_HP_IMPEDANCE_RANGE_MASK,
    - range <<
    - ARIZONA_HP_IMPEDANCE_RANGE_SHIFT);
    - return -EAGAIN;
    - }
    -
    + /* Skip up a range, or report? */
    if (range < ARRAY_SIZE(arizona_hpdet_c_ranges) - 1 &&
    (val >= arizona_hpdet_c_ranges[range].max)) {
    range++;
    @@ -468,6 +455,12 @@ static int arizona_hpdet_read(struct arizona_extcon_info *info)
    ARIZONA_HP_IMPEDANCE_RANGE_SHIFT);
    return -EAGAIN;
    }
    +
    + if (range && (val < arizona_hpdet_c_ranges[range].min)) {
    + dev_dbg(arizona->dev, "Reporting range boundary %d\n",
    + arizona_hpdet_c_ranges[range].min);
    + val = arizona_hpdet_c_ranges[range].min;
    + }
    }

    dev_dbg(arizona->dev, "HP impedance %d ohms\n", val);
    --
    1.7.2.5


    \
     
     \ /
      Last update: 2013-11-14 18:01    [W:5.222 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site