Commit 7e8767dd authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] always allow dump_stack() to produce a backtrace
  [ARM] Fix non-page aligned boot time mappings
  [ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume
  [ARM] 4454/1: Use word accesses in Versatile PCI config reads
parents cab8e5c4 082f47a7
...@@ -181,9 +181,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) ...@@ -181,9 +181,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
void dump_stack(void) void dump_stack(void)
{ {
#ifdef CONFIG_DEBUG_ERRORS
__backtrace(); __backtrace();
#endif
} }
EXPORT_SYMBOL(dump_stack); EXPORT_SYMBOL(dump_stack);
......
...@@ -140,9 +140,9 @@ void pxa_cpu_pm_enter(suspend_state_t state) ...@@ -140,9 +140,9 @@ void pxa_cpu_pm_enter(suspend_state_t state)
extern void pxa_cpu_resume(void); extern void pxa_cpu_resume(void);
if (state == PM_SUSPEND_STANDBY) if (state == PM_SUSPEND_STANDBY)
CKEN = CKEN_MEMC | CKEN_OSTIMER | CKEN_LCD | CKEN_PWM0; CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER) | (1 << CKEN_LCD) | (1 << CKEN_PWM0);
else else
CKEN = CKEN_MEMC | CKEN_OSTIMER; CKEN = (1 << CKEN_MEMC) | (1 << CKEN_OSTIMER);
/* ensure voltage-change sequencer not initiated, which hangs */ /* ensure voltage-change sequencer not initiated, which hangs */
PCFR &= ~PCFR_FVC; PCFR &= ~PCFR_FVC;
......
...@@ -117,7 +117,10 @@ static int versatile_read_config(struct pci_bus *bus, unsigned int devfn, int wh ...@@ -117,7 +117,10 @@ static int versatile_read_config(struct pci_bus *bus, unsigned int devfn, int wh
} else { } else {
switch (size) { switch (size) {
case 1: case 1:
v = __raw_readb(addr); v = __raw_readl(addr);
if (where & 2) v >>= 16;
if (where & 1) v >>= 8;
v &= 0xff;
break; break;
case 2: case 2:
......
...@@ -527,9 +527,9 @@ void __init create_mapping(struct map_desc *md) ...@@ -527,9 +527,9 @@ void __init create_mapping(struct map_desc *md)
return; return;
} }
addr = md->virtual; addr = md->virtual & PAGE_MASK;
phys = (unsigned long)__pfn_to_phys(md->pfn); phys = (unsigned long)__pfn_to_phys(md->pfn);
length = PAGE_ALIGN(md->length); length = PAGE_ALIGN(md->length + (md->virtual & ~PAGE_MASK));
if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) { if (type->prot_l1 == 0 && ((addr | phys | length) & ~SECTION_MASK)) {
printk(KERN_WARNING "BUG: map for 0x%08lx at 0x%08lx can not " printk(KERN_WARNING "BUG: map for 0x%08lx at 0x%08lx can not "
......
...@@ -361,7 +361,7 @@ static int __devinit pxa2xx_ac97_probe(struct platform_device *dev) ...@@ -361,7 +361,7 @@ static int __devinit pxa2xx_ac97_probe(struct platform_device *dev)
err: err:
if (card) if (card)
snd_card_free(card); snd_card_free(card);
if (CKEN & CKEN_AC97) { if (CKEN & (1 << CKEN_AC97)) {
GCR |= GCR_ACLINK_OFF; GCR |= GCR_ACLINK_OFF;
free_irq(IRQ_AC97, NULL); free_irq(IRQ_AC97, NULL);
pxa_set_cken(CKEN_AC97, 0); pxa_set_cken(CKEN_AC97, 0);
......
...@@ -300,7 +300,7 @@ static int pxa2xx_ac97_probe(struct platform_device *pdev) ...@@ -300,7 +300,7 @@ static int pxa2xx_ac97_probe(struct platform_device *pdev)
return 0; return 0;
err: err:
if (CKEN & CKEN_AC97) { if (CKEN & (1 << CKEN_AC97)) {
GCR |= GCR_ACLINK_OFF; GCR |= GCR_ACLINK_OFF;
free_irq(IRQ_AC97, NULL); free_irq(IRQ_AC97, NULL);
pxa_set_cken(CKEN_AC97, 0); pxa_set_cken(CKEN_AC97, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment