Loading arch/arm/kernel/sys_arm.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -305,7 +305,7 @@ long execve(const char *filename, char **argv, char **envp) "Ir" (THREAD_START_SP - sizeof(regs)), "Ir" (THREAD_START_SP - sizeof(regs)), "r" (®s), "r" (®s), "Ir" (sizeof(regs)) "Ir" (sizeof(regs)) : "r0", "r1", "r2", "r3", "ip", "memory"); : "r0", "r1", "r2", "r3", "ip", "lr", "memory"); out: out: return ret; return ret; Loading arch/arm/kernel/traps.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -504,7 +504,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) bad_access: bad_access: spin_unlock(&mm->page_table_lock); spin_unlock(&mm->page_table_lock); /* simulate a read access fault */ /* simulate a write access fault */ do_DataAbort(addr, 15 + (1 << 11), regs); do_DataAbort(addr, 15 + (1 << 11), regs); return -1; return -1; } } Loading arch/arm/mach-imx/generic.c +12 −11 Original line number Original line Diff line number Diff line Loading @@ -28,14 +28,15 @@ #include <linux/module.h> #include <linux/module.h> #include <asm/arch/imxfb.h> #include <asm/arch/imxfb.h> #include <asm/hardware.h> #include <asm/hardware.h> #include <asm/arch/imx-regs.h> #include <asm/mach/map.h> #include <asm/mach/map.h> void imx_gpio_mode(int gpio_mode) void imx_gpio_mode(int gpio_mode) { { unsigned int pin = gpio_mode & GPIO_PIN_MASK; unsigned int pin = gpio_mode & GPIO_PIN_MASK; unsigned int port = (gpio_mode & GPIO_PORT_MASK) >> 5; unsigned int port = (gpio_mode & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT; unsigned int ocr = (gpio_mode & GPIO_OCR_MASK) >> 10; unsigned int ocr = (gpio_mode & GPIO_OCR_MASK) >> GPIO_OCR_SHIFT; unsigned int tmp; unsigned int tmp; /* Pullup enable */ /* Pullup enable */ Loading @@ -57,7 +58,7 @@ void imx_gpio_mode(int gpio_mode) GPR(port) &= ~(1<<pin); GPR(port) &= ~(1<<pin); /* use as gpio? */ /* use as gpio? */ if( ocr == 3 ) if(gpio_mode & GPIO_GIUS) GIUS(port) |= (1<<pin); GIUS(port) |= (1<<pin); else else GIUS(port) &= ~(1<<pin); GIUS(port) &= ~(1<<pin); Loading @@ -72,20 +73,20 @@ void imx_gpio_mode(int gpio_mode) tmp |= (ocr << (pin*2)); tmp |= (ocr << (pin*2)); OCR1(port) = tmp; OCR1(port) = tmp; if( gpio_mode & GPIO_AOUT ) ICONFA1(port) &= ~( 3<<(pin*2)); ICONFA1(port) &= ~( 3<<(pin*2)); if( gpio_mode & GPIO_BOUT ) ICONFA1(port) |= ((gpio_mode >> GPIO_AOUT_SHIFT) & 3) << (pin * 2); ICONFB1(port) &= ~( 3<<(pin*2)); ICONFB1(port) &= ~( 3<<(pin*2)); ICONFB1(port) |= ((gpio_mode >> GPIO_BOUT_SHIFT) & 3) << (pin * 2); } else { } else { tmp = OCR2(port); tmp = OCR2(port); tmp &= ~( 3<<((pin-16)*2)); tmp &= ~( 3<<((pin-16)*2)); tmp |= (ocr << ((pin-16)*2)); tmp |= (ocr << ((pin-16)*2)); OCR2(port) = tmp; OCR2(port) = tmp; if( gpio_mode & GPIO_AOUT ) ICONFA2(port) &= ~( 3<<((pin-16)*2)); ICONFA2(port) &= ~( 3<<((pin-16)*2)); if( gpio_mode & GPIO_BOUT ) ICONFA2(port) |= ((gpio_mode >> GPIO_AOUT_SHIFT) & 3) << ((pin-16) * 2); ICONFB2(port) &= ~( 3<<((pin-16)*2)); ICONFB2(port) &= ~( 3<<((pin-16)*2)); ICONFB2(port) |= ((gpio_mode >> GPIO_BOUT_SHIFT) & 3) << ((pin-16) * 2); } } } } Loading arch/arm/mach-imx/mx1ads.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -55,7 +55,7 @@ static void __init mx1ads_init(void) mx1ads_init(void) { { #ifdef CONFIG_LEDS #ifdef CONFIG_LEDS imx_gpio_mode(GPIO_PORTA | GPIO_OUT | GPIO_GPIO | 2); imx_gpio_mode(GPIO_PORTA | GPIO_OUT | 2); #endif #endif platform_add_devices(devices, ARRAY_SIZE(devices)); platform_add_devices(devices, ARRAY_SIZE(devices)); } } Loading include/asm-arm/arch-h720x/system.h +5 −3 Original line number Original line Diff line number Diff line Loading @@ -17,9 +17,11 @@ static void arch_idle(void) static void arch_idle(void) { { CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_IDLE; CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_IDLE; __asm__ __volatile__( nop(); "mov r0, r0\n\t" nop(); "mov r0, r0"); CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_RUN; nop(); nop(); } } Loading Loading
arch/arm/kernel/sys_arm.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -305,7 +305,7 @@ long execve(const char *filename, char **argv, char **envp) "Ir" (THREAD_START_SP - sizeof(regs)), "Ir" (THREAD_START_SP - sizeof(regs)), "r" (®s), "r" (®s), "Ir" (sizeof(regs)) "Ir" (sizeof(regs)) : "r0", "r1", "r2", "r3", "ip", "memory"); : "r0", "r1", "r2", "r3", "ip", "lr", "memory"); out: out: return ret; return ret; Loading
arch/arm/kernel/traps.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -504,7 +504,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) bad_access: bad_access: spin_unlock(&mm->page_table_lock); spin_unlock(&mm->page_table_lock); /* simulate a read access fault */ /* simulate a write access fault */ do_DataAbort(addr, 15 + (1 << 11), regs); do_DataAbort(addr, 15 + (1 << 11), regs); return -1; return -1; } } Loading
arch/arm/mach-imx/generic.c +12 −11 Original line number Original line Diff line number Diff line Loading @@ -28,14 +28,15 @@ #include <linux/module.h> #include <linux/module.h> #include <asm/arch/imxfb.h> #include <asm/arch/imxfb.h> #include <asm/hardware.h> #include <asm/hardware.h> #include <asm/arch/imx-regs.h> #include <asm/mach/map.h> #include <asm/mach/map.h> void imx_gpio_mode(int gpio_mode) void imx_gpio_mode(int gpio_mode) { { unsigned int pin = gpio_mode & GPIO_PIN_MASK; unsigned int pin = gpio_mode & GPIO_PIN_MASK; unsigned int port = (gpio_mode & GPIO_PORT_MASK) >> 5; unsigned int port = (gpio_mode & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT; unsigned int ocr = (gpio_mode & GPIO_OCR_MASK) >> 10; unsigned int ocr = (gpio_mode & GPIO_OCR_MASK) >> GPIO_OCR_SHIFT; unsigned int tmp; unsigned int tmp; /* Pullup enable */ /* Pullup enable */ Loading @@ -57,7 +58,7 @@ void imx_gpio_mode(int gpio_mode) GPR(port) &= ~(1<<pin); GPR(port) &= ~(1<<pin); /* use as gpio? */ /* use as gpio? */ if( ocr == 3 ) if(gpio_mode & GPIO_GIUS) GIUS(port) |= (1<<pin); GIUS(port) |= (1<<pin); else else GIUS(port) &= ~(1<<pin); GIUS(port) &= ~(1<<pin); Loading @@ -72,20 +73,20 @@ void imx_gpio_mode(int gpio_mode) tmp |= (ocr << (pin*2)); tmp |= (ocr << (pin*2)); OCR1(port) = tmp; OCR1(port) = tmp; if( gpio_mode & GPIO_AOUT ) ICONFA1(port) &= ~( 3<<(pin*2)); ICONFA1(port) &= ~( 3<<(pin*2)); if( gpio_mode & GPIO_BOUT ) ICONFA1(port) |= ((gpio_mode >> GPIO_AOUT_SHIFT) & 3) << (pin * 2); ICONFB1(port) &= ~( 3<<(pin*2)); ICONFB1(port) &= ~( 3<<(pin*2)); ICONFB1(port) |= ((gpio_mode >> GPIO_BOUT_SHIFT) & 3) << (pin * 2); } else { } else { tmp = OCR2(port); tmp = OCR2(port); tmp &= ~( 3<<((pin-16)*2)); tmp &= ~( 3<<((pin-16)*2)); tmp |= (ocr << ((pin-16)*2)); tmp |= (ocr << ((pin-16)*2)); OCR2(port) = tmp; OCR2(port) = tmp; if( gpio_mode & GPIO_AOUT ) ICONFA2(port) &= ~( 3<<((pin-16)*2)); ICONFA2(port) &= ~( 3<<((pin-16)*2)); if( gpio_mode & GPIO_BOUT ) ICONFA2(port) |= ((gpio_mode >> GPIO_AOUT_SHIFT) & 3) << ((pin-16) * 2); ICONFB2(port) &= ~( 3<<((pin-16)*2)); ICONFB2(port) &= ~( 3<<((pin-16)*2)); ICONFB2(port) |= ((gpio_mode >> GPIO_BOUT_SHIFT) & 3) << ((pin-16) * 2); } } } } Loading
arch/arm/mach-imx/mx1ads.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -55,7 +55,7 @@ static void __init mx1ads_init(void) mx1ads_init(void) { { #ifdef CONFIG_LEDS #ifdef CONFIG_LEDS imx_gpio_mode(GPIO_PORTA | GPIO_OUT | GPIO_GPIO | 2); imx_gpio_mode(GPIO_PORTA | GPIO_OUT | 2); #endif #endif platform_add_devices(devices, ARRAY_SIZE(devices)); platform_add_devices(devices, ARRAY_SIZE(devices)); } } Loading
include/asm-arm/arch-h720x/system.h +5 −3 Original line number Original line Diff line number Diff line Loading @@ -17,9 +17,11 @@ static void arch_idle(void) static void arch_idle(void) { { CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_IDLE; CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_IDLE; __asm__ __volatile__( nop(); "mov r0, r0\n\t" nop(); "mov r0, r0"); CPU_REG (PMU_BASE, PMU_MODE) = PMU_MODE_RUN; nop(); nop(); } } Loading