Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
@@ -101,6 +101,8 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case R_ARM_PC24:
|
case R_ARM_PC24:
|
||||||
|
case R_ARM_CALL:
|
||||||
|
case R_ARM_JUMP24:
|
||||||
offset = (*(u32 *)loc & 0x00ffffff) << 2;
|
offset = (*(u32 *)loc & 0x00ffffff) << 2;
|
||||||
if (offset & 0x02000000)
|
if (offset & 0x02000000)
|
||||||
offset -= 0x04000000;
|
offset -= 0x04000000;
|
||||||
|
@@ -155,19 +155,20 @@ int pxa_pm_enter(suspend_state_t state)
|
|||||||
PSPR = 0;
|
PSPR = 0;
|
||||||
|
|
||||||
/* restore registers */
|
/* restore registers */
|
||||||
|
RESTORE_GPLEVEL(0); RESTORE_GPLEVEL(1); RESTORE_GPLEVEL(2);
|
||||||
|
RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2);
|
||||||
RESTORE(GAFR0_L); RESTORE(GAFR0_U);
|
RESTORE(GAFR0_L); RESTORE(GAFR0_U);
|
||||||
RESTORE(GAFR1_L); RESTORE(GAFR1_U);
|
RESTORE(GAFR1_L); RESTORE(GAFR1_U);
|
||||||
RESTORE(GAFR2_L); RESTORE(GAFR2_U);
|
RESTORE(GAFR2_L); RESTORE(GAFR2_U);
|
||||||
RESTORE_GPLEVEL(0); RESTORE_GPLEVEL(1); RESTORE_GPLEVEL(2);
|
|
||||||
RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2);
|
|
||||||
RESTORE(GRER0); RESTORE(GRER1); RESTORE(GRER2);
|
RESTORE(GRER0); RESTORE(GRER1); RESTORE(GRER2);
|
||||||
RESTORE(GFER0); RESTORE(GFER1); RESTORE(GFER2);
|
RESTORE(GFER0); RESTORE(GFER1); RESTORE(GFER2);
|
||||||
RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2);
|
RESTORE(PGSR0); RESTORE(PGSR1); RESTORE(PGSR2);
|
||||||
|
|
||||||
#ifdef CONFIG_PXA27x
|
#ifdef CONFIG_PXA27x
|
||||||
RESTORE(MDREFR);
|
RESTORE(MDREFR);
|
||||||
RESTORE(GAFR3_L); RESTORE(GAFR3_U); RESTORE_GPLEVEL(3);
|
RESTORE_GPLEVEL(3); RESTORE(GPDR3);
|
||||||
RESTORE(GPDR3); RESTORE(GRER3); RESTORE(GFER3); RESTORE(PGSR3);
|
RESTORE(GAFR3_L); RESTORE(GAFR3_U);
|
||||||
|
RESTORE(GRER3); RESTORE(GFER3); RESTORE(PGSR3);
|
||||||
RESTORE(PWER); RESTORE(PCFR); RESTORE(PRER);
|
RESTORE(PWER); RESTORE(PCFR); RESTORE(PRER);
|
||||||
RESTORE(PFER); RESTORE(PKWR);
|
RESTORE(PFER); RESTORE(PKWR);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -721,11 +721,13 @@ flush_thread (void)
|
|||||||
/* drop floating-point and debug-register state if it exists: */
|
/* drop floating-point and debug-register state if it exists: */
|
||||||
current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID);
|
current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID);
|
||||||
ia64_drop_fpu(current);
|
ia64_drop_fpu(current);
|
||||||
|
#ifdef CONFIG_IA32_SUPPORT
|
||||||
if (IS_IA32_PROCESS(ia64_task_regs(current))) {
|
if (IS_IA32_PROCESS(ia64_task_regs(current))) {
|
||||||
ia32_drop_partial_page_list(current);
|
ia32_drop_partial_page_list(current);
|
||||||
current->thread.task_size = IA32_PAGE_OFFSET;
|
current->thread.task_size = IA32_PAGE_OFFSET;
|
||||||
set_fs(USER_DS);
|
set_fs(USER_DS);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -679,7 +679,15 @@ static void mmc_idle_cards(struct mmc_host *host)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Apply power to the MMC stack.
|
* Apply power to the MMC stack. This is a two-stage process.
|
||||||
|
* First, we enable power to the card without the clock running.
|
||||||
|
* We then wait a bit for the power to stabilise. Finally,
|
||||||
|
* enable the bus drivers and clock to the card.
|
||||||
|
*
|
||||||
|
* We must _NOT_ enable the clock prior to power stablising.
|
||||||
|
*
|
||||||
|
* If a host does all the power sequencing itself, ignore the
|
||||||
|
* initial MMC_POWER_UP stage.
|
||||||
*/
|
*/
|
||||||
static void mmc_power_up(struct mmc_host *host)
|
static void mmc_power_up(struct mmc_host *host)
|
||||||
{
|
{
|
||||||
|
@@ -22,6 +22,8 @@ typedef unsigned long elf_freg_t[3];
|
|||||||
#define R_ARM_NONE 0
|
#define R_ARM_NONE 0
|
||||||
#define R_ARM_PC24 1
|
#define R_ARM_PC24 1
|
||||||
#define R_ARM_ABS32 2
|
#define R_ARM_ABS32 2
|
||||||
|
#define R_ARM_CALL 28
|
||||||
|
#define R_ARM_JUMP24 29
|
||||||
|
|
||||||
#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
|
#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
|
||||||
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||||
|
Reference in New Issue
Block a user