diff options
Diffstat (limited to 'arch/arm/mach-kirkwood')
-rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 7 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 113 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-mv88f6281gtw_ge.c | 50 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.h | 13 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/include/mach/bridge-regs.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/include/mach/timex.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/pm.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/pm.h | 26 |
10 files changed, 131 insertions, 107 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index fe8319ad3158..df4b26340ae4 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
@@ -106,13 +106,6 @@ config ARCH_KIRKWOOD_DT | |||
106 | Say 'Y' here if you want your kernel to support the | 106 | Say 'Y' here if you want your kernel to support the |
107 | Marvell Kirkwood using flattened device tree. | 107 | Marvell Kirkwood using flattened device tree. |
108 | 108 | ||
109 | config MACH_MV88F6281GTW_GE_DT | ||
110 | bool "Marvell 88F6281 GTW GE Board (Flattened Device Tree)" | ||
111 | depends on ARCH_KIRKWOOD_DT | ||
112 | help | ||
113 | Say 'Y' here if you want your kernel to support the | ||
114 | Marvell 88F6281 GTW GE Board (Flattened Device Tree). | ||
115 | |||
116 | endmenu | 109 | endmenu |
117 | 110 | ||
118 | endif | 111 | endif |
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile index 144b51102939..3a72c5c6e747 100644 --- a/arch/arm/mach-kirkwood/Makefile +++ b/arch/arm/mach-kirkwood/Makefile | |||
@@ -1,5 +1,4 @@ | |||
1 | obj-y += common.o pcie.o | 1 | obj-$(CONFIG_KIRKWOOD_LEGACY) += irq.o mpp.o common.o pcie.o |
2 | obj-$(CONFIG_KIRKWOOD_LEGACY) += irq.o mpp.o | ||
3 | obj-$(CONFIG_PM) += pm.o | 2 | obj-$(CONFIG_PM) += pm.o |
4 | 3 | ||
5 | obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o | 4 | obj-$(CONFIG_MACH_D2NET_V2) += d2net_v2-setup.o lacie_v2-common.o |
@@ -13,4 +12,3 @@ obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o | |||
13 | obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o | 12 | obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o |
14 | 13 | ||
15 | obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o | 14 | obj-$(CONFIG_ARCH_KIRKWOOD_DT) += board-dt.o |
16 | obj-$(CONFIG_MACH_MV88F6281GTW_GE_DT) += board-mv88f6281gtw_ge.o | ||
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index 78188159484d..2801da49e2a3 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c | |||
@@ -19,11 +19,84 @@ | |||
19 | #include <linux/of_platform.h> | 19 | #include <linux/of_platform.h> |
20 | #include <linux/dma-mapping.h> | 20 | #include <linux/dma-mapping.h> |
21 | #include <linux/irqchip.h> | 21 | #include <linux/irqchip.h> |
22 | #include <linux/kexec.h> | 22 | #include <asm/hardware/cache-feroceon-l2.h> |
23 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
24 | #include <asm/mach/map.h> | ||
24 | #include <mach/bridge-regs.h> | 25 | #include <mach/bridge-regs.h> |
25 | #include <plat/common.h> | 26 | #include <plat/common.h> |
26 | #include "common.h" | 27 | #include <plat/pcie.h> |
28 | #include "pm.h" | ||
29 | |||
30 | static struct map_desc kirkwood_io_desc[] __initdata = { | ||
31 | { | ||
32 | .virtual = (unsigned long) KIRKWOOD_REGS_VIRT_BASE, | ||
33 | .pfn = __phys_to_pfn(KIRKWOOD_REGS_PHYS_BASE), | ||
34 | .length = KIRKWOOD_REGS_SIZE, | ||
35 | .type = MT_DEVICE, | ||
36 | }, | ||
37 | }; | ||
38 | |||
39 | static void __init kirkwood_map_io(void) | ||
40 | { | ||
41 | iotable_init(kirkwood_io_desc, ARRAY_SIZE(kirkwood_io_desc)); | ||
42 | } | ||
43 | |||
44 | static struct resource kirkwood_cpufreq_resources[] = { | ||
45 | [0] = { | ||
46 | .start = CPU_CONTROL_PHYS, | ||
47 | .end = CPU_CONTROL_PHYS + 3, | ||
48 | .flags = IORESOURCE_MEM, | ||
49 | }, | ||
50 | }; | ||
51 | |||
52 | static struct platform_device kirkwood_cpufreq_device = { | ||
53 | .name = "kirkwood-cpufreq", | ||
54 | .id = -1, | ||
55 | .num_resources = ARRAY_SIZE(kirkwood_cpufreq_resources), | ||
56 | .resource = kirkwood_cpufreq_resources, | ||
57 | }; | ||
58 | |||
59 | static void __init kirkwood_cpufreq_init(void) | ||
60 | { | ||
61 | platform_device_register(&kirkwood_cpufreq_device); | ||
62 | } | ||
63 | |||
64 | static struct resource kirkwood_cpuidle_resource[] = { | ||
65 | { | ||
66 | .flags = IORESOURCE_MEM, | ||
67 | .start = DDR_OPERATION_BASE, | ||
68 | .end = DDR_OPERATION_BASE + 3, | ||
69 | }, | ||
70 | }; | ||
71 | |||
72 | static struct platform_device kirkwood_cpuidle = { | ||
73 | .name = "kirkwood_cpuidle", | ||
74 | .id = -1, | ||
75 | .resource = kirkwood_cpuidle_resource, | ||
76 | .num_resources = 1, | ||
77 | }; | ||
78 | |||
79 | static void __init kirkwood_cpuidle_init(void) | ||
80 | { | ||
81 | platform_device_register(&kirkwood_cpuidle); | ||
82 | } | ||
83 | |||
84 | /* Temporary here since mach-mvebu has a function we can use */ | ||
85 | static void kirkwood_restart(enum reboot_mode mode, const char *cmd) | ||
86 | { | ||
87 | /* | ||
88 | * Enable soft reset to assert RSTOUTn. | ||
89 | */ | ||
90 | writel(SOFT_RESET_OUT_EN, RSTOUTn_MASK); | ||
91 | |||
92 | /* | ||
93 | * Assert soft reset. | ||
94 | */ | ||
95 | writel(SOFT_RESET, SYSTEM_SOFT_RESET); | ||
96 | |||
97 | while (1) | ||
98 | ; | ||
99 | } | ||
27 | 100 | ||
28 | #define MV643XX_ETH_MAC_ADDR_LOW 0x0414 | 101 | #define MV643XX_ETH_MAC_ADDR_LOW 0x0414 |
29 | #define MV643XX_ETH_MAC_ADDR_HIGH 0x0418 | 102 | #define MV643XX_ETH_MAC_ADDR_HIGH 0x0418 |
@@ -104,35 +177,35 @@ eth_fixup_skip: | |||
104 | } | 177 | } |
105 | } | 178 | } |
106 | 179 | ||
107 | static void __init kirkwood_dt_init(void) | 180 | /* |
181 | * Disable propagation of mbus errors to the CPU local bus, as this | ||
182 | * causes mbus errors (which can occur for example for PCI aborts) to | ||
183 | * throw CPU aborts, which we're not set up to deal with. | ||
184 | */ | ||
185 | static void __init kirkwood_disable_mbus_error_propagation(void) | ||
108 | { | 186 | { |
109 | pr_info("Kirkwood: %s.\n", kirkwood_id()); | 187 | void __iomem *cpu_config; |
110 | 188 | ||
111 | /* | 189 | cpu_config = ioremap(CPU_CONFIG_PHYS, 4); |
112 | * Disable propagation of mbus errors to the CPU local bus, | 190 | writel(readl(cpu_config) & ~CPU_CONFIG_ERROR_PROP, cpu_config); |
113 | * as this causes mbus errors (which can occur for example | 191 | iounmap(cpu_config); |
114 | * for PCI aborts) to throw CPU aborts, which we're not set | 192 | } |
115 | * up to deal with. | ||
116 | */ | ||
117 | writel(readl(CPU_CONFIG) & ~CPU_CONFIG_ERROR_PROP, CPU_CONFIG); | ||
118 | 193 | ||
119 | BUG_ON(mvebu_mbus_dt_init()); | 194 | static void __init kirkwood_dt_init(void) |
195 | { | ||
196 | kirkwood_disable_mbus_error_propagation(); | ||
120 | 197 | ||
121 | kirkwood_l2_init(); | 198 | BUG_ON(mvebu_mbus_dt_init()); |
122 | 199 | ||
200 | #ifdef CONFIG_CACHE_FEROCEON_L2 | ||
201 | feroceon_of_init(); | ||
202 | #endif | ||
123 | kirkwood_cpufreq_init(); | 203 | kirkwood_cpufreq_init(); |
124 | kirkwood_cpuidle_init(); | 204 | kirkwood_cpuidle_init(); |
125 | 205 | ||
126 | kirkwood_pm_init(); | 206 | kirkwood_pm_init(); |
127 | kirkwood_dt_eth_fixup(); | 207 | kirkwood_dt_eth_fixup(); |
128 | 208 | ||
129 | #ifdef CONFIG_KEXEC | ||
130 | kexec_reinit = kirkwood_enable_pcie; | ||
131 | #endif | ||
132 | |||
133 | if (of_machine_is_compatible("marvell,mv88f6281gtw-ge")) | ||
134 | mv88f6281gtw_ge_init(); | ||
135 | |||
136 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 209 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
137 | } | 210 | } |
138 | 211 | ||
diff --git a/arch/arm/mach-kirkwood/board-mv88f6281gtw_ge.c b/arch/arm/mach-kirkwood/board-mv88f6281gtw_ge.c deleted file mode 100644 index ee5eea678c11..000000000000 --- a/arch/arm/mach-kirkwood/board-mv88f6281gtw_ge.c +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/board-mv88f6281gtw_ge.c | ||
3 | * | ||
4 | * Marvell 88F6281 GTW GE Board Setup | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <linux/irq.h> | ||
15 | #include <linux/timer.h> | ||
16 | #include <linux/mv643xx_eth.h> | ||
17 | #include <linux/ethtool.h> | ||
18 | #include <linux/gpio.h> | ||
19 | #include <net/dsa.h> | ||
20 | #include <asm/mach-types.h> | ||
21 | #include <asm/mach/arch.h> | ||
22 | #include <asm/mach/pci.h> | ||
23 | #include <mach/kirkwood.h> | ||
24 | #include "common.h" | ||
25 | |||
26 | static struct mv643xx_eth_platform_data mv88f6281gtw_ge_ge00_data = { | ||
27 | .phy_addr = MV643XX_ETH_PHY_NONE, | ||
28 | .speed = SPEED_1000, | ||
29 | .duplex = DUPLEX_FULL, | ||
30 | }; | ||
31 | |||
32 | static struct dsa_chip_data mv88f6281gtw_ge_switch_chip_data = { | ||
33 | .port_names[0] = "lan1", | ||
34 | .port_names[1] = "lan2", | ||
35 | .port_names[2] = "lan3", | ||
36 | .port_names[3] = "lan4", | ||
37 | .port_names[4] = "wan", | ||
38 | .port_names[5] = "cpu", | ||
39 | }; | ||
40 | |||
41 | static struct dsa_platform_data mv88f6281gtw_ge_switch_plat_data = { | ||
42 | .nr_chips = 1, | ||
43 | .chip = &mv88f6281gtw_ge_switch_chip_data, | ||
44 | }; | ||
45 | |||
46 | void __init mv88f6281gtw_ge_init(void) | ||
47 | { | ||
48 | kirkwood_ge00_init(&mv88f6281gtw_ge_ge00_data); | ||
49 | kirkwood_ge00_switch_init(&mv88f6281gtw_ge_switch_plat_data, NO_IRQ); | ||
50 | } | ||
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index f3407a5db216..255f33a3903c 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -25,10 +25,10 @@ | |||
25 | #include <asm/page.h> | 25 | #include <asm/page.h> |
26 | #include <asm/mach/map.h> | 26 | #include <asm/mach/map.h> |
27 | #include <asm/mach/time.h> | 27 | #include <asm/mach/time.h> |
28 | #include <asm/hardware/cache-feroceon-l2.h> | ||
28 | #include <mach/kirkwood.h> | 29 | #include <mach/kirkwood.h> |
29 | #include <mach/bridge-regs.h> | 30 | #include <mach/bridge-regs.h> |
30 | #include <linux/platform_data/asoc-kirkwood.h> | 31 | #include <linux/platform_data/asoc-kirkwood.h> |
31 | #include <plat/cache-feroceon-l2.h> | ||
32 | #include <linux/platform_data/mmc-mvsdio.h> | 32 | #include <linux/platform_data/mmc-mvsdio.h> |
33 | #include <linux/platform_data/mtd-orion_nand.h> | 33 | #include <linux/platform_data/mtd-orion_nand.h> |
34 | #include <linux/platform_data/usb-ehci-orion.h> | 34 | #include <linux/platform_data/usb-ehci-orion.h> |
@@ -36,6 +36,7 @@ | |||
36 | #include <plat/time.h> | 36 | #include <plat/time.h> |
37 | #include <linux/platform_data/dma-mv_xor.h> | 37 | #include <linux/platform_data/dma-mv_xor.h> |
38 | #include "common.h" | 38 | #include "common.h" |
39 | #include "pm.h" | ||
39 | 40 | ||
40 | /* These can go away once Kirkwood uses the mvebu-mbus DT binding */ | 41 | /* These can go away once Kirkwood uses the mvebu-mbus DT binding */ |
41 | #define KIRKWOOD_MBUS_NAND_TARGET 0x01 | 42 | #define KIRKWOOD_MBUS_NAND_TARGET 0x01 |
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h index 05fd648df543..832a4e2ab8d7 100644 --- a/arch/arm/mach-kirkwood/common.h +++ b/arch/arm/mach-kirkwood/common.h | |||
@@ -58,19 +58,6 @@ void kirkwood_cpufreq_init(void); | |||
58 | void kirkwood_restart(enum reboot_mode, const char *); | 58 | void kirkwood_restart(enum reboot_mode, const char *); |
59 | void kirkwood_clk_init(void); | 59 | void kirkwood_clk_init(void); |
60 | 60 | ||
61 | #ifdef CONFIG_PM | ||
62 | void kirkwood_pm_init(void); | ||
63 | #else | ||
64 | static inline void kirkwood_pm_init(void) {}; | ||
65 | #endif | ||
66 | |||
67 | /* board init functions for boards not fully converted to fdt */ | ||
68 | #ifdef CONFIG_MACH_MV88F6281GTW_GE_DT | ||
69 | void mv88f6281gtw_ge_init(void); | ||
70 | #else | ||
71 | static inline void mv88f6281gtw_ge_init(void) {}; | ||
72 | #endif | ||
73 | |||
74 | /* early init functions not converted to fdt yet */ | 61 | /* early init functions not converted to fdt yet */ |
75 | char *kirkwood_id(void); | 62 | char *kirkwood_id(void); |
76 | void kirkwood_l2_init(void); | 63 | void kirkwood_l2_init(void); |
diff --git a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h index 8b9d1c9ff199..1c37082c8b39 100644 --- a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h +++ b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <mach/kirkwood.h> | 14 | #include <mach/kirkwood.h> |
15 | 15 | ||
16 | #define CPU_CONFIG (BRIDGE_VIRT_BASE + 0x0100) | 16 | #define CPU_CONFIG (BRIDGE_VIRT_BASE + 0x0100) |
17 | #define CPU_CONFIG_PHYS (BRIDGE_PHYS_BASE + 0x0100) | ||
17 | #define CPU_CONFIG_ERROR_PROP 0x00000004 | 18 | #define CPU_CONFIG_ERROR_PROP 0x00000004 |
18 | 19 | ||
19 | #define CPU_CONTROL (BRIDGE_VIRT_BASE + 0x0104) | 20 | #define CPU_CONTROL (BRIDGE_VIRT_BASE + 0x0104) |
@@ -21,6 +22,7 @@ | |||
21 | #define CPU_RESET 0x00000002 | 22 | #define CPU_RESET 0x00000002 |
22 | 23 | ||
23 | #define RSTOUTn_MASK (BRIDGE_VIRT_BASE + 0x0108) | 24 | #define RSTOUTn_MASK (BRIDGE_VIRT_BASE + 0x0108) |
25 | #define RSTOUTn_MASK_PHYS (BRIDGE_PHYS_BASE + 0x0108) | ||
24 | #define SOFT_RESET_OUT_EN 0x00000004 | 26 | #define SOFT_RESET_OUT_EN 0x00000004 |
25 | 27 | ||
26 | #define SYSTEM_SOFT_RESET (BRIDGE_VIRT_BASE + 0x010c) | 28 | #define SYSTEM_SOFT_RESET (BRIDGE_VIRT_BASE + 0x010c) |
@@ -79,5 +81,6 @@ | |||
79 | #define CGC_RESERVED (0x6 << 21) | 81 | #define CGC_RESERVED (0x6 << 21) |
80 | 82 | ||
81 | #define MEMORY_PM_CTRL (BRIDGE_VIRT_BASE + 0x118) | 83 | #define MEMORY_PM_CTRL (BRIDGE_VIRT_BASE + 0x118) |
84 | #define MEMORY_PM_CTRL_PHYS (BRIDGE_PHYS_BASE + 0x118) | ||
82 | 85 | ||
83 | #endif | 86 | #endif |
diff --git a/arch/arm/mach-kirkwood/include/mach/timex.h b/arch/arm/mach-kirkwood/include/mach/timex.h deleted file mode 100644 index c923cd169b9c..000000000000 --- a/arch/arm/mach-kirkwood/include/mach/timex.h +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/include/mach/timex.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #define CLOCK_TICK_RATE (100 * HZ) | ||
10 | |||
diff --git a/arch/arm/mach-kirkwood/pm.c b/arch/arm/mach-kirkwood/pm.c index c6ab8d9303a5..8e5e0329d04c 100644 --- a/arch/arm/mach-kirkwood/pm.c +++ b/arch/arm/mach-kirkwood/pm.c | |||
@@ -21,15 +21,16 @@ | |||
21 | #include "common.h" | 21 | #include "common.h" |
22 | 22 | ||
23 | static void __iomem *ddr_operation_base; | 23 | static void __iomem *ddr_operation_base; |
24 | static void __iomem *memory_pm_ctrl; | ||
24 | 25 | ||
25 | static void kirkwood_low_power(void) | 26 | static void kirkwood_low_power(void) |
26 | { | 27 | { |
27 | u32 mem_pm_ctrl; | 28 | u32 mem_pm_ctrl; |
28 | 29 | ||
29 | mem_pm_ctrl = readl(MEMORY_PM_CTRL); | 30 | mem_pm_ctrl = readl(memory_pm_ctrl); |
30 | 31 | ||
31 | /* Set peripherals to low-power mode */ | 32 | /* Set peripherals to low-power mode */ |
32 | writel_relaxed(~0, MEMORY_PM_CTRL); | 33 | writel_relaxed(~0, memory_pm_ctrl); |
33 | 34 | ||
34 | /* Set DDR in self-refresh */ | 35 | /* Set DDR in self-refresh */ |
35 | writel_relaxed(0x7, ddr_operation_base); | 36 | writel_relaxed(0x7, ddr_operation_base); |
@@ -41,7 +42,7 @@ static void kirkwood_low_power(void) | |||
41 | */ | 42 | */ |
42 | cpu_do_idle(); | 43 | cpu_do_idle(); |
43 | 44 | ||
44 | writel_relaxed(mem_pm_ctrl, MEMORY_PM_CTRL); | 45 | writel_relaxed(mem_pm_ctrl, memory_pm_ctrl); |
45 | } | 46 | } |
46 | 47 | ||
47 | static int kirkwood_suspend_enter(suspend_state_t state) | 48 | static int kirkwood_suspend_enter(suspend_state_t state) |
@@ -69,5 +70,7 @@ static const struct platform_suspend_ops kirkwood_suspend_ops = { | |||
69 | void __init kirkwood_pm_init(void) | 70 | void __init kirkwood_pm_init(void) |
70 | { | 71 | { |
71 | ddr_operation_base = ioremap(DDR_OPERATION_BASE, 4); | 72 | ddr_operation_base = ioremap(DDR_OPERATION_BASE, 4); |
73 | memory_pm_ctrl = ioremap(MEMORY_PM_CTRL_PHYS, 4); | ||
74 | |||
72 | suspend_set_ops(&kirkwood_suspend_ops); | 75 | suspend_set_ops(&kirkwood_suspend_ops); |
73 | } | 76 | } |
diff --git a/arch/arm/mach-kirkwood/pm.h b/arch/arm/mach-kirkwood/pm.h new file mode 100644 index 000000000000..21e7530f368b --- /dev/null +++ b/arch/arm/mach-kirkwood/pm.h | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Power Management driver for Marvell Kirkwood SoCs | ||
3 | * | ||
4 | * Copyright (C) 2013 Ezequiel Garcia <ezequiel@free-electrons.com> | ||
5 | * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License, | ||
9 | * version 2 of the License. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | */ | ||
16 | |||
17 | #ifndef __ARCH_KIRKWOOD_PM_H | ||
18 | #define __ARCH_KIRKWOOD_PM_H | ||
19 | |||
20 | #ifdef CONFIG_PM | ||
21 | void kirkwood_pm_init(void); | ||
22 | #else | ||
23 | static inline void kirkwood_pm_init(void) {}; | ||
24 | #endif | ||
25 | |||
26 | #endif | ||