Commit acb11bcd authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 's5p-fixes-for-linus' of...

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: S3C2410: remove the now empty mach-s3c2410/irq.c
  ARM: S3C24XX: Move s3c24xx_irq_syscore_ops to plat-s3c24xx/irq.c
  ARM: S3C24xx: Fix missing struct for s3c2410_dma_chan
  ARM: SAMSUNG: Remove unused onenand plat functions
  ARM: EXYNOS4: Remove compiler warning on exynos4_pwm4_resume
  ARM: S5P: Fix compilation error for exynos4_defconfig
  ARM: S5P: Should be S3C_VA_USB_HSPHY instead of S5P_VA_XX
  ARM: S5P64X0: Fix SPI platform device name
  ARM: S5PV210: Fix possible null pointer dereference
parents 33a53883 2aec0d69
...@@ -91,6 +91,11 @@ config EXYNOS4_SETUP_FIMC ...@@ -91,6 +91,11 @@ config EXYNOS4_SETUP_FIMC
help help
Common setup code for the camera interfaces. Common setup code for the camera interfaces.
config EXYNOS4_SETUP_USB_PHY
bool
help
Common setup code for USB PHY controller
# machine support # machine support
menu "EXYNOS4 Machines" menu "EXYNOS4 Machines"
...@@ -176,6 +181,7 @@ config MACH_NURI ...@@ -176,6 +181,7 @@ config MACH_NURI
select EXYNOS4_SETUP_I2C3 select EXYNOS4_SETUP_I2C3
select EXYNOS4_SETUP_I2C5 select EXYNOS4_SETUP_I2C5
select EXYNOS4_SETUP_SDHCI select EXYNOS4_SETUP_SDHCI
select EXYNOS4_SETUP_USB_PHY
select SAMSUNG_DEV_PWM select SAMSUNG_DEV_PWM
help help
Machine support for Samsung Mobile NURI Board. Machine support for Samsung Mobile NURI Board.
......
...@@ -56,4 +56,4 @@ obj-$(CONFIG_EXYNOS4_SETUP_KEYPAD) += setup-keypad.o ...@@ -56,4 +56,4 @@ obj-$(CONFIG_EXYNOS4_SETUP_KEYPAD) += setup-keypad.o
obj-$(CONFIG_EXYNOS4_SETUP_SDHCI) += setup-sdhci.o obj-$(CONFIG_EXYNOS4_SETUP_SDHCI) += setup-sdhci.o
obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o obj-$(CONFIG_EXYNOS4_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
obj-$(CONFIG_USB_SUPPORT) += usb-phy.o obj-$(CONFIG_EXYNOS4_SETUP_USB_PHY) += setup-usb-phy.o
...@@ -98,7 +98,7 @@ static struct map_desc exynos4_iodesc[] __initdata = { ...@@ -98,7 +98,7 @@ static struct map_desc exynos4_iodesc[] __initdata = {
.length = SZ_4K, .length = SZ_4K,
.type = MT_DEVICE, .type = MT_DEVICE,
}, { }, {
.virtual = (unsigned long)S5P_VA_USB_HSPHY, .virtual = (unsigned long)S3C_VA_USB_HSPHY,
.pfn = __phys_to_pfn(EXYNOS4_PA_HSPHY), .pfn = __phys_to_pfn(EXYNOS4_PA_HSPHY),
.length = SZ_4K, .length = SZ_4K,
.type = MT_DEVICE, .type = MT_DEVICE,
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#ifndef __PLAT_S5P_REGS_USB_PHY_H #ifndef __PLAT_S5P_REGS_USB_PHY_H
#define __PLAT_S5P_REGS_USB_PHY_H #define __PLAT_S5P_REGS_USB_PHY_H
#define EXYNOS4_HSOTG_PHYREG(x) ((x) + S5P_VA_USB_HSPHY) #define EXYNOS4_HSOTG_PHYREG(x) ((x) + S3C_VA_USB_HSPHY)
#define EXYNOS4_PHYPWR EXYNOS4_HSOTG_PHYREG(0x00) #define EXYNOS4_PHYPWR EXYNOS4_HSOTG_PHYREG(0x00)
#define PHY1_HSIC_NORMAL_MASK (0xf << 9) #define PHY1_HSIC_NORMAL_MASK (0xf << 9)
......
...@@ -206,6 +206,7 @@ static cycle_t exynos4_pwm4_read(struct clocksource *cs) ...@@ -206,6 +206,7 @@ static cycle_t exynos4_pwm4_read(struct clocksource *cs)
return (cycle_t) ~__raw_readl(S3C_TIMERREG(0x40)); return (cycle_t) ~__raw_readl(S3C_TIMERREG(0x40));
} }
#ifdef CONFIG_PM
static void exynos4_pwm4_resume(struct clocksource *cs) static void exynos4_pwm4_resume(struct clocksource *cs)
{ {
unsigned long pclk; unsigned long pclk;
...@@ -218,6 +219,7 @@ static void exynos4_pwm4_resume(struct clocksource *cs) ...@@ -218,6 +219,7 @@ static void exynos4_pwm4_resume(struct clocksource *cs)
exynos4_pwm_init(4, ~0); exynos4_pwm_init(4, ~0);
exynos4_pwm_start(4, 1); exynos4_pwm_start(4, 1);
} }
#endif
struct clocksource pwm_clocksource = { struct clocksource pwm_clocksource = {
.name = "pwm_timer4", .name = "pwm_timer4",
......
...@@ -10,7 +10,6 @@ obj-n := ...@@ -10,7 +10,6 @@ obj-n :=
obj- := obj- :=
obj-$(CONFIG_CPU_S3C2410) += s3c2410.o obj-$(CONFIG_CPU_S3C2410) += s3c2410.o
obj-$(CONFIG_CPU_S3C2410) += irq.o
obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o
obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o
obj-$(CONFIG_S3C2410_PM) += pm.o sleep.o obj-$(CONFIG_S3C2410_PM) += pm.o sleep.o
......
/* linux/arch/arm/mach-s3c2410/irq.c
*
* Copyright (c) 2006 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/syscore_ops.h>
#include <plat/cpu.h>
#include <plat/pm.h>
struct syscore_ops s3c24xx_irq_syscore_ops = {
.suspend = s3c24xx_irq_suspend,
.resume = s3c24xx_irq_resume,
};
...@@ -101,12 +101,14 @@ static void s5pv210_set_refresh(enum s5pv210_dmc_port ch, unsigned long freq) ...@@ -101,12 +101,14 @@ static void s5pv210_set_refresh(enum s5pv210_dmc_port ch, unsigned long freq)
unsigned long tmp, tmp1; unsigned long tmp, tmp1;
void __iomem *reg = NULL; void __iomem *reg = NULL;
if (ch == DMC0) if (ch == DMC0) {
reg = (S5P_VA_DMC0 + 0x30); reg = (S5P_VA_DMC0 + 0x30);
else if (ch == DMC1) } else if (ch == DMC1) {
reg = (S5P_VA_DMC1 + 0x30); reg = (S5P_VA_DMC1 + 0x30);
else } else {
printk(KERN_ERR "Cannot find DMC port\n"); printk(KERN_ERR "Cannot find DMC port\n");
return;
}
/* Find current DRAM frequency */ /* Find current DRAM frequency */
tmp = s5pv210_dram_conf[ch].freq; tmp = s5pv210_dram_conf[ch].freq;
......
...@@ -1199,7 +1199,7 @@ EXPORT_SYMBOL(s3c2410_dma_getposition); ...@@ -1199,7 +1199,7 @@ EXPORT_SYMBOL(s3c2410_dma_getposition);
#ifdef CONFIG_PM #ifdef CONFIG_PM
static void s3c2410_dma_suspend_chan(s3c2410_dma_chan *cp) static void s3c2410_dma_suspend_chan(struct s3c2410_dma_chan *cp)
{ {
printk(KERN_DEBUG "suspending dma channel %d\n", cp->number); printk(KERN_DEBUG "suspending dma channel %d\n", cp->number);
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/sysdev.h> #include <linux/sysdev.h>
#include <linux/syscore_ops.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/mach/irq.h> #include <asm/mach/irq.h>
...@@ -668,3 +669,8 @@ void __init s3c24xx_init_irq(void) ...@@ -668,3 +669,8 @@ void __init s3c24xx_init_irq(void)
irqdbf("s3c2410: registered interrupt handlers\n"); irqdbf("s3c2410: registered interrupt handlers\n");
} }
struct syscore_ops s3c24xx_irq_syscore_ops = {
.suspend = s3c24xx_irq_suspend,
.resume = s3c24xx_irq_resume,
};
...@@ -15,8 +15,6 @@ ...@@ -15,8 +15,6 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/onenand.h>
#include <mach/irqs.h> #include <mach/irqs.h>
#include <mach/map.h> #include <mach/map.h>
...@@ -45,13 +43,3 @@ struct platform_device s5p_device_onenand = { ...@@ -45,13 +43,3 @@ struct platform_device s5p_device_onenand = {
.num_resources = ARRAY_SIZE(s5p_onenand_resources), .num_resources = ARRAY_SIZE(s5p_onenand_resources),
.resource = s5p_onenand_resources, .resource = s5p_onenand_resources,
}; };
void s5p_onenand_set_platdata(struct onenand_platform_data *pdata)
{
struct onenand_platform_data *pd;
pd = kmemdup(pdata, sizeof(struct onenand_platform_data), GFP_KERNEL);
if (!pd)
printk(KERN_ERR "%s: no memory for platform data\n", __func__);
s5p_device_onenand.dev.platform_data = pd;
}
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#define S5P_VA_TWD S5P_VA_COREPERI(0x600) #define S5P_VA_TWD S5P_VA_COREPERI(0x600)
#define S5P_VA_GIC_DIST S5P_VA_COREPERI(0x1000) #define S5P_VA_GIC_DIST S5P_VA_COREPERI(0x1000)
#define S5P_VA_USB_HSPHY S3C_ADDR(0x02900000) #define S3C_VA_USB_HSPHY S3C_ADDR(0x02900000)
#define VA_VIC(x) (S3C_VA_IRQ + ((x) * 0x10000)) #define VA_VIC(x) (S3C_VA_IRQ + ((x) * 0x10000))
#define VA_VIC0 VA_VIC(0) #define VA_VIC0 VA_VIC(0)
......
...@@ -13,8 +13,6 @@ ...@@ -13,8 +13,6 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/onenand.h>
#include <mach/irqs.h> #include <mach/irqs.h>
#include <mach/map.h> #include <mach/map.h>
...@@ -43,13 +41,3 @@ struct platform_device s3c_device_onenand = { ...@@ -43,13 +41,3 @@ struct platform_device s3c_device_onenand = {
.num_resources = ARRAY_SIZE(s3c_onenand_resources), .num_resources = ARRAY_SIZE(s3c_onenand_resources),
.resource = s3c_onenand_resources, .resource = s3c_onenand_resources,
}; };
void s3c_onenand_set_platdata(struct onenand_platform_data *pdata)
{
struct onenand_platform_data *pd;
pd = kmemdup(pdata, sizeof(struct onenand_platform_data), GFP_KERNEL);
if (!pd)
printk(KERN_ERR "%s: no memory for platform data\n", __func__);
s3c_device_onenand.dev.platform_data = pd;
}
...@@ -75,10 +75,8 @@ extern struct platform_device s5pc100_device_spi1; ...@@ -75,10 +75,8 @@ extern struct platform_device s5pc100_device_spi1;
extern struct platform_device s5pc100_device_spi2; extern struct platform_device s5pc100_device_spi2;
extern struct platform_device s5pv210_device_spi0; extern struct platform_device s5pv210_device_spi0;
extern struct platform_device s5pv210_device_spi1; extern struct platform_device s5pv210_device_spi1;
extern struct platform_device s5p6440_device_spi0; extern struct platform_device s5p64x0_device_spi0;
extern struct platform_device s5p6440_device_spi1; extern struct platform_device s5p64x0_device_spi1;
extern struct platform_device s5p6450_device_spi0;
extern struct platform_device s5p6450_device_spi1;
extern struct platform_device s3c_device_hwmon; extern struct platform_device s3c_device_hwmon;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment