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
This commit is contained in:
Linus Torvalds 2007-07-05 16:10:16 -07:00
commit 7e8767dddf
6 changed files with 10 additions and 9 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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:

View File

@ -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 "

View File

@ -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);

View File

@ -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);