lkml.org 
[lkml]   [2009]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 16/21] Blackfin: fix bugs in GPIO resume code
    Date
    From: Michael Hennerich <michael.hennerich@analog.com>

    Change the bfin_gpio_pm_hibernate_restore() function to:
    1) AND restored DATA with DIR (not OR) to get correct final state
    2) Restore DATA before setting DIR to avoid glitches

    Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    ---
    arch/blackfin/kernel/bfin_gpio.c | 6 ++----
    1 files changed, 2 insertions(+), 4 deletions(-)

    diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c
    index beffa00..6b94462 100644
    --- a/arch/blackfin/kernel/bfin_gpio.c
    +++ b/arch/blackfin/kernel/bfin_gpio.c
    @@ -686,14 +686,12 @@ void bfin_gpio_pm_hibernate_restore(void)
    *port_fer[bank] = gpio_bank_saved[bank].fer;
    #endif
    gpio_array[bank]->inen = gpio_bank_saved[bank].inen;
    + gpio_array[bank]->data_set = gpio_bank_saved[bank].data
    + & gpio_bank_saved[bank].dir;
    gpio_array[bank]->dir = gpio_bank_saved[bank].dir;
    gpio_array[bank]->polar = gpio_bank_saved[bank].polar;
    gpio_array[bank]->edge = gpio_bank_saved[bank].edge;
    gpio_array[bank]->both = gpio_bank_saved[bank].both;
    -
    - gpio_array[bank]->data_set = gpio_bank_saved[bank].data
    - | gpio_bank_saved[bank].dir;
    -
    gpio_array[bank]->maska = gpio_bank_saved[bank].maska;
    }
    AWA_DUMMY_READ(maska);
    --
    1.6.3.3


    \
     
     \ /
      Last update: 2009-07-17 02:33    [W:0.025 / U:30.984 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site