diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-09 14:43:18 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-09 14:43:18 -0400 |
| commit | 8ea3f0afb23bc49a996f262ea04708b38de82bca (patch) | |
| tree | 27f7708b3f165cab0fec7ac335fba146054d9f4a | |
| parent | e92ba6d2ec8f83a26deb68dd3c2a195657dfdebe (diff) | |
| parent | 7cf4b482f06df0b590a9bc1561a5a81d67e0fe4c (diff) | |
Merge branch 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
* 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: SAMSUNG: Add a workaround for get_clock() for serial driver
ARM: S5P: Bug fix on errors of build with CONFIG_PREEMPT_NONE
ARM: SAMSUNG: Fix build warnings because of unused codes
| -rw-r--r-- | arch/arm/mach-s5p6440/cpu.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s5p6442/cpu.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s5pc100/cpu.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv210/clock.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv210/cpu.c | 1 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/adc.c | 1 | ||||
| -rw-r--r-- | arch/arm/plat-samsung/clock.c | 27 |
7 files changed, 30 insertions, 7 deletions
diff --git a/arch/arm/mach-s5p6440/cpu.c b/arch/arm/mach-s5p6440/cpu.c index 526f33adb31d..ec592e866054 100644 --- a/arch/arm/mach-s5p6440/cpu.c +++ b/arch/arm/mach-s5p6440/cpu.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/sysdev.h> | 19 | #include <linux/sysdev.h> |
| 20 | #include <linux/serial_core.h> | 20 | #include <linux/serial_core.h> |
| 21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
| 22 | #include <linux/sched.h> | ||
| 22 | 23 | ||
| 23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
| 24 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
diff --git a/arch/arm/mach-s5p6442/cpu.c b/arch/arm/mach-s5p6442/cpu.c index a48fb553fd01..70ac681af72b 100644 --- a/arch/arm/mach-s5p6442/cpu.c +++ b/arch/arm/mach-s5p6442/cpu.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/sysdev.h> | 19 | #include <linux/sysdev.h> |
| 20 | #include <linux/serial_core.h> | 20 | #include <linux/serial_core.h> |
| 21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
| 22 | #include <linux/sched.h> | ||
| 22 | 23 | ||
| 23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
| 24 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
diff --git a/arch/arm/mach-s5pc100/cpu.c b/arch/arm/mach-s5pc100/cpu.c index 251c92ac5b22..cd1afbce83e2 100644 --- a/arch/arm/mach-s5pc100/cpu.c +++ b/arch/arm/mach-s5pc100/cpu.c | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | #include <linux/sysdev.h> | 21 | #include <linux/sysdev.h> |
| 22 | #include <linux/serial_core.h> | 22 | #include <linux/serial_core.h> |
| 23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
| 24 | #include <linux/sched.h> | ||
| 24 | 25 | ||
| 25 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
| 26 | #include <asm/mach/map.h> | 27 | #include <asm/mach/map.h> |
diff --git a/arch/arm/mach-s5pv210/clock.c b/arch/arm/mach-s5pv210/clock.c index cfecd70657cb..d562670e1b0b 100644 --- a/arch/arm/mach-s5pv210/clock.c +++ b/arch/arm/mach-s5pv210/clock.c | |||
| @@ -173,11 +173,6 @@ static int s5pv210_clk_ip3_ctrl(struct clk *clk, int enable) | |||
| 173 | return s5p_gatectrl(S5P_CLKGATE_IP3, clk, enable); | 173 | return s5p_gatectrl(S5P_CLKGATE_IP3, clk, enable); |
| 174 | } | 174 | } |
| 175 | 175 | ||
| 176 | static int s5pv210_clk_ip4_ctrl(struct clk *clk, int enable) | ||
| 177 | { | ||
| 178 | return s5p_gatectrl(S5P_CLKGATE_IP4, clk, enable); | ||
| 179 | } | ||
| 180 | |||
| 181 | static int s5pv210_clk_mask0_ctrl(struct clk *clk, int enable) | 176 | static int s5pv210_clk_mask0_ctrl(struct clk *clk, int enable) |
| 182 | { | 177 | { |
| 183 | return s5p_gatectrl(S5P_CLK_SRC_MASK0, clk, enable); | 178 | return s5p_gatectrl(S5P_CLK_SRC_MASK0, clk, enable); |
diff --git a/arch/arm/mach-s5pv210/cpu.c b/arch/arm/mach-s5pv210/cpu.c index 77f456c91ad3..245b82b53df4 100644 --- a/arch/arm/mach-s5pv210/cpu.c +++ b/arch/arm/mach-s5pv210/cpu.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <linux/io.h> | 19 | #include <linux/io.h> |
| 20 | #include <linux/sysdev.h> | 20 | #include <linux/sysdev.h> |
| 21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
| 22 | #include <linux/sched.h> | ||
| 22 | 23 | ||
| 23 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
| 24 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
diff --git a/arch/arm/plat-samsung/adc.c b/arch/arm/plat-samsung/adc.c index 04d9521ddc9f..e8f2be2d67f2 100644 --- a/arch/arm/plat-samsung/adc.c +++ b/arch/arm/plat-samsung/adc.c | |||
| @@ -435,7 +435,6 @@ static int s3c_adc_suspend(struct platform_device *pdev, pm_message_t state) | |||
| 435 | static int s3c_adc_resume(struct platform_device *pdev) | 435 | static int s3c_adc_resume(struct platform_device *pdev) |
| 436 | { | 436 | { |
| 437 | struct adc_device *adc = platform_get_drvdata(pdev); | 437 | struct adc_device *adc = platform_get_drvdata(pdev); |
| 438 | unsigned long flags; | ||
| 439 | 438 | ||
| 440 | clk_enable(adc->clk); | 439 | clk_enable(adc->clk); |
| 441 | enable_irq(adc->irq); | 440 | enable_irq(adc->irq); |
diff --git a/arch/arm/plat-samsung/clock.c b/arch/arm/plat-samsung/clock.c index 90a20512d68d..e8d20b0bc50e 100644 --- a/arch/arm/plat-samsung/clock.c +++ b/arch/arm/plat-samsung/clock.c | |||
| @@ -48,6 +48,9 @@ | |||
| 48 | #include <plat/clock.h> | 48 | #include <plat/clock.h> |
| 49 | #include <plat/cpu.h> | 49 | #include <plat/cpu.h> |
| 50 | 50 | ||
| 51 | #include <linux/serial_core.h> | ||
| 52 | #include <plat/regs-serial.h> /* for s3c24xx_uart_devs */ | ||
| 53 | |||
| 51 | /* clock information */ | 54 | /* clock information */ |
| 52 | 55 | ||
| 53 | static LIST_HEAD(clocks); | 56 | static LIST_HEAD(clocks); |
| @@ -65,6 +68,28 @@ static int clk_null_enable(struct clk *clk, int enable) | |||
| 65 | return 0; | 68 | return 0; |
| 66 | } | 69 | } |
| 67 | 70 | ||
| 71 | static int dev_is_s3c_uart(struct device *dev) | ||
| 72 | { | ||
| 73 | struct platform_device **pdev = s3c24xx_uart_devs; | ||
| 74 | int i; | ||
| 75 | for (i = 0; i < ARRAY_SIZE(s3c24xx_uart_devs); i++, pdev++) | ||
| 76 | if (*pdev && dev == &(*pdev)->dev) | ||
| 77 | return 1; | ||
| 78 | return 0; | ||
| 79 | } | ||
| 80 | |||
| 81 | /* | ||
| 82 | * Serial drivers call get_clock() very early, before platform bus | ||
| 83 | * has been set up, this requires a special check to let them get | ||
| 84 | * a proper clock | ||
| 85 | */ | ||
| 86 | |||
| 87 | static int dev_is_platform_device(struct device *dev) | ||
| 88 | { | ||
| 89 | return dev->bus == &platform_bus_type || | ||
| 90 | (dev->bus == NULL && dev_is_s3c_uart(dev)); | ||
| 91 | } | ||
| 92 | |||
| 68 | /* Clock API calls */ | 93 | /* Clock API calls */ |
| 69 | 94 | ||
| 70 | struct clk *clk_get(struct device *dev, const char *id) | 95 | struct clk *clk_get(struct device *dev, const char *id) |
| @@ -73,7 +98,7 @@ struct clk *clk_get(struct device *dev, const char *id) | |||
| 73 | struct clk *clk = ERR_PTR(-ENOENT); | 98 | struct clk *clk = ERR_PTR(-ENOENT); |
| 74 | int idno; | 99 | int idno; |
| 75 | 100 | ||
| 76 | if (dev == NULL || dev->bus != &platform_bus_type) | 101 | if (dev == NULL || !dev_is_platform_device(dev)) |
| 77 | idno = -1; | 102 | idno = -1; |
| 78 | else | 103 | else |
| 79 | idno = to_platform_device(dev)->id; | 104 | idno = to_platform_device(dev)->id; |
