Skip to content

Commit

Permalink
Blackfin arch: fix bug can not wakeup from sleep via push buttons
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
  • Loading branch information
Michael Hennerich authored and Bryan Wu committed Jun 14, 2007
1 parent 5e10b4a commit 581d62a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
12 changes: 10 additions & 2 deletions arch/blackfin/kernel/bfin_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -494,19 +494,24 @@ u32 gpio_pm_setup(void)
gpio_bank_saved[bank].dir = gpio_bankb[bank]->dir;
gpio_bank_saved[bank].edge = gpio_bankb[bank]->edge;
gpio_bank_saved[bank].both = gpio_bankb[bank]->both;
gpio_bank_saved[bank].reserved = reserved_map[bank];

gpio = i;

while (mask) {
if (mask & 1) {
bfin_gpio_wakeup_type(gpio, wakeup_flags_map[gpio]);
reserved_map[gpio_bank(gpio)] |=
gpio_bit(gpio);
bfin_gpio_wakeup_type(gpio,
wakeup_flags_map[gpio]);
set_gpio_data(gpio, 0); /*Clear*/
}
gpio++;
mask >>= 1;
}

sic_iwr |= 1 << (sic_iwr_irqs[bank] - (IRQ_CORETMR + 1));
sic_iwr |= 1 <<
(sic_iwr_irqs[bank] - (IRQ_CORETMR + 1));
gpio_bankb[bank]->maskb_set = wakeup_map[gpio_bank(i)];
}
}
Expand Down Expand Up @@ -535,6 +540,9 @@ void gpio_pm_restore(void)
gpio_bankb[bank]->polar = gpio_bank_saved[bank].polar;
gpio_bankb[bank]->edge = gpio_bank_saved[bank].edge;
gpio_bankb[bank]->both = gpio_bank_saved[bank].both;

reserved_map[bank] = gpio_bank_saved[bank].reserved;

}

gpio_bankb[bank]->maskb = gpio_bank_saved[bank].maskb;
Expand Down
1 change: 1 addition & 0 deletions include/asm-blackfin/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,7 @@ struct gpio_port_s {
unsigned short inen;

unsigned short fer;
unsigned short reserved;
};
#endif /*CONFIG_PM*/

Expand Down

0 comments on commit 581d62a

Please sign in to comment.