* [PATCH 01/14] ARM: tegra: add __force to IO_ADDRESS
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Kills loads of sparse errors such as:
arch/arm/mach-tegra/fuse.c:44:12: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-tegra/fuse.c:44:12: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-tegra/fuse.c:44:12: got unsigned int
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/include/mach/io.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-tegra/include/mach/io.h b/arch/arm/mach-tegra/include/mach/io.h
index 4cea2230..d27e340 100644
--- a/arch/arm/mach-tegra/include/mach/io.h
+++ b/arch/arm/mach-tegra/include/mach/io.h
@@ -71,7 +71,7 @@
void __iomem *tegra_ioremap(unsigned long phys, size_t size, unsigned int type);
void tegra_iounmap(volatile void __iomem *addr);
-#define IO_ADDRESS(n) ((void __iomem *) IO_TO_VIRT(n))
+#define IO_ADDRESS(n) ((void __force __iomem *) IO_TO_VIRT(n))
#ifdef CONFIG_TEGRA_PCI
extern void __iomem *tegra_pcie_io_base;
--
1.7.4.1
^ permalink raw reply related
* [PATCH 02/14] ARM: tegra: fuse: use IO_ADDRESS
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes:
arch/arm/mach-tegra/fuse.c:44:12: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-tegra/fuse.c:44:12: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-tegra/fuse.c:44:12: got unsigned int
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/fuse.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-tegra/fuse.c b/arch/arm/mach-tegra/fuse.c
index 1fa26d9..8c590a8 100644
--- a/arch/arm/mach-tegra/fuse.c
+++ b/arch/arm/mach-tegra/fuse.c
@@ -31,19 +31,19 @@
static inline u32 fuse_readl(unsigned long offset)
{
- return readl(IO_TO_VIRT(TEGRA_FUSE_BASE + offset));
+ return readl(IO_ADDRESS(TEGRA_FUSE_BASE + offset));
}
static inline void fuse_writel(u32 value, unsigned long offset)
{
- writel(value, IO_TO_VIRT(TEGRA_FUSE_BASE + offset));
+ writel(value, IO_ADDRESS(TEGRA_FUSE_BASE + offset));
}
void tegra_init_fuse(void)
{
- u32 reg = readl(IO_TO_VIRT(TEGRA_CLK_RESET_BASE + 0x48));
+ u32 reg = readl(IO_ADDRESS(TEGRA_CLK_RESET_BASE + 0x48));
reg |= 1 << 28;
- writel(reg, IO_TO_VIRT(TEGRA_CLK_RESET_BASE + 0x48));
+ writel(reg, IO_ADDRESS(TEGRA_CLK_RESET_BASE + 0x48));
pr_info("Tegra SKU: %d CPU Process: %d Core Process: %d\n",
tegra_sku_id(), tegra_cpu_process_id(),
--
1.7.4.1
^ permalink raw reply related
* [PATCH 03/14] ARM: tegra: pinmux: use IO_ADDRESS
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes lots of:
arch/arm/mach-tegra/pinmux.c:175:9: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-tegra/pinmux.c:175:9: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-tegra/pinmux.c:175:9: got unsigned lon
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/pinmux-t2-tables.c | 4 ++--
arch/arm/mach-tegra/pinmux.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-tegra/pinmux-t2-tables.c b/arch/arm/mach-tegra/pinmux-t2-tables.c
index a475367..94e2417 100644
--- a/arch/arm/mach-tegra/pinmux-t2-tables.c
+++ b/arch/arm/mach-tegra/pinmux-t2-tables.c
@@ -232,12 +232,12 @@ static u32 pinmux_reg[TRISTATE_REG_NUM + PIN_MUX_CTL_REG_NUM +
static inline unsigned long pg_readl(unsigned long offset)
{
- return readl(IO_TO_VIRT(TEGRA_APB_MISC_BASE + offset));
+ return readl(IO_ADDRESS(TEGRA_APB_MISC_BASE + offset));
}
static inline void pg_writel(unsigned long value, unsigned long offset)
{
- writel(value, IO_TO_VIRT(TEGRA_APB_MISC_BASE + offset));
+ writel(value, IO_ADDRESS(TEGRA_APB_MISC_BASE + offset));
}
void tegra_pinmux_suspend(void)
diff --git a/arch/arm/mach-tegra/pinmux.c b/arch/arm/mach-tegra/pinmux.c
index f80d507..0a85e0e 100644
--- a/arch/arm/mach-tegra/pinmux.c
+++ b/arch/arm/mach-tegra/pinmux.c
@@ -172,12 +172,12 @@ static const char *pupd_name(unsigned long val)
static inline unsigned long pg_readl(unsigned long offset)
{
- return readl(IO_TO_VIRT(TEGRA_APB_MISC_BASE + offset));
+ return readl(IO_ADDRESS(TEGRA_APB_MISC_BASE + offset));
}
static inline void pg_writel(unsigned long value, unsigned long offset)
{
- writel(value, IO_TO_VIRT(TEGRA_APB_MISC_BASE + offset));
+ writel(value, IO_ADDRESS(TEGRA_APB_MISC_BASE + offset));
}
static int tegra_pinmux_set_func(const struct tegra_pingroup_config *config)
--
1.7.4.1
^ permalink raw reply related
* [PATCH 04/14] ARM: tegra: timer: don't cast __iomem pointers
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes a lot of:
arch/arm/mach-tegra/timer.c:75:2: warning: cast removes address space of expression
arch/arm/mach-tegra/timer.c:75:2: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-tegra/timer.c:75:2: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-tegra/timer.c:75:2: got unsigned int
arch/arm/mach-tegra/timer.c:75:2: warning: cast removes address space of expression
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/timer.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-tegra/timer.c b/arch/arm/mach-tegra/timer.c
index 9035042..4d6759a 100644
--- a/arch/arm/mach-tegra/timer.c
+++ b/arch/arm/mach-tegra/timer.c
@@ -62,9 +62,9 @@ static struct timespec persistent_ts;
static u64 persistent_ms, last_persistent_ms;
#define timer_writel(value, reg) \
- __raw_writel(value, (u32)timer_reg_base + (reg))
+ __raw_writel(value, timer_reg_base + (reg))
#define timer_readl(reg) \
- __raw_readl((u32)timer_reg_base + (reg))
+ __raw_readl(timer_reg_base + (reg))
static int tegra_timer_set_next_event(unsigned long cycles,
struct clock_event_device *evt)
--
1.7.4.1
^ permalink raw reply related
* [PATCH 05/14] ARM: tegra: tegra2_clocks: don't cast __iomem pointers
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes lots of:
arch/arm/mach-tegra/tegra2_clocks.c:180:2: warning: cast removes address space of expression
arch/arm/mach-tegra/tegra2_clocks.c:180:2: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-tegra/tegra2_clocks.c:180:2: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-tegra/tegra2_clocks.c:180:2: got unsigned int
arch/arm/mach-tegra/tegra2_clocks.c:180:2: warning: cast removes address space of expression
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/tegra2_clocks.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-tegra/tegra2_clocks.c b/arch/arm/mach-tegra/tegra2_clocks.c
index 0fe9b3e..3325cd6 100644
--- a/arch/arm/mach-tegra/tegra2_clocks.c
+++ b/arch/arm/mach-tegra/tegra2_clocks.c
@@ -166,13 +166,13 @@ static DEFINE_SPINLOCK(clock_register_lock);
static int tegra_periph_clk_enable_refcount[3 * 32];
#define clk_writel(value, reg) \
- __raw_writel(value, (u32)reg_clk_base + (reg))
+ __raw_writel(value, reg_clk_base + (reg))
#define clk_readl(reg) \
- __raw_readl((u32)reg_clk_base + (reg))
+ __raw_readl(reg_clk_base + (reg))
#define pmc_writel(value, reg) \
- __raw_writel(value, (u32)reg_pmc_base + (reg))
+ __raw_writel(value, reg_pmc_base + (reg))
#define pmc_readl(reg) \
- __raw_readl((u32)reg_pmc_base + (reg))
+ __raw_readl(reg_pmc_base + (reg))
unsigned long clk_measure_input_freq(void)
{
--
1.7.4.1
^ permalink raw reply related
* [PATCH 06/14] ARM: tegra: tegra2_clocks: 0 -> NULL changes
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes a bunch of:
arch/arm/mach-tegra/tegra2_clocks.c:921:34: warning: Using plain integer as NULL pointer
arch/arm/mach-tegra/tegra2_clocks.c:1462:4: warning: Using plain integer as NULL pointer
arch/arm/mach-tegra/tegra2_clocks.c:1864:4: warning: Using plain integer as NULL pointer
...
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/tegra2_clocks.c | 34 +++++++++++++++++-----------------
1 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-tegra/tegra2_clocks.c b/arch/arm/mach-tegra/tegra2_clocks.c
index 3325cd6..6dd5133 100644
--- a/arch/arm/mach-tegra/tegra2_clocks.c
+++ b/arch/arm/mach-tegra/tegra2_clocks.c
@@ -918,7 +918,7 @@ static struct clk_ops tegra_pll_div_ops = {
static void tegra2_periph_clk_init(struct clk *c)
{
u32 val = clk_readl(c->reg);
- const struct clk_mux_sel *mux = 0;
+ const struct clk_mux_sel *mux = NULL;
const struct clk_mux_sel *sel;
if (c->flags & MUX) {
for (sel = c->inputs; sel->input != NULL; sel++) {
@@ -1459,7 +1459,7 @@ static struct clk tegra_pll_s = {
static struct clk_mux_sel tegra_clk_m_sel[] = {
{ .input = &tegra_clk_32k, .value = 0},
{ .input = &tegra_pll_s, .value = 1},
- { 0, 0},
+ { NULL , 0},
};
static struct clk tegra_clk_m = {
@@ -1861,7 +1861,7 @@ static const struct audio_sources {
{ .name = "ext_audio_clk1", .value = 6 },
{ .name = "ext_vimclk", .value = 7 },
#endif
- { 0, 0 }
+ { NULL, 0 }
};
static struct clk tegra_clk_audio = {
@@ -1926,7 +1926,7 @@ static struct clk_mux_sel mux_cclk[] = {
{ .input = &tegra_pll_p_out3, .value = 6},
{ .input = &tegra_clk_d, .value = 7},
{ .input = &tegra_pll_x, .value = 8},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_sclk[] = {
@@ -1938,7 +1938,7 @@ static struct clk_mux_sel mux_sclk[] = {
{ .input = &tegra_clk_d, .value = 5},
{ .input = &tegra_clk_32k, .value = 6},
{ .input = &tegra_pll_m_out1, .value = 7},
- { 0, 0},
+ { NULL, 0},
};
static struct clk tegra_clk_cclk = {
@@ -2009,7 +2009,7 @@ static struct clk_mux_sel mux_pllm_pllc_pllp_plla[] = {
{ .input = &tegra_pll_c, .value = 1},
{ .input = &tegra_pll_p, .value = 2},
{ .input = &tegra_pll_a_out0, .value = 3},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllm_pllc_pllp_clkm[] = {
@@ -2017,7 +2017,7 @@ static struct clk_mux_sel mux_pllm_pllc_pllp_clkm[] = {
{ .input = &tegra_pll_c, .value = 1},
{ .input = &tegra_pll_p, .value = 2},
{ .input = &tegra_clk_m, .value = 3},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllp_pllc_pllm_clkm[] = {
@@ -2025,7 +2025,7 @@ static struct clk_mux_sel mux_pllp_pllc_pllm_clkm[] = {
{ .input = &tegra_pll_c, .value = 1},
{ .input = &tegra_pll_m, .value = 2},
{ .input = &tegra_clk_m, .value = 3},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllaout0_audio2x_pllp_clkm[] = {
@@ -2033,7 +2033,7 @@ static struct clk_mux_sel mux_pllaout0_audio2x_pllp_clkm[] = {
{.input = &tegra_clk_audio_2x, .value = 1},
{.input = &tegra_pll_p, .value = 2},
{.input = &tegra_clk_m, .value = 3},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllp_plld_pllc_clkm[] = {
@@ -2041,7 +2041,7 @@ static struct clk_mux_sel mux_pllp_plld_pllc_clkm[] = {
{.input = &tegra_pll_d_out0, .value = 1},
{.input = &tegra_pll_c, .value = 2},
{.input = &tegra_clk_m, .value = 3},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllp_pllc_audio_clkm_clk32[] = {
@@ -2050,39 +2050,39 @@ static struct clk_mux_sel mux_pllp_pllc_audio_clkm_clk32[] = {
{.input = &tegra_clk_audio, .value = 2},
{.input = &tegra_clk_m, .value = 3},
{.input = &tegra_clk_32k, .value = 4},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllp_pllc_pllm[] = {
{.input = &tegra_pll_p, .value = 0},
{.input = &tegra_pll_c, .value = 1},
{.input = &tegra_pll_m, .value = 2},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_clk_m[] = {
{ .input = &tegra_clk_m, .value = 0},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pllp_out3[] = {
{ .input = &tegra_pll_p_out3, .value = 0},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_plld[] = {
{ .input = &tegra_pll_d, .value = 0},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_clk_32k[] = {
{ .input = &tegra_clk_32k, .value = 0},
- { 0, 0},
+ { NULL, 0},
};
static struct clk_mux_sel mux_pclk[] = {
{ .input = &tegra_clk_pclk, .value = 0},
- { 0, 0},
+ { NULL, 0},
};
static struct clk tegra_clk_emc = {
--
1.7.4.1
^ permalink raw reply related
* [PATCH 07/14] ARM: tegra: pcie: don't cast __iomem pointers
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes a bunch of:
arch/arm/mach-tegra/pcie.c:678:8: warning: cast removes address space of expression
arch/arm/mach-tegra/pcie.c:678:8: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-tegra/pcie.c:678:8: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-tegra/pcie.c:678:8: got unsigned int
arch/arm/mach-tegra/pcie.c:678:8: warning: cast removes address space of expression
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/pcie.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index f1f699d..6b0c235 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -150,9 +150,9 @@
static void __iomem *reg_pmc_base = IO_ADDRESS(TEGRA_PMC_BASE);
#define pmc_writel(value, reg) \
- __raw_writel(value, (u32)reg_pmc_base + (reg))
+ __raw_writel(value, reg_pmc_base + (reg))
#define pmc_readl(reg) \
- __raw_readl((u32)reg_pmc_base + (reg))
+ __raw_readl(reg_pmc_base + (reg))
/*
* Tegra2 defines 1GB in the AXI address map for PCIe.
--
1.7.4.1
^ permalink raw reply related
* [PATCH 08/14] ARM: tegra: pcie: include board.h
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes:
arch/arm/mach-tegra/pcie.c:908:12: warning: symbol 'tegra_pcie_init' was not declared. Should it be static?
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/pcie.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index 6b0c235..f7c89ee 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -41,6 +41,8 @@
#include <mach/clk.h>
#include <mach/powergate.h>
+#include "board.h"
+
/* register definitions */
#define AFI_OFFSET 0x3800
#define PADS_OFFSET 0x3000
--
1.7.4.1
^ permalink raw reply related
* [PATCH 09/14] ARM: tegra: pcie: 0 -> NULL changes
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Fixes:
arch/arm/mach-tegra/pcie.c:465:10: warning: Using plain integer as NULL pointer
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/pcie.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c
index f7c89ee..f5aa173 100644
--- a/arch/arm/mach-tegra/pcie.c
+++ b/arch/arm/mach-tegra/pcie.c
@@ -462,7 +462,7 @@ static struct pci_bus __init *tegra_pcie_scan_bus(int nr,
struct tegra_pcie_port *pp;
if (nr >= tegra_pcie.num_ports)
- return 0;
+ return NULL;
pp = tegra_pcie.port + nr;
pp->root_bus_nr = sys->busnr;
--
1.7.4.1
^ permalink raw reply related
* [PATCH 10/14] ARM: tegra: tegra_init_cache should be static
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Not exported and not used externally.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/common.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-tegra/common.c b/arch/arm/mach-tegra/common.c
index d5e3f89..690b888 100644
--- a/arch/arm/mach-tegra/common.c
+++ b/arch/arm/mach-tegra/common.c
@@ -61,7 +61,7 @@ static __initdata struct tegra_clk_init_table common_clk_init_table[] = {
{ NULL, NULL, 0, 0},
};
-void __init tegra_init_cache(void)
+static void __init tegra_init_cache(void)
{
#ifdef CONFIG_CACHE_L2X0
void __iomem *p = IO_ADDRESS(TEGRA_ARM_PERIF_BASE) + 0x3000;
--
1.7.4.1
^ permalink raw reply related
* [PATCH 11/14] ARM: tegra: tegra_rtc_read_ms should be static
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Not exported and not used externally
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/timer.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-tegra/timer.c b/arch/arm/mach-tegra/timer.c
index 4d6759a..e2272d2 100644
--- a/arch/arm/mach-tegra/timer.c
+++ b/arch/arm/mach-tegra/timer.c
@@ -133,7 +133,7 @@ static void notrace tegra_update_sched_clock(void)
* tegra_rtc driver could be executing to avoid race conditions
* on the RTC shadow register
*/
-u64 tegra_rtc_read_ms(void)
+static u64 tegra_rtc_read_ms(void)
{
u32 ms = readl(rtc_base + RTC_MILLISECONDS);
u32 s = readl(rtc_base + RTC_SHADOW_SECONDS);
--
1.7.4.1
^ permalink raw reply related
* [PATCH 12/14] ARM: tegra: tegra_powergate_is_powered should be static
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Not used externally and not exported.
Also, fix return type and change to instead WARN_ON on bad parameters.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/include/mach/powergate.h | 1 -
arch/arm/mach-tegra/powergate.c | 5 ++---
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-tegra/include/mach/powergate.h b/arch/arm/mach-tegra/include/mach/powergate.h
index 401d1b7..39c396d 100644
--- a/arch/arm/mach-tegra/include/mach/powergate.h
+++ b/arch/arm/mach-tegra/include/mach/powergate.h
@@ -31,7 +31,6 @@
int tegra_powergate_power_on(int id);
int tegra_powergate_power_off(int id);
-bool tegra_powergate_is_powered(int id);
int tegra_powergate_remove_clamping(int id);
/* Must be called with clk disabled, and returns with clk enabled */
diff --git a/arch/arm/mach-tegra/powergate.c b/arch/arm/mach-tegra/powergate.c
index 3cee9aa..9483064 100644
--- a/arch/arm/mach-tegra/powergate.c
+++ b/arch/arm/mach-tegra/powergate.c
@@ -89,12 +89,11 @@ int tegra_powergate_power_off(int id)
return tegra_powergate_set(id, false);
}
-bool tegra_powergate_is_powered(int id)
+static bool tegra_powergate_is_powered(int id)
{
u32 status;
- if (id < 0 || id >= TEGRA_NUM_POWERGATE)
- return -EINVAL;
+ WARN_ON(id < 0 || id >= TEGRA_NUM_POWERGATE);
status = pmc_read(PWRGATE_STATUS) & (1 << id);
return !!status;
--
1.7.4.1
^ permalink raw reply related
* [PATCH 13/14] ARM: tegra: tegra2_clocks: don't export some tables
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
Not used externally, and certainly don't need to be exported.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/tegra2_clocks.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-tegra/tegra2_clocks.c b/arch/arm/mach-tegra/tegra2_clocks.c
index 6dd5133..371869d 100644
--- a/arch/arm/mach-tegra/tegra2_clocks.c
+++ b/arch/arm/mach-tegra/tegra2_clocks.c
@@ -1885,7 +1885,7 @@ static struct clk tegra_clk_audio_2x = {
},
};
-struct clk_lookup tegra_audio_clk_lookups[] = {
+static struct clk_lookup tegra_audio_clk_lookups[] = {
{ .con_id = "audio", .clk = &tegra_clk_audio },
{ .con_id = "audio_2x", .clk = &tegra_clk_audio_2x }
};
@@ -2125,7 +2125,7 @@ static struct clk tegra_clk_emc = {
.parent = _parent, \
}
-struct clk tegra_list_clks[] = {
+static struct clk tegra_list_clks[] = {
PERIPH_CLK("apbdma", "tegra-dma", NULL, 34, 0, 108000000, mux_pclk, 0),
PERIPH_CLK("rtc", "rtc-tegra", NULL, 4, 0, 32768, mux_clk_32k, PERIPH_NO_RESET),
PERIPH_CLK("timer", "timer", NULL, 5, 0, 26000000, mux_clk_m, 0),
@@ -2221,7 +2221,7 @@ struct clk tegra_list_clks[] = {
* configuration. List those here to register them twice in the clock lookup
* table under two names.
*/
-struct clk_duplicate tegra_clk_duplicates[] = {
+static struct clk_duplicate tegra_clk_duplicates[] = {
CLK_DUPLICATE("uarta", "tegra_uart.0", NULL),
CLK_DUPLICATE("uartb", "tegra_uart.1", NULL),
CLK_DUPLICATE("uartc", "tegra_uart.2", NULL),
@@ -2252,7 +2252,7 @@ struct clk_duplicate tegra_clk_duplicates[] = {
.clk = ck, \
}
-struct clk *tegra_ptr_clks[] = {
+static struct clk *tegra_ptr_clks[] = {
&tegra_clk_32k,
&tegra_pll_s,
&tegra_clk_m,
--
1.7.4.1
^ permalink raw reply related
* [PATCH 14/14] ARM: tegra: dma: staticify some tables and functions
From: Olof Johansson @ 2011-10-07 2:54 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317956064-17650-1-git-send-email-olof@lixom.net>
None of them are used externally.
Signed-off-by: Olof Johansson <olof@lixom.net>
---
arch/arm/mach-tegra/dma.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-tegra/dma.c b/arch/arm/mach-tegra/dma.c
index f4ef5eb..c0cf967 100644
--- a/arch/arm/mach-tegra/dma.c
+++ b/arch/arm/mach-tegra/dma.c
@@ -105,13 +105,17 @@
#define NV_DMA_MAX_TRASFER_SIZE 0x10000
-const unsigned int ahb_addr_wrap_table[8] = {
+static const unsigned int ahb_addr_wrap_table[8] = {
0, 32, 64, 128, 256, 512, 1024, 2048
};
-const unsigned int apb_addr_wrap_table[8] = {0, 1, 2, 4, 8, 16, 32, 64};
+static const unsigned int apb_addr_wrap_table[8] = {
+ 0, 1, 2, 4, 8, 16, 32, 64
+};
-const unsigned int bus_width_table[5] = {8, 16, 32, 64, 128};
+static const unsigned int bus_width_table[5] = {
+ 8, 16, 32, 64, 128
+};
#define TEGRA_DMA_NAME_SIZE 16
struct tegra_dma_channel {
@@ -157,7 +161,7 @@ void tegra_dma_dequeue(struct tegra_dma_channel *ch)
return;
}
-void tegra_dma_stop(struct tegra_dma_channel *ch)
+static void tegra_dma_stop(struct tegra_dma_channel *ch)
{
u32 csr;
u32 status;
@@ -174,7 +178,7 @@ void tegra_dma_stop(struct tegra_dma_channel *ch)
writel(status, ch->addr + APB_DMA_CHAN_STA);
}
-int tegra_dma_cancel(struct tegra_dma_channel *ch)
+static int tegra_dma_cancel(struct tegra_dma_channel *ch)
{
u32 csr;
unsigned long irq_flags;
--
1.7.4.1
^ permalink raw reply related
* [PATCH v3 3/3] ARM: OMAP: TI814X: Create board support and enable build for TI8148 EVM
From: Pedanekar, Hemant @ 2011-10-07 3:04 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20111006191727.GK6324@atomide.com>
Tony Lindgren wrote on Friday, October 07, 2011 12:47 AM:
> * Pedanekar, Hemant <hemantp@ti.com> [111004 02:07]:
>> Igor Grinberg wrote on Tuesday, October 04, 2011 2:31 PM:
>>
>>> On 10/03/11 18:45, Pedanekar, Hemant wrote:
>>>> Hi Igor,
>>>>
>>>> Igor Grinberg wrote on Sunday, October 02, 2011 5:38 PM:
>>>>
>>>>> Hi Hemant,
>>>>>
>>>>> On 09/29/11 04:09, Hemant Pedanekar wrote:
>>>>>> This patch adds minimal support and build configuration for TI8148 EVM.
>>>>>> Also adds support for low level debugging on UART1 console on the EVM.
>>>>>>
>>>>>> Note that existing TI8168 EVM file (board-ti8168evm.c) is updated with
>>>>>> machine info for TI8148 EVM and renamed as board-ti81xxevm.c.
>>>>>
>>>>> Should we really rename the existing file?
>>>>> Shouldn't we just stick to the name of the file submitted first?
>>>>> (e.g. board-ti8168evm.c) and just add the support for the new
>>>>> TI8148 EVM in to the existing file?
>>>>
>>>> But won't this be misleading?
>>>
>>> Misleading? For whom?
>>> Actually, I don't really care how you call that file.
>>> What I care (and I think not just me) is uniformity, so
>>> if we decide to rename all those files that have multiple
>>> boards supported in them, I'm fine with it.
>>>
>>> So pros for my proposed approach would be:
>>> 1) Currently, there are already board files with multiple boards
>>> supported in them that follow the approach and renaming them is
>>> really unnecessary. 2) git log will not break.
>>> 3) boards that cannot be named after the convention like 81xx
>>> but can be added to the same file will not require further renaming
>>> (like 82x8 - I don't really know if that will exist, just wondering).
>>> 4) This renaming is really what Linus likes ;)
>>>
>>> cons:
>>> 1) Misleading?
>>>
>>> Currently, I don't think this renaming is good for anything,
>>> especially that majority of the board stuff should be transformed
>>> to the DT descriptors.
>>
>> Igor,
>> I agree on the DT part and also understand the "pros" you mentioned.
>>
>> I can submit the v4 of patches with TI8148 EVM support added in exisitng
>> board-ti8168evm.c.
>>
>> Tony,
>> Are you OK with the above approach?
>
> Yes, let's not do renaming unless it's really needed. We'll be getting
> rid of the board-*.c files anyways with device tree. So let's consider
> the board-*.c files to be in minimal maintenance mode until they will
> eventually get removed.
>
> Regards,
>
> Tony
Ok, thanks Igor and Tony, I will send v4 with above change.
Hemant
^ permalink raw reply
* [RFC PATCH v3] drivercore: Add driver probe deferral mechanism
From: G, Manjunath Kondaiah @ 2011-10-07 3:31 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20111004233504.GD3009@ponder.secretlab.ca>
On Tue, Oct 04, 2011 at 05:35:04PM -0600, Grant Likely wrote:
> On Wed, Oct 05, 2011 at 12:05:16AM +0530, G, Manjunath Kondaiah wrote:
> > On Tue, Oct 04, 2011 at 09:58:10AM -0600, Grant Likely wrote:
> > > On Tue, Oct 4, 2011 at 8:51 AM, G, Manjunath Kondaiah <manjugk@ti.com> wrote:
> > > > On Thu, Sep 22, 2011 at 12:51:23PM -0600, Grant Likely wrote:
> > > >> Hi Manjunath,
> > > >>
> > > >> Here's the current state of the patch. ?The major think that needs to
> > > >> be done is to convert it to use a separate workqueue as described in
> > > >> the TODO above. ?It also needs some users adapted to it. ?One of the
> > > >> gpio drivers would work; preferably one of the newer drivers that
> > > >> doesn't have a lot of drivers depending on the early_initcall()
> > > >> behaviour yet.
> > > >
> > > > I have tested this patch on omap3 beagle board by making:
> > > > 1. omap-gpio driver init as late_initcall instead of postcore_initcall
> > > > 2. mmc driver probe will request gpio through gpio_request and gpio driver
> > > > returns -EDEFER_PROBE which in turn makes mmc driver to request deferral probe.
> > > > 3. When deferral probe gets activated, it scans driver entries and it will not
> > > > find any match for mmc driver probe.
> > >
> > > Looks like drivers/mmc/host/omap.c is using platform_driver_probe()
> > > instead of platform_driver_register(). Add the probe hook to the
> > > platform_driver structure and change it to call
> > > platform_driver_register() and it should work. Don't forget to change
> > > mmc_omap_probe from __init to __devinit.
> >
> > Yes. After changing it into platform_driver_register, I can see mmc probe is
> > getting completed from deferred probe list. But, MMC upper layer will check
> > probe and it waits for ever since probe_count is not getting incremented.
> >
> > Log:
> >
> > [ 1.807830] platform omap_hsmmc.0: Driver omap_hsmmc requests probe deferral
> >
> > ...
> >
> > [ 1.948760] omap_device: omap_gpio.0: new worst case activate latency 0:30517
> > [ 1.959259] OMAP GPIO hardware version 2.5
> >
> > ...
> >
> > [ 2.000488] platform omap_hsmmc.0: Retrying from deferred list
> > [ 2.008026] omap_device: omap_hsmmc.0: new worst case activate latency 0:244140
> > [ 2.020080] input: gpio-keys as /devices/platform/gpio-keys/input/input1
> > [ 2.035827] omap_hsmmc omap_hsmmc.0: Probe success...
> > [ 2.042083] twl_rtc twl_rtc: setting system clock to 2000-01-01 01:06:35 UTC
> > (946688795)
> > [ 2.056030] Waiting for root device /dev/mmcblk0p2...
> > [ 2.061492] driver_probe_done: probe_count = 0
> > [ 2.168518] driver_probe_done: probe_count = 0
> > [ 2.277832] driver_probe_done: probe_count = 0
> > [ 2.387207] driver_probe_done: probe_count = 0
> > [ 2.496582] driver_probe_done: probe_count = 0
> >
> > Waits for ever in init/do_mount.c:
> > if ((ROOT_DEV == 0) && root_wait) {
> > printk(KERN_INFO "Waiting for root device %s...\n",
> > saved_root_name);
> > while (driver_probe_done() != 0 ||
> > (ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
> > msleep(100);
> > async_synchronize_full();
> > }
>
> Okay, it looks like the driver deferral workqueue needs to get kicked
> off before the kernel starts waiting for the root filesystem. Check
> the initcall level that is being used by do_mount, and make sure the
> deferred probe starts before that...
>
> Hmmm.... wait, that doesn't make sense because the probe is still
> successful. What triggers the exit conditions in that while loop?
> How would it be different from when the driver can probe successfully
> without deferral?
Looks like OMAP MMC uses TWL GPIO for card detect. I manually changed this
twl gpio to omap gpio for testing purpose which is causing this problem.
I have not tried to root cause further, I reverted back to twl gpio and requested
omap gpio in mmc driver probe. With omap gpio request and making gpio driver
init as lateinit, deferral probe works fine for MMC driver.
I will post updated patch series.
-Manjunath
^ permalink raw reply
* [PATCH 05/26] ARM: pxa: make zylonite_pxa*_init declaration match code
From: Eric Miao @ 2011-10-07 3:47 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317499438-14058-6-git-send-email-arnd@arndb.de>
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> When support for zylonite is disabled, the zylonite_pxa300_init
> and zylonite_pxa320_init functions are not there, but the declaration
> is still kept around if any other boards for the same soc are
> enabled. This changes the declaration to be conditional on the
> same symbol as the code.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?arch/arm/mach-pxa/include/mach/zylonite.h | ? ?4 ++--
> ?1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/include/mach/zylonite.h b/arch/arm/mach-pxa/include/mach/zylonite.h
> index ea24998..ecca976 100644
> --- a/arch/arm/mach-pxa/include/mach/zylonite.h
> +++ b/arch/arm/mach-pxa/include/mach/zylonite.h
> @@ -19,7 +19,7 @@ extern int wm9713_irq;
> ?extern int lcd_id;
> ?extern int lcd_orientation;
>
> -#ifdef CONFIG_CPU_PXA300
> +#ifdef CONFIG_MACH_ZYLONITE300
> ?extern void zylonite_pxa300_init(void);
> ?#else
> ?static inline void zylonite_pxa300_init(void)
> @@ -29,7 +29,7 @@ static inline void zylonite_pxa300_init(void)
> ?}
> ?#endif
>
> -#ifdef CONFIG_CPU_PXA320
> +#ifdef CONFIG_MACH_ZYLONITE320
> ?extern void zylonite_pxa320_init(void);
> ?#else
> ?static inline void zylonite_pxa320_init(void)
> --
> 1.7.5.4
>
>
^ permalink raw reply
* [PATCH 04/26] net/pxa168_eth: add missing include of interrupt.h
From: Eric Miao @ 2011-10-07 3:48 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317499438-14058-5-git-send-email-arnd@arndb.de>
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> interrupt.h is no longer implicitly included here, so manually
> add it instead.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
> ---
> ?drivers/net/pxa168_eth.c | ? ?1 +
> ?1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/pxa168_eth.c b/drivers/net/pxa168_eth.c
> index 1a3033d..d5a6cfc 100644
> --- a/drivers/net/pxa168_eth.c
> +++ b/drivers/net/pxa168_eth.c
> @@ -41,6 +41,7 @@
> ?#include <linux/phy.h>
> ?#include <linux/io.h>
> ?#include <linux/types.h>
> +#include <linux/interrupt.h>
> ?#include <asm/pgtable.h>
> ?#include <asm/system.h>
> ?#include <asm/cacheflush.h>
> --
> 1.7.5.4
>
>
^ permalink raw reply
* [PATCH] ARM: SAMSUNG: s3c-dma-ops needs export.h for EXPORT_SYMBOL
From: Axel Lin @ 2011-10-07 4:20 UTC (permalink / raw)
To: linux-arm-kernel
Fix below build warning:
CC arch/arm/plat-samsung/s3c-dma-ops.o
arch/arm/plat-samsung/s3c-dma-ops.c:130: warning: data definition has no type or storage class
arch/arm/plat-samsung/s3c-dma-ops.c:130: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
arch/arm/plat-samsung/s3c-dma-ops.c:130: warning: parameter names (without types) in function declaration
And fix the build error:
ERROR: "s3c_dma_get_ops" [drivers/spi/spi-s3c64xx.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
This can be reproduced by "make s3c6400_defconfig;make" on linux-next 20111006.
arch/arm/plat-samsung/s3c-dma-ops.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/plat-samsung/s3c-dma-ops.c b/arch/arm/plat-samsung/s3c-dma-ops.c
index 582333c..7814949 100644
--- a/arch/arm/plat-samsung/s3c-dma-ops.c
+++ b/arch/arm/plat-samsung/s3c-dma-ops.c
@@ -14,6 +14,7 @@
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/types.h>
+#include <linux/export.h>
#include <mach/dma.h>
--
1.7.4.1
^ permalink raw reply related
* [PATCH 05/16] dmaengine: pl330: Enable module alias autogeneration for AMBA drivers
From: Vinod Koul @ 2011-10-07 4:32 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <CAJe_ZhePtDRD-Ov4D9jrEY7jt97aX9cM+jA0-=gkC1nZadRcMQ@mail.gmail.com>
On Thu, 2011-10-06 at 10:47 +0530, Jassi Brar wrote:
> On 5 October 2011 21:34, Dave Martin <dave.martin@linaro.org> wrote:
> > Signed-off-by: Dave Martin <dave.martin@linaro.org>
> > ---
> > drivers/dma/pl330.c | 2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
> > index 57104147..2d8d1b0 100644
> > --- a/drivers/dma/pl330.c
> > +++ b/drivers/dma/pl330.c
> > @@ -990,6 +990,8 @@ static struct amba_id pl330_ids[] = {
> > { 0, 0 },
> > };
> >
> > +MODULE_DEVICE_TABLE(amba, pl330_ids);
> > +
> > #ifdef CONFIG_PM_RUNTIME
> > static int pl330_runtime_suspend(struct device *dev)
> > {
>
> Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
>
Acked-by: Vinod Koul <vinod.koul@intel.com>
--
~Vinod
^ permalink raw reply
* [PATCH 04/16] dmaengine: pl08x: Enable module alias autogeneration for AMBA drivers
From: Vinod Koul @ 2011-10-07 4:33 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317830707-17517-5-git-send-email-dave.martin@linaro.org>
On Wed, 2011-10-05 at 17:04 +0100, Dave Martin wrote:
> Signed-off-by: Dave Martin <dave.martin@linaro.org>
> ---
> drivers/dma/amba-pl08x.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
> index b7cbd1a..0698695 100644
> --- a/drivers/dma/amba-pl08x.c
> +++ b/drivers/dma/amba-pl08x.c
> @@ -2054,6 +2054,8 @@ static struct amba_id pl08x_ids[] = {
> { 0, 0 },
> };
>
> +MODULE_DEVICE_TABLE(amba, pl08x_ids);
> +
> static struct amba_driver pl08x_amba_driver = {
> .drv.name = DRIVER_NAME,
> .id_table = pl08x_ids,
Acked-by: Vinod Koul <vinod.koul@intel.com>
--
~Vinod
^ permalink raw reply
* [PATCH 06/26] ARM: pxa: add missing header inclusions
From: Eric Miao @ 2011-10-07 5:08 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317499438-14058-7-git-send-email-arnd@arndb.de>
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> These resulted in build breakage in some configurations:
>
> arch/arm/mach-pxa/irq.c:132:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'icip_handle_irq'
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/irq.c | ? ?1 +
> ?1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c
> index b09e848..848e96d 100644
> --- a/arch/arm/mach-pxa/irq.c
> +++ b/arch/arm/mach-pxa/irq.c
> @@ -16,6 +16,7 @@
> ?#include <linux/module.h>
> ?#include <linux/interrupt.h>
> ?#include <linux/syscore_ops.h>
> +#include <linux/ftrace.h>
It's actually __irq_entry being defined in <linux/ftrace.h> and in turn
__exception_irq_entry being conditionally defined to that.
I think it's better to fix this in <asm/system.h> instead of in the
cases where this macro is referenced?
Russell?
> ?#include <linux/io.h>
> ?#include <linux/irq.h>
>
> --
> 1.7.5.4
>
>
^ permalink raw reply
* [PATCH 07/26] ARM: pxa: mbxfb: disable broken debugfs code
From: Eric Miao @ 2011-10-07 5:10 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317499438-14058-8-git-send-email-arnd@arndb.de>
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> This code has not worked for a long time, and even the
> Makefile entry for building the file was misspelled.
> Mark it as broken.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
> ---
> ?drivers/video/Kconfig ? ? ?| ? ?2 +-
> ?drivers/video/mbx/Makefile | ? ?2 +-
> ?2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index 549b960..45494c0 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -1932,7 +1932,7 @@ config FB_MBX
>
> ?config FB_MBX_DEBUG
> ? ? ? ?bool "Enable debugging info via debugfs"
> - ? ? ? depends on FB_MBX && DEBUG_FS
> + ? ? ? depends on FB_MBX && DEBUG_FS && BROKEN
> ? ? ? ?default n
> ? ? ? ?---help---
> ? ? ? ? ?Enable this if you want debugging information using the debug
> diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
> index 16c1165..a315abc 100644
> --- a/drivers/video/mbx/Makefile
> +++ b/drivers/video/mbx/Makefile
> @@ -1,4 +1,4 @@
> ?# Makefile for the 2700G controller driver.
>
> ?obj-$(CONFIG_FB_MBX) ? ? ?+= mbxfb.o
> -obj-$(CONFIG_FB_MBX_DEBUG) += mbxfbdebugfs.o
> +obj-$(CONFIG_FB_MBX_DEBUG) += mbxdebugfs.o
> --
> 1.7.5.4
>
>
^ permalink raw reply
* [PATCH 08/26] ARM: pxa: move z2 to generic cpu_suspend
From: Eric Miao @ 2011-10-07 5:59 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317499438-14058-9-git-send-email-arnd@arndb.de>
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The cpu_suspend code on pxa has recently changed, and the
> z2 board did not get updated yet. This makes it do the
> same as the other boards.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> ?arch/arm/mach-pxa/z2.c | ? ?3 ++-
> ?1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
> index 6c9275a..109447b 100644
> --- a/arch/arm/mach-pxa/z2.c
> +++ b/arch/arm/mach-pxa/z2.c
> @@ -31,6 +31,7 @@
> ?#include <linux/regulator/machine.h>
> ?#include <linux/i2c/pxa-i2c.h>
>
> +#include <asm/suspend.h>
> ?#include <asm/mach-types.h>
> ?#include <asm/mach/arch.h>
>
> @@ -686,7 +687,7 @@ static void z2_power_off(void)
> ? ? ? ? */
> ? ? ? ?PSPR = 0x0;
> ? ? ? ?local_irq_disable();
> - ? ? ? pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
> + ? ? ? cpu_suspend(PWRMODE_DEEPSLEEP, pxa27x_finish_suspend);
> ?}
> ?#else
> ?#define z2_power_off ? NULL
> --
> 1.7.5.4
>
This might not be the safest way to convert. I've proposed a patch weeks ago
as below:
commit 3f7961cbd3428c8639d42d1a51870466e4cbb0eb
Author: Eric Miao <eric.y.miao@gmail.com>
Date: Sun Sep 11 17:19:11 2011 +0800
ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
Cc: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
index 6c9275a..6fa4e74 100644
--- a/arch/arm/mach-pxa/z2.c
+++ b/arch/arm/mach-pxa/z2.c
@@ -679,6 +679,8 @@ static inline void z2_pmic_init(void) {}
#endif
#ifdef CONFIG_PM
+extern void pxa27x_cpu_pm_enter(suspend_state_t state);
+
static void z2_power_off(void)
{
/* We're using deep sleep as poweroff, so clear PSPR to ensure that
@@ -686,7 +688,8 @@ static void z2_power_off(void)
*/
PSPR = 0x0;
local_irq_disable();
- pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
+ pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP);
+ pxa27x_cpu_pm_enter(PM_SUSPEND_MEM);
}
#else
#define z2_power_off NULL
>
^ permalink raw reply related
* [PATCH 09/26] ARM: pxa: export symbols from pxa3xx-ulpi
From: Eric Miao @ 2011-10-07 6:01 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1317499438-14058-10-git-send-email-arnd@arndb.de>
On Sun, Oct 2, 2011 at 4:03 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> The pxa3xx_u2d_start_hc/pxa3xx_u2d_stop_hc symbols are used by the
> ohci-pxa27x driver, which can be a module.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied. Cc'ed Igor Grinberg <grinberg@compulab.co.il>.
> ---
> ?arch/arm/mach-pxa/pxa3xx-ulpi.c | ? ?2 ++
> ?1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/pxa3xx-ulpi.c b/arch/arm/mach-pxa/pxa3xx-ulpi.c
> index ce7168b..e28dfb8 100644
> --- a/arch/arm/mach-pxa/pxa3xx-ulpi.c
> +++ b/arch/arm/mach-pxa/pxa3xx-ulpi.c
> @@ -265,6 +265,7 @@ int pxa3xx_u2d_start_hc(struct usb_bus *host)
>
> ? ? ? ?return err;
> ?}
> +EXPORT_SYMBOL_GPL(pxa3xx_u2d_start_hc);
>
> ?void pxa3xx_u2d_stop_hc(struct usb_bus *host)
> ?{
> @@ -277,6 +278,7 @@ void pxa3xx_u2d_stop_hc(struct usb_bus *host)
>
> ? ? ? ?clk_disable(u2d->clk);
> ?}
> +EXPORT_SYMBOL_GPL(pxa3xx_u2d_stop_hc);
>
> ?static int pxa3xx_u2d_probe(struct platform_device *pdev)
> ?{
> --
> 1.7.5.4
>
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox