diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 12:23:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 12:23:24 -0400 |
commit | 9bc747bea5fad819e0c0ad96e6a67ea0640dfe2b (patch) | |
tree | d500225e7a1c90a6bd17d3e63e2f6e781810db2b /arch/arm/mach-omap1 | |
parent | 32b908eea9e5ecd1049008e134eadbfcd0da5e38 (diff) | |
parent | 0e896b1ddc1905df904df98c204bacf028219729 (diff) |
Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull first batch of arm-soc cleanups from Olof Johansson:
"These cleanups are basically all over the place. The idea is to
collect changes with minimal impact but large number of changes so we
can avoid them from distracting in the diffstat in the other series.
A significant number of lines get removed here, in particular because
the ixp2000 and ixp23xx platforms get removed. These have never been
extremely popular and have fallen into disuse over time with no active
maintainer taking care of them. The u5500 soc never made it into a
product, so we are removing it from the ux500 platform.
Many good cleanups also went into the at91 and omap platforms, as has
been the case for a number of releases."
Trivial modify-delete conflicts in arch/arm/mach-{ixp2000,ixp23xx}
* tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (152 commits)
ARM: clps711x: Cleanup IRQ handling
ARM clps711x: Removed unused header mach/time.h
ARM: clps711x: Added note about support EP731x CPU to Kconfig
ARM: clps711x: Added missing register definitions
ARM: clps711x: Used own subarch directory for store header file
Dove: Fix Section mismatch warnings
ARM: orion5x: ts78xx debugging changes
ARM: orion5x: remove PM dependency from ts78xx
ARM: orion5x: ts78xx fix NAND resource off by one
ARM: orion5x: ts78xx whitespace cleanups
Orion5x: Fix Section mismatch warnings
Orion5x: Fix warning: struct pci_dev declared inside paramter list
ARM: clps711x: Combine header files into one for clps711x-targets
ARM: S3C24XX: Use common macro to define resources on mach-qt2410.c
ARM: S3C24XX: Use common macro to define resources on mach-osiris.c
ARM: EXYNOS: Adapt to cpuidle core time keeping and irq enable
ARM: S5PV210: Use common macro to define resources on mach-smdkv210.c
ARM: S5PV210: Use common macro to define resources on dev-audio.c
ARM: S5PC100: Use common macro to define resources on dev-audio.c
ARM: S5P64X0: Use common macro to define resources on dev-audio.c
...
Diffstat (limited to 'arch/arm/mach-omap1')
-rw-r--r-- | arch/arm/mach-omap1/Makefile | 13 | ||||
-rw-r--r-- | arch/arm/mach-omap1/ams-delta-fiq.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-fsample.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h2.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-h3.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-nand.c | 37 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-palmz71.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap1/board-perseus2.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-omap1/clock.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap1/common.h | 15 | ||||
-rw-r--r-- | arch/arm/mach-omap1/fpga.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/id.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/io.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap1/irq.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/lcd_dma.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-omap1/ocpi.c | 112 | ||||
-rw-r--r-- | arch/arm/mach-omap1/pm.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-omap1/reset.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap1/timer.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap1/usb.c | 3 |
20 files changed, 197 insertions, 87 deletions
diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile index 9923f92b5450..398e9e53e189 100644 --- a/arch/arm/mach-omap1/Makefile +++ b/arch/arm/mach-omap1/Makefile | |||
@@ -12,6 +12,9 @@ endif | |||
12 | 12 | ||
13 | obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o | 13 | obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o |
14 | 14 | ||
15 | # OCPI interconnect support for 1710, 1610 and 5912 | ||
16 | obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o | ||
17 | |||
15 | # Power Management | 18 | # Power Management |
16 | obj-$(CONFIG_PM) += pm.o sleep.o | 19 | obj-$(CONFIG_PM) += pm.o sleep.o |
17 | 20 | ||
@@ -28,13 +31,15 @@ usb-fs-$(CONFIG_USB) := usb.o | |||
28 | obj-y += $(usb-fs-m) $(usb-fs-y) | 31 | obj-y += $(usb-fs-m) $(usb-fs-y) |
29 | 32 | ||
30 | # Specific board support | 33 | # Specific board support |
31 | obj-$(CONFIG_MACH_OMAP_H2) += board-h2.o board-h2-mmc.o | 34 | obj-$(CONFIG_MACH_OMAP_H2) += board-h2.o board-h2-mmc.o \ |
35 | board-nand.o | ||
32 | obj-$(CONFIG_MACH_OMAP_INNOVATOR) += board-innovator.o | 36 | obj-$(CONFIG_MACH_OMAP_INNOVATOR) += board-innovator.o |
33 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o | 37 | obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o |
34 | obj-$(CONFIG_MACH_OMAP_PERSEUS2) += board-perseus2.o | 38 | obj-$(CONFIG_MACH_OMAP_PERSEUS2) += board-perseus2.o board-nand.o |
35 | obj-$(CONFIG_MACH_OMAP_FSAMPLE) += board-fsample.o | 39 | obj-$(CONFIG_MACH_OMAP_FSAMPLE) += board-fsample.o board-nand.o |
36 | obj-$(CONFIG_MACH_OMAP_OSK) += board-osk.o | 40 | obj-$(CONFIG_MACH_OMAP_OSK) += board-osk.o |
37 | obj-$(CONFIG_MACH_OMAP_H3) += board-h3.o board-h3-mmc.o | 41 | obj-$(CONFIG_MACH_OMAP_H3) += board-h3.o board-h3-mmc.o \ |
42 | board-nand.o | ||
38 | obj-$(CONFIG_MACH_VOICEBLUE) += board-voiceblue.o | 43 | obj-$(CONFIG_MACH_VOICEBLUE) += board-voiceblue.o |
39 | obj-$(CONFIG_MACH_OMAP_PALMTE) += board-palmte.o | 44 | obj-$(CONFIG_MACH_OMAP_PALMTE) += board-palmte.o |
40 | obj-$(CONFIG_MACH_OMAP_PALMZ71) += board-palmz71.o | 45 | obj-$(CONFIG_MACH_OMAP_PALMZ71) += board-palmz71.o |
diff --git a/arch/arm/mach-omap1/ams-delta-fiq.c b/arch/arm/mach-omap1/ams-delta-fiq.c index cfd98b186fcc..68e8e5654c0a 100644 --- a/arch/arm/mach-omap1/ams-delta-fiq.c +++ b/arch/arm/mach-omap1/ams-delta-fiq.c | |||
@@ -102,7 +102,7 @@ void __init ams_delta_init_fiq(void) | |||
102 | } | 102 | } |
103 | 103 | ||
104 | retval = request_irq(INT_DEFERRED_FIQ, deferred_fiq, | 104 | retval = request_irq(INT_DEFERRED_FIQ, deferred_fiq, |
105 | IRQ_TYPE_EDGE_RISING, "deferred_fiq", 0); | 105 | IRQ_TYPE_EDGE_RISING, "deferred_fiq", NULL); |
106 | if (retval < 0) { | 106 | if (retval < 0) { |
107 | pr_err("Failed to get deferred_fiq IRQ, ret=%d\n", retval); | 107 | pr_err("Failed to get deferred_fiq IRQ, ret=%d\n", retval); |
108 | release_fiq(&fh); | 108 | release_fiq(&fh); |
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c index 80bd43c7f4ec..4a4afb371022 100644 --- a/arch/arm/mach-omap1/board-fsample.c +++ b/arch/arm/mach-omap1/board-fsample.c | |||
@@ -185,20 +185,6 @@ static struct platform_device nor_device = { | |||
185 | .resource = &nor_resource, | 185 | .resource = &nor_resource, |
186 | }; | 186 | }; |
187 | 187 | ||
188 | static void nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) | ||
189 | { | ||
190 | struct nand_chip *this = mtd->priv; | ||
191 | unsigned long mask; | ||
192 | |||
193 | if (cmd == NAND_CMD_NONE) | ||
194 | return; | ||
195 | |||
196 | mask = (ctrl & NAND_CLE) ? 0x02 : 0; | ||
197 | if (ctrl & NAND_ALE) | ||
198 | mask |= 0x04; | ||
199 | writeb(cmd, (unsigned long)this->IO_ADDR_W | mask); | ||
200 | } | ||
201 | |||
202 | #define FSAMPLE_NAND_RB_GPIO_PIN 62 | 188 | #define FSAMPLE_NAND_RB_GPIO_PIN 62 |
203 | 189 | ||
204 | static int nand_dev_ready(struct mtd_info *mtd) | 190 | static int nand_dev_ready(struct mtd_info *mtd) |
@@ -216,7 +202,7 @@ static struct platform_nand_data nand_data = { | |||
216 | .part_probe_types = part_probes, | 202 | .part_probe_types = part_probes, |
217 | }, | 203 | }, |
218 | .ctrl = { | 204 | .ctrl = { |
219 | .cmd_ctrl = nand_cmd_ctl, | 205 | .cmd_ctrl = omap1_nand_cmd_ctl, |
220 | .dev_ready = nand_dev_ready, | 206 | .dev_ready = nand_dev_ready, |
221 | }, | 207 | }, |
222 | }; | 208 | }; |
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index 553a2e535764..057ec13f0649 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -179,20 +179,6 @@ static struct mtd_partition h2_nand_partitions[] = { | |||
179 | }, | 179 | }, |
180 | }; | 180 | }; |
181 | 181 | ||
182 | static void h2_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) | ||
183 | { | ||
184 | struct nand_chip *this = mtd->priv; | ||
185 | unsigned long mask; | ||
186 | |||
187 | if (cmd == NAND_CMD_NONE) | ||
188 | return; | ||
189 | |||
190 | mask = (ctrl & NAND_CLE) ? 0x02 : 0; | ||
191 | if (ctrl & NAND_ALE) | ||
192 | mask |= 0x04; | ||
193 | writeb(cmd, (unsigned long)this->IO_ADDR_W | mask); | ||
194 | } | ||
195 | |||
196 | #define H2_NAND_RB_GPIO_PIN 62 | 182 | #define H2_NAND_RB_GPIO_PIN 62 |
197 | 183 | ||
198 | static int h2_nand_dev_ready(struct mtd_info *mtd) | 184 | static int h2_nand_dev_ready(struct mtd_info *mtd) |
@@ -212,9 +198,8 @@ static struct platform_nand_data h2_nand_platdata = { | |||
212 | .part_probe_types = h2_part_probes, | 198 | .part_probe_types = h2_part_probes, |
213 | }, | 199 | }, |
214 | .ctrl = { | 200 | .ctrl = { |
215 | .cmd_ctrl = h2_nand_cmd_ctl, | 201 | .cmd_ctrl = omap1_nand_cmd_ctl, |
216 | .dev_ready = h2_nand_dev_ready, | 202 | .dev_ready = h2_nand_dev_ready, |
217 | |||
218 | }, | 203 | }, |
219 | }; | 204 | }; |
220 | 205 | ||
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c index 4c19f4c06851..f6ddf8759657 100644 --- a/arch/arm/mach-omap1/board-h3.c +++ b/arch/arm/mach-omap1/board-h3.c | |||
@@ -181,20 +181,6 @@ static struct mtd_partition nand_partitions[] = { | |||
181 | }, | 181 | }, |
182 | }; | 182 | }; |
183 | 183 | ||
184 | static void nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) | ||
185 | { | ||
186 | struct nand_chip *this = mtd->priv; | ||
187 | unsigned long mask; | ||
188 | |||
189 | if (cmd == NAND_CMD_NONE) | ||
190 | return; | ||
191 | |||
192 | mask = (ctrl & NAND_CLE) ? 0x02 : 0; | ||
193 | if (ctrl & NAND_ALE) | ||
194 | mask |= 0x04; | ||
195 | writeb(cmd, (unsigned long)this->IO_ADDR_W | mask); | ||
196 | } | ||
197 | |||
198 | #define H3_NAND_RB_GPIO_PIN 10 | 184 | #define H3_NAND_RB_GPIO_PIN 10 |
199 | 185 | ||
200 | static int nand_dev_ready(struct mtd_info *mtd) | 186 | static int nand_dev_ready(struct mtd_info *mtd) |
@@ -214,7 +200,7 @@ static struct platform_nand_data nand_platdata = { | |||
214 | .part_probe_types = part_probes, | 200 | .part_probe_types = part_probes, |
215 | }, | 201 | }, |
216 | .ctrl = { | 202 | .ctrl = { |
217 | .cmd_ctrl = nand_cmd_ctl, | 203 | .cmd_ctrl = omap1_nand_cmd_ctl, |
218 | .dev_ready = nand_dev_ready, | 204 | .dev_ready = nand_dev_ready, |
219 | 205 | ||
220 | }, | 206 | }, |
diff --git a/arch/arm/mach-omap1/board-nand.c b/arch/arm/mach-omap1/board-nand.c new file mode 100644 index 000000000000..4d0835327d20 --- /dev/null +++ b/arch/arm/mach-omap1/board-nand.c | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-omap1/board-nand.c | ||
3 | * | ||
4 | * Common OMAP1 board NAND code | ||
5 | * | ||
6 | * Copyright (C) 2004, 2012 Texas Instruments, Inc. | ||
7 | * Copyright (C) 2002 MontaVista Software, Inc. | ||
8 | * Copyright (C) 2001 RidgeRun, Inc. | ||
9 | * Author: RidgeRun, Inc. | ||
10 | * Greg Lonnon (glonnon@ridgerun.com) or info@ridgerun.com | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License version 2 as | ||
14 | * published by the Free Software Foundation. | ||
15 | */ | ||
16 | #include <linux/kernel.h> | ||
17 | #include <linux/io.h> | ||
18 | #include <linux/mtd/mtd.h> | ||
19 | #include <linux/mtd/nand.h> | ||
20 | |||
21 | #include "common.h" | ||
22 | |||
23 | void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) | ||
24 | { | ||
25 | struct nand_chip *this = mtd->priv; | ||
26 | unsigned long mask; | ||
27 | |||
28 | if (cmd == NAND_CMD_NONE) | ||
29 | return; | ||
30 | |||
31 | mask = (ctrl & NAND_CLE) ? 0x02 : 0; | ||
32 | if (ctrl & NAND_ALE) | ||
33 | mask |= 0x04; | ||
34 | |||
35 | writeb(cmd, this->IO_ADDR_W + mask); | ||
36 | } | ||
37 | |||
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c index a2c5abcd7c84..61ed4f0247ce 100644 --- a/arch/arm/mach-omap1/board-palmz71.c +++ b/arch/arm/mach-omap1/board-palmz71.c | |||
@@ -289,10 +289,10 @@ palmz71_gpio_setup(int early) | |||
289 | gpio_direction_input(PALMZ71_USBDETECT_GPIO); | 289 | gpio_direction_input(PALMZ71_USBDETECT_GPIO); |
290 | if (request_irq(gpio_to_irq(PALMZ71_USBDETECT_GPIO), | 290 | if (request_irq(gpio_to_irq(PALMZ71_USBDETECT_GPIO), |
291 | palmz71_powercable, IRQF_SAMPLE_RANDOM, | 291 | palmz71_powercable, IRQF_SAMPLE_RANDOM, |
292 | "palmz71-cable", 0)) | 292 | "palmz71-cable", NULL)) |
293 | printk(KERN_ERR | 293 | printk(KERN_ERR |
294 | "IRQ request for power cable failed!\n"); | 294 | "IRQ request for power cable failed!\n"); |
295 | palmz71_powercable(gpio_to_irq(PALMZ71_USBDETECT_GPIO), 0); | 295 | palmz71_powercable(gpio_to_irq(PALMZ71_USBDETECT_GPIO), NULL); |
296 | } | 296 | } |
297 | } | 297 | } |
298 | 298 | ||
diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c index 76d4ee05a814..a2c88890e767 100644 --- a/arch/arm/mach-omap1/board-perseus2.c +++ b/arch/arm/mach-omap1/board-perseus2.c | |||
@@ -143,20 +143,6 @@ static struct platform_device nor_device = { | |||
143 | .resource = &nor_resource, | 143 | .resource = &nor_resource, |
144 | }; | 144 | }; |
145 | 145 | ||
146 | static void nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) | ||
147 | { | ||
148 | struct nand_chip *this = mtd->priv; | ||
149 | unsigned long mask; | ||
150 | |||
151 | if (cmd == NAND_CMD_NONE) | ||
152 | return; | ||
153 | |||
154 | mask = (ctrl & NAND_CLE) ? 0x02 : 0; | ||
155 | if (ctrl & NAND_ALE) | ||
156 | mask |= 0x04; | ||
157 | writeb(cmd, (unsigned long)this->IO_ADDR_W | mask); | ||
158 | } | ||
159 | |||
160 | #define P2_NAND_RB_GPIO_PIN 62 | 146 | #define P2_NAND_RB_GPIO_PIN 62 |
161 | 147 | ||
162 | static int nand_dev_ready(struct mtd_info *mtd) | 148 | static int nand_dev_ready(struct mtd_info *mtd) |
@@ -174,7 +160,7 @@ static struct platform_nand_data nand_data = { | |||
174 | .part_probe_types = part_probes, | 160 | .part_probe_types = part_probes, |
175 | }, | 161 | }, |
176 | .ctrl = { | 162 | .ctrl = { |
177 | .cmd_ctrl = nand_cmd_ctl, | 163 | .cmd_ctrl = omap1_nand_cmd_ctl, |
178 | .dev_ready = nand_dev_ready, | 164 | .dev_ready = nand_dev_ready, |
179 | }, | 165 | }, |
180 | }; | 166 | }; |
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c index 67382ddd8c83..a9ee06b6cb42 100644 --- a/arch/arm/mach-omap1/clock.c +++ b/arch/arm/mach-omap1/clock.c | |||
@@ -194,9 +194,8 @@ int omap1_select_table_rate(struct clk *clk, unsigned long rate) | |||
194 | { | 194 | { |
195 | /* Find the highest supported frequency <= rate and switch to it */ | 195 | /* Find the highest supported frequency <= rate and switch to it */ |
196 | struct mpu_rate * ptr; | 196 | struct mpu_rate * ptr; |
197 | unsigned long dpll1_rate, ref_rate; | 197 | unsigned long ref_rate; |
198 | 198 | ||
199 | dpll1_rate = ck_dpll1_p->rate; | ||
200 | ref_rate = ck_ref_p->rate; | 199 | ref_rate = ck_ref_p->rate; |
201 | 200 | ||
202 | for (ptr = omap1_rate_table; ptr->rate; ptr++) { | 201 | for (ptr = omap1_rate_table; ptr->rate; ptr++) { |
diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h index af658ad338ec..bb7779b57795 100644 --- a/arch/arm/mach-omap1/common.h +++ b/arch/arm/mach-omap1/common.h | |||
@@ -27,6 +27,7 @@ | |||
27 | #define __ARCH_ARM_MACH_OMAP1_COMMON_H | 27 | #define __ARCH_ARM_MACH_OMAP1_COMMON_H |
28 | 28 | ||
29 | #include <plat/common.h> | 29 | #include <plat/common.h> |
30 | #include <linux/mtd/mtd.h> | ||
30 | 31 | ||
31 | #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) | 32 | #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) |
32 | void omap7xx_map_io(void); | 33 | void omap7xx_map_io(void); |
@@ -56,8 +57,20 @@ void omap1_init_early(void); | |||
56 | void omap1_init_irq(void); | 57 | void omap1_init_irq(void); |
57 | void omap1_restart(char, const char *); | 58 | void omap1_restart(char, const char *); |
58 | 59 | ||
60 | extern void __init omap_check_revision(void); | ||
61 | |||
62 | extern void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd, | ||
63 | unsigned int ctrl); | ||
64 | |||
59 | extern struct sys_timer omap1_timer; | 65 | extern struct sys_timer omap1_timer; |
60 | extern bool omap_32k_timer_init(void); | 66 | extern bool omap_32k_timer_init(void); |
61 | extern void __init omap_init_consistent_dma_size(void); | 67 | |
68 | extern u32 omap_irq_flags; | ||
69 | |||
70 | #ifdef CONFIG_ARCH_OMAP16XX | ||
71 | extern int ocpi_enable(void); | ||
72 | #else | ||
73 | static inline int ocpi_enable(void) { return 0; } | ||
74 | #endif | ||
62 | 75 | ||
63 | #endif /* __ARCH_ARM_MACH_OMAP1_COMMON_H */ | 76 | #endif /* __ARCH_ARM_MACH_OMAP1_COMMON_H */ |
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c index 76c67b3f9f61..29ec50fc688d 100644 --- a/arch/arm/mach-omap1/fpga.c +++ b/arch/arm/mach-omap1/fpga.c | |||
@@ -87,7 +87,7 @@ static void fpga_mask_ack_irq(struct irq_data *d) | |||
87 | fpga_ack_irq(d); | 87 | fpga_ack_irq(d); |
88 | } | 88 | } |
89 | 89 | ||
90 | void innovator_fpga_IRQ_demux(unsigned int irq, struct irq_desc *desc) | 90 | static void innovator_fpga_IRQ_demux(unsigned int irq, struct irq_desc *desc) |
91 | { | 91 | { |
92 | u32 stat; | 92 | u32 stat; |
93 | int fpga_irq; | 93 | int fpga_irq; |
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c index 2b28e1da14b0..a1b846aacdaf 100644 --- a/arch/arm/mach-omap1/id.c +++ b/arch/arm/mach-omap1/id.c | |||
@@ -21,6 +21,8 @@ | |||
21 | 21 | ||
22 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
23 | 23 | ||
24 | #include "common.h" | ||
25 | |||
24 | #define OMAP_DIE_ID_0 0xfffe1800 | 26 | #define OMAP_DIE_ID_0 0xfffe1800 |
25 | #define OMAP_DIE_ID_1 0xfffe1804 | 27 | #define OMAP_DIE_ID_1 0xfffe1804 |
26 | #define OMAP_PRODUCTION_ID_0 0xfffe2000 | 28 | #define OMAP_PRODUCTION_ID_0 0xfffe2000 |
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c index d969a7203d14..71ce017bf5d8 100644 --- a/arch/arm/mach-omap1/io.c +++ b/arch/arm/mach-omap1/io.c | |||
@@ -18,13 +18,12 @@ | |||
18 | 18 | ||
19 | #include <plat/mux.h> | 19 | #include <plat/mux.h> |
20 | #include <plat/tc.h> | 20 | #include <plat/tc.h> |
21 | #include <plat/dma.h> | ||
21 | 22 | ||
22 | #include "iomap.h" | 23 | #include "iomap.h" |
23 | #include "common.h" | 24 | #include "common.h" |
24 | #include "clock.h" | 25 | #include "clock.h" |
25 | 26 | ||
26 | extern void omap_check_revision(void); | ||
27 | |||
28 | /* | 27 | /* |
29 | * The machine specific code may provide the extra mapping besides the | 28 | * The machine specific code may provide the extra mapping besides the |
30 | * default mapping provided here. | 29 | * default mapping provided here. |
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c index 4448114fab72..6995fb6a3345 100644 --- a/arch/arm/mach-omap1/irq.c +++ b/arch/arm/mach-omap1/irq.c | |||
@@ -49,6 +49,8 @@ | |||
49 | 49 | ||
50 | #include <mach/hardware.h> | 50 | #include <mach/hardware.h> |
51 | 51 | ||
52 | #include "common.h" | ||
53 | |||
52 | #define IRQ_BANK(irq) ((irq) >> 5) | 54 | #define IRQ_BANK(irq) ((irq) >> 5) |
53 | #define IRQ_BIT(irq) ((irq) & 0x1f) | 55 | #define IRQ_BIT(irq) ((irq) & 0x1f) |
54 | 56 | ||
diff --git a/arch/arm/mach-omap1/lcd_dma.c b/arch/arm/mach-omap1/lcd_dma.c index 86ace9aaa663..5769c71815b2 100644 --- a/arch/arm/mach-omap1/lcd_dma.c +++ b/arch/arm/mach-omap1/lcd_dma.c | |||
@@ -57,7 +57,7 @@ static struct lcd_dma_info { | |||
57 | void *cb_data; | 57 | void *cb_data; |
58 | 58 | ||
59 | int active; | 59 | int active; |
60 | unsigned long addr, size; | 60 | unsigned long addr; |
61 | int rotate, data_type, xres, yres; | 61 | int rotate, data_type, xres, yres; |
62 | int vxres; | 62 | int vxres; |
63 | int mirror; | 63 | int mirror; |
@@ -77,11 +77,6 @@ void omap_set_lcd_dma_b1(unsigned long addr, u16 fb_xres, u16 fb_yres, | |||
77 | } | 77 | } |
78 | EXPORT_SYMBOL(omap_set_lcd_dma_b1); | 78 | EXPORT_SYMBOL(omap_set_lcd_dma_b1); |
79 | 79 | ||
80 | void omap_set_lcd_dma_src_port(int port) | ||
81 | { | ||
82 | lcd_dma.src_port = port; | ||
83 | } | ||
84 | |||
85 | void omap_set_lcd_dma_ext_controller(int external) | 80 | void omap_set_lcd_dma_ext_controller(int external) |
86 | { | 81 | { |
87 | lcd_dma.ext_ctrl = external; | 82 | lcd_dma.ext_ctrl = external; |
diff --git a/arch/arm/mach-omap1/ocpi.c b/arch/arm/mach-omap1/ocpi.c new file mode 100644 index 000000000000..238170cab5b7 --- /dev/null +++ b/arch/arm/mach-omap1/ocpi.c | |||
@@ -0,0 +1,112 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-omap/ocpi.c | ||
3 | * | ||
4 | * Minimal OCP bus support for omap16xx | ||
5 | * | ||
6 | * Copyright (C) 2003 - 2005 Nokia Corporation | ||
7 | * Copyright (C) 2012 Texas Instruments, Inc. | ||
8 | * Written by Tony Lindgren <tony@atomide.com> | ||
9 | * | ||
10 | * Modified for clock framework by Paul Mundt <paul.mundt@nokia.com>. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License as published by | ||
14 | * the Free Software Foundation; either version 2 of the License, or | ||
15 | * (at your option) any later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, | ||
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
20 | * GNU General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License | ||
23 | * along with this program; if not, write to the Free Software | ||
24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
25 | */ | ||
26 | |||
27 | #include <linux/module.h> | ||
28 | #include <linux/types.h> | ||
29 | #include <linux/errno.h> | ||
30 | #include <linux/kernel.h> | ||
31 | #include <linux/init.h> | ||
32 | #include <linux/spinlock.h> | ||
33 | #include <linux/err.h> | ||
34 | #include <linux/clk.h> | ||
35 | #include <linux/io.h> | ||
36 | |||
37 | #include <mach/hardware.h> | ||
38 | |||
39 | #include "common.h" | ||
40 | |||
41 | #define OCPI_BASE 0xfffec320 | ||
42 | #define OCPI_FAULT (OCPI_BASE + 0x00) | ||
43 | #define OCPI_CMD_FAULT (OCPI_BASE + 0x04) | ||
44 | #define OCPI_SINT0 (OCPI_BASE + 0x08) | ||
45 | #define OCPI_TABORT (OCPI_BASE + 0x0c) | ||
46 | #define OCPI_SINT1 (OCPI_BASE + 0x10) | ||
47 | #define OCPI_PROT (OCPI_BASE + 0x14) | ||
48 | #define OCPI_SEC (OCPI_BASE + 0x18) | ||
49 | |||
50 | /* USB OHCI OCPI access error registers */ | ||
51 | #define HOSTUEADDR 0xfffba0e0 | ||
52 | #define HOSTUESTATUS 0xfffba0e4 | ||
53 | |||
54 | static struct clk *ocpi_ck; | ||
55 | |||
56 | /* | ||
57 | * Enables device access to OMAP buses via the OCPI bridge | ||
58 | * FIXME: Add locking | ||
59 | */ | ||
60 | int ocpi_enable(void) | ||
61 | { | ||
62 | unsigned int val; | ||
63 | |||
64 | if (!cpu_is_omap16xx()) | ||
65 | return -ENODEV; | ||
66 | |||
67 | /* Enable access for OHCI in OCPI */ | ||
68 | val = omap_readl(OCPI_PROT); | ||
69 | val &= ~0xff; | ||
70 | /* val &= (1 << 0); Allow access only to EMIFS */ | ||
71 | omap_writel(val, OCPI_PROT); | ||
72 | |||
73 | val = omap_readl(OCPI_SEC); | ||
74 | val &= ~0xff; | ||
75 | omap_writel(val, OCPI_SEC); | ||
76 | |||
77 | return 0; | ||
78 | } | ||
79 | EXPORT_SYMBOL(ocpi_enable); | ||
80 | |||
81 | static int __init omap_ocpi_init(void) | ||
82 | { | ||
83 | if (!cpu_is_omap16xx()) | ||
84 | return -ENODEV; | ||
85 | |||
86 | ocpi_ck = clk_get(NULL, "l3_ocpi_ck"); | ||
87 | if (IS_ERR(ocpi_ck)) | ||
88 | return PTR_ERR(ocpi_ck); | ||
89 | |||
90 | clk_enable(ocpi_ck); | ||
91 | ocpi_enable(); | ||
92 | pr_info("OMAP OCPI interconnect driver loaded\n"); | ||
93 | |||
94 | return 0; | ||
95 | } | ||
96 | |||
97 | static void __exit omap_ocpi_exit(void) | ||
98 | { | ||
99 | /* REVISIT: Disable OCPI */ | ||
100 | |||
101 | if (!cpu_is_omap16xx()) | ||
102 | return; | ||
103 | |||
104 | clk_disable(ocpi_ck); | ||
105 | clk_put(ocpi_ck); | ||
106 | } | ||
107 | |||
108 | MODULE_AUTHOR("Tony Lindgren <tony@atomide.com>"); | ||
109 | MODULE_DESCRIPTION("OMAP OCPI bus controller module"); | ||
110 | MODULE_LICENSE("GPL"); | ||
111 | module_init(omap_ocpi_init); | ||
112 | module_exit(omap_ocpi_exit); | ||
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index f66c32912b22..b2560d32b3a0 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c | |||
@@ -569,11 +569,10 @@ static int omap_pm_read_proc( | |||
569 | 569 | ||
570 | static void omap_pm_init_proc(void) | 570 | static void omap_pm_init_proc(void) |
571 | { | 571 | { |
572 | struct proc_dir_entry *entry; | 572 | /* XXX Appears to leak memory */ |
573 | 573 | create_proc_read_entry("driver/omap_pm", | |
574 | entry = create_proc_read_entry("driver/omap_pm", | 574 | S_IWUSR | S_IRUGO, NULL, |
575 | S_IWUSR | S_IRUGO, NULL, | 575 | omap_pm_read_proc, NULL); |
576 | omap_pm_read_proc, NULL); | ||
577 | } | 576 | } |
578 | 577 | ||
579 | #endif /* DEBUG && CONFIG_PROC_FS */ | 578 | #endif /* DEBUG && CONFIG_PROC_FS */ |
diff --git a/arch/arm/mach-omap1/reset.c b/arch/arm/mach-omap1/reset.c index f255b153b863..b17709103866 100644 --- a/arch/arm/mach-omap1/reset.c +++ b/arch/arm/mach-omap1/reset.c | |||
@@ -8,6 +8,8 @@ | |||
8 | 8 | ||
9 | #include <mach/hardware.h> | 9 | #include <mach/hardware.h> |
10 | 10 | ||
11 | #include "common.h" | ||
12 | |||
11 | void omap1_restart(char mode, const char *cmd) | 13 | void omap1_restart(char mode, const char *cmd) |
12 | { | 14 | { |
13 | /* | 15 | /* |
diff --git a/arch/arm/mach-omap1/timer.c b/arch/arm/mach-omap1/timer.c index fb202af01d0d..64c65bcb2d67 100644 --- a/arch/arm/mach-omap1/timer.c +++ b/arch/arm/mach-omap1/timer.c | |||
@@ -54,8 +54,7 @@ static int omap1_dm_timer_set_src(struct platform_device *pdev, | |||
54 | return 0; | 54 | return 0; |
55 | } | 55 | } |
56 | 56 | ||
57 | 57 | static int __init omap1_dm_timer_init(void) | |
58 | int __init omap1_dm_timer_init(void) | ||
59 | { | 58 | { |
60 | int i; | 59 | int i; |
61 | int ret; | 60 | int ret; |
diff --git a/arch/arm/mach-omap1/usb.c b/arch/arm/mach-omap1/usb.c index 19de03b074e3..e61afd922766 100644 --- a/arch/arm/mach-omap1/usb.c +++ b/arch/arm/mach-omap1/usb.c | |||
@@ -29,6 +29,8 @@ | |||
29 | #include <plat/mux.h> | 29 | #include <plat/mux.h> |
30 | #include <plat/usb.h> | 30 | #include <plat/usb.h> |
31 | 31 | ||
32 | #include "common.h" | ||
33 | |||
32 | /* These routines should handle the standard chip-specific modes | 34 | /* These routines should handle the standard chip-specific modes |
33 | * for usb0/1/2 ports, covering basic mux and transceiver setup. | 35 | * for usb0/1/2 ports, covering basic mux and transceiver setup. |
34 | * | 36 | * |
@@ -138,6 +140,7 @@ static inline void ohci_device_init(struct omap_usb_config *pdata) | |||
138 | if (cpu_is_omap7xx()) | 140 | if (cpu_is_omap7xx()) |
139 | ohci_resources[1].start = INT_7XX_USB_HHC_1; | 141 | ohci_resources[1].start = INT_7XX_USB_HHC_1; |
140 | pdata->ohci_device = &ohci_device; | 142 | pdata->ohci_device = &ohci_device; |
143 | pdata->ocpi_enable = &ocpi_enable; | ||
141 | } | 144 | } |
142 | 145 | ||
143 | #else | 146 | #else |