From d5240dfd3c80ad2fd17b25ca38d199ab1262ab6e Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 27 Oct 2011 11:33:15 +0100 Subject: ARM: PXA: fix lubbock PCMCIA driver build error Fix: ERROR: "pxa2xx_configure_sockets" [drivers/pcmcia/pxa2xx_lubbock_cs.ko] undefined! by exporting the required function. Acked-by: Eric Miao Signed-off-by: Russell King diff --git a/drivers/pcmcia/pxa2xx_base.c b/drivers/pcmcia/pxa2xx_base.c index 2c54054..a87e272 100644 --- a/drivers/pcmcia/pxa2xx_base.c +++ b/drivers/pcmcia/pxa2xx_base.c @@ -231,6 +231,7 @@ void pxa2xx_configure_sockets(struct device *dev) __raw_writel(mecr, MECR); } +EXPORT_SYMBOL(pxa2xx_configure_sockets); static const char *skt_names[] = { "PCMCIA socket 0", -- cgit v0.10.2 From 955d2953b0402f497d58eaea91f36486bb473008 Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 27 Oct 2011 11:37:47 +0100 Subject: ARM: PXA: eseries: fix eseries_register_clks section mismatch warning Fix: WARNING: vmlinux.o(.text+0x1a820): Section mismatch in reference from the function eseries_register_clks() to the function .init.text:clkdev_add_table() The function eseries_register_clks() references the function __init clkdev_add_table(). This is often because eseries_register_clks lacks a __init annotation or the annotation of clkdev_add_table is wrong. by adding the __init annotation to eseries_register_clks() - this function is only called from other __init-marked functions. While we're here, mark it static as it's only called from within eseries.c. Acked-by: Eric Miao Signed-off-by: Russell King diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index 8e697dd..d82b7aa 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c @@ -144,7 +144,7 @@ static struct clk_lookup eseries_clkregs[] = { INIT_CLKREG(&tmio_dummy_clk, NULL, "CLK_CK32K"), }; -void eseries_register_clks(void) +static void __init eseries_register_clks(void) { clkdev_add_table(eseries_clkregs, ARRAY_SIZE(eseries_clkregs)); } diff --git a/arch/arm/mach-pxa/eseries.h b/arch/arm/mach-pxa/eseries.h index be92196..b96949d 100644 --- a/arch/arm/mach-pxa/eseries.h +++ b/arch/arm/mach-pxa/eseries.h @@ -11,5 +11,4 @@ extern int eseries_tmio_resume(struct platform_device *dev); extern void eseries_get_tmio_gpios(void); extern struct resource eseries_tmio_resources[]; extern struct platform_device e300_tc6387xb_device; -extern void eseries_register_clks(void); -- cgit v0.10.2 From 5895a9c0818d3c800ac8e7d3d3827cc89df2bdbf Mon Sep 17 00:00:00 2001 From: Kukjin Kim Date: Fri, 14 Oct 2011 12:47:01 +0100 Subject: ARM: 7134/1: Revert "EXYNOS4: Fix routing timer interrupt to offline CPU" This reverts commit 4bd0fe1c78623062263cf5ae875fd484c5b8256d. This implementation can introduce a problem and 'ARM: SMP: fix per cpu timer setup before the cpu is marked online' patch can solve the cpu_oneline vs. cpu_active problem so that should be reverted. Signed-off-by: Kukjin Kim Signed-off-by: Russell King diff --git a/arch/arm/mach-exynos4/platsmp.c b/arch/arm/mach-exynos4/platsmp.c index 0559540..69ffb2f 100644 --- a/arch/arm/mach-exynos4/platsmp.c +++ b/arch/arm/mach-exynos4/platsmp.c @@ -110,8 +110,6 @@ void __cpuinit platform_secondary_init(unsigned int cpu) */ spin_lock(&boot_lock); spin_unlock(&boot_lock); - - set_cpu_online(cpu, true); } int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) -- cgit v0.10.2 From 4fc7ae3c849a5a15965c1d41b59b0a606119e71a Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Fri, 28 Oct 2011 15:25:01 +0100 Subject: ARM: 7142/1: davinci: mark GPIO implementation complex When breaking apart the DaVinci GPIO files I accidentally marked it non-complex while it is indeed complex. Reported-by: Mike Frysinger Signed-off-by: Linus Walleij Signed-off-by: Russell King diff --git a/arch/arm/mach-davinci/include/mach/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h index fbaae47..960e9de 100644 --- a/arch/arm/mach-davinci/include/mach/gpio.h +++ b/arch/arm/mach-davinci/include/mach/gpio.h @@ -15,6 +15,8 @@ #include +#define __ARM_GPIOLIB_COMPLEX + /* The inline versions use the static inlines in the driver header */ #include "gpio-davinci.h" -- cgit v0.10.2 From 7124cb96cadc5f9990ade39780b672b01bfc6484 Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 5 Nov 2011 22:03:25 +0000 Subject: ARM: PXA: fix gpio-pxa.h build errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A mismerge in 43872fa (Merge branch 'depends/rmk/gpio' into next/fixes) causes these build errors: In file included from arch/arm/mach-pxa/include/mach/gpio.h:30, from arch/arm/include/asm/gpio.h:6, from include/linux/gpio.h:31, from arch/arm/mach-pxa/generic.c:20: arch/arm/mach-pxa/include/mach/gpio-pxa.h: In function ■__gpio_is_occupied■: arch/arm/mach-pxa/include/mach/gpio-pxa.h:121: error: invalid operands to binary >> (have ■void *■ and ■unsigned int■) arch/arm/mach-pxa/include/mach/gpio-pxa.h:122: error: invalid operands to binary & (have ■void *■ and ■int■) arch/arm/mach-pxa/include/mach/gpio-pxa.h:129: error: invalid operands to binary & (have ■void *■ and ■int■) So fix them. Acked-by: Arnd Bergmann Signed-off-by: Russell King diff --git a/arch/arm/mach-pxa/include/mach/gpio-pxa.h b/arch/arm/mach-pxa/include/mach/gpio-pxa.h index 576868f..41b4c93 100644 --- a/arch/arm/mach-pxa/include/mach/gpio-pxa.h +++ b/arch/arm/mach-pxa/include/mach/gpio-pxa.h @@ -25,7 +25,7 @@ #define GPIO_REGS_VIRT io_p2v(0x40E00000) #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) -#define GPIO_REG(x) (GPIO_REGS_VIRT + (x)) +#define GPIO_REG(x) (*(volatile u32 *)(GPIO_REGS_VIRT + (x))) /* GPIO Pin Level Registers */ #define GPLR0 GPIO_REG(BANK_OFF(0) + 0x00) -- cgit v0.10.2 From 7a3f8de5a3c36e5fde130cae74a06663b59837ae Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 5 Nov 2011 22:06:17 +0000 Subject: ARM: PXA: fix includes in pxa2xx_cm_x2xx PCMCIA driver The includes in the pxa2xx_cm_x2xx PCMCIA driver are rather random; the driver doesn't require anything from these headers except the cpu_is_xxx() macros which come from another include. The concern is that it's getting these definitions via mach/system.h, which is supposed to only be included by arch/arm/kernel/process.c. As this header is scheduled for cleanup (and elimination) keeping the status quo will cause build errors. So lets fix properly and independent of the future work. Signed-off-by: Russell King diff --git a/drivers/pcmcia/pxa2xx_cm_x2xx.c b/drivers/pcmcia/pxa2xx_cm_x2xx.c index 4f09506..6e7dcfd 100644 --- a/drivers/pcmcia/pxa2xx_cm_x2xx.c +++ b/drivers/pcmcia/pxa2xx_cm_x2xx.c @@ -12,9 +12,8 @@ #include -#include #include -#include +#include int cmx255_pcmcia_init(void); int cmx270_pcmcia_init(void); -- cgit v0.10.2