summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6f4ddaf)
31 files changed:
FEATURES:=squashfs jffs2 pci
CFLAGS:=-Os -pipe -funit-at-a-time
FEATURES:=squashfs jffs2 pci
CFLAGS:=-Os -pipe -funit-at-a-time
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
include $(INCLUDE_DIR)/target.mk
include $(INCLUDE_DIR)/target.mk
BOARDNAME:=Cobalt Microservers
FEATURES:=tgz pci
BOARDNAME:=Cobalt Microservers
FEATURES:=tgz pci
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
include $(INCLUDE_DIR)/target.mk
include $(INCLUDE_DIR)/target.mk
BOARD:=etrax
BOARDNAME:=Foxboard (ETRAX 100LX)
FEATURES:=squashfs jffs2
BOARD:=etrax
BOARDNAME:=Foxboard (ETRAX 100LX)
FEATURES:=squashfs jffs2
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
DEVICE_TYPE=
include $(INCLUDE_DIR)/target.mk
DEVICE_TYPE=
include $(INCLUDE_DIR)/target.mk
FEATURES:=jffs2 broken
CFLAGS:=-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time
FEATURES:=jffs2 broken
CFLAGS:=-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
include $(INCLUDE_DIR)/target.mk
include $(INCLUDE_DIR)/target.mk
static inline int dma_is_consistent(struct device *dev, dma_addr_t handle)
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
static inline int dma_is_consistent(struct device *dev, dma_addr_t handle)
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -824,7 +824,7 @@ config ISA_DMA_API
+@@ -825,7 +825,7 @@ config ISA_DMA_API
+be done automatically.
--- a/MAINTAINERS
+++ b/MAINTAINERS
+be done automatically.
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -2487,6 +2487,11 @@ T: git git://git.kernel.org/pub/scm/linu
+@@ -2495,6 +2495,11 @@ T: git git://git.kernel.org/pub/scm/linu
S: Maintained
F: drivers/media/video/gspca/
S: Maintained
F: drivers/media/video/gspca/
BOARDNAME:=Marvell Kirkwood
FEATURES:=jffs2 usb broken
BOARDNAME:=Marvell Kirkwood
FEATURES:=jffs2 usb broken
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
include $(INCLUDE_DIR)/target.mk
include $(INCLUDE_DIR)/target.mk
FEATURES:=jffs2
CFLAGS:=-O2 -pipe -march=armv4t -mtune=arm920t -funit-at-a-time
FEATURES:=jffs2
CFLAGS:=-O2 -pipe -march=armv4t -mtune=arm920t -funit-at-a-time
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/mci.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/mci.h 2009-05-18 19:07:48.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-s3c2410/include/mach/mci.h
@@ -0,0 +1,13 @@
+#ifndef _ARCH_MCI_H
+#define _ARCH_MCI_H
@@ -0,0 +1,13 @@
+#ifndef _ARCH_MCI_H
+#define _ARCH_MCI_H
+};
+
+#endif /* _ARCH_NCI_H */
+};
+
+#endif /* _ARCH_NCI_H */
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/regs-sdi.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2410/include/mach/regs-sdi.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/regs-sdi.h 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/mach-s3c2410/include/mach/regs-sdi.h
++++ b/arch/arm/mach-s3c2410/include/mach/regs-sdi.h
@@ -30,6 +30,7 @@
#define S3C2410_SDIFSTA (0x38)
@@ -30,6 +30,7 @@
#define S3C2410_SDIFSTA (0x38)
#define S3C2410_SDICON_BYTEORDER (1<<4)
#define S3C2410_SDICON_SDIOIRQ (1<<3)
#define S3C2410_SDICON_RWAITEN (1<<2)
#define S3C2410_SDICON_BYTEORDER (1<<4)
#define S3C2410_SDICON_SDIOIRQ (1<<3)
#define S3C2410_SDICON_RWAITEN (1<<2)
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2440/s3c2440.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2440/s3c2440.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2440/s3c2440.c 2009-05-18 19:07:48.000000000 +0200
-@@ -46,6 +46,9 @@
+--- a/arch/arm/mach-s3c2440/s3c2440.c
++++ b/arch/arm/mach-s3c2440/s3c2440.c
+@@ -46,6 +46,9 @@ int __init s3c2440_init(void)
s3c_device_wdt.resource[1].start = IRQ_S3C2440_WDT;
s3c_device_wdt.resource[1].end = IRQ_S3C2440_WDT;
s3c_device_wdt.resource[1].start = IRQ_S3C2440_WDT;
s3c_device_wdt.resource[1].end = IRQ_S3C2440_WDT;
/* register our system device for everything else */
return sysdev_register(&s3c2440_sysdev);
/* register our system device for everything else */
return sysdev_register(&s3c2440_sysdev);
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2442/s3c2442.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2442/s3c2442.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2442/s3c2442.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/mach-s3c2442/s3c2442.c
++++ b/arch/arm/mach-s3c2442/s3c2442.c
@@ -21,6 +21,7 @@
#include <plat/s3c2442.h>
@@ -21,6 +21,7 @@
#include <plat/s3c2442.h>
static struct sys_device s3c2442_sysdev = {
.cls = &s3c2442_sysclass,
static struct sys_device s3c2442_sysdev = {
.cls = &s3c2442_sysclass,
+@@ -30,5 +31,8 @@ int __init s3c2442_init(void)
{
printk("S3C2442: Initialising architecture\n");
{
printk("S3C2442: Initialising architecture\n");
+
return sysdev_register(&s3c2442_sysdev);
}
+
return sysdev_register(&s3c2442_sysdev);
}
-Index: linux-2.6.30-rc6/arch/arm/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/Makefile 2009-05-18 19:07:48.000000000 +0200
-@@ -55,7 +55,8 @@
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
+@@ -55,7 +55,8 @@ ifeq ($(CONFIG_CPU_32v6),y)
arch-$(CONFIG_CPU_32v6K) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k)
endif
arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t)
arch-$(CONFIG_CPU_32v6K) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6k,-march=armv5t -Wa$(comma)-march=armv6k)
endif
arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4t)
arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4
arch-$(CONFIG_CPU_32v3) :=-D__LINUX_ARM_ARCH__=3 -march=armv3
arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4
arch-$(CONFIG_CPU_32v3) :=-D__LINUX_ARM_ARCH__=3 -march=armv3
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/mach/cpu.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/mach/cpu.h 2009-05-18 19:07:48.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/include/mach/cpu.h
@@ -0,0 +1,165 @@
+/*
+ * arch/arm/plat-s3c/include/mach/cpu.h
@@ -0,0 +1,165 @@
+/*
+ * arch/arm/plat-s3c/include/mach/cpu.h
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/devs.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/devs.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/devs.h 2009-05-18 19:07:48.000000000 +0200
-@@ -16,6 +16,10 @@
+--- a/arch/arm/plat-s3c/include/plat/devs.h
++++ b/arch/arm/plat-s3c/include/plat/devs.h
+@@ -16,6 +16,10 @@ struct s3c24xx_uart_resources {
unsigned long nr_resources;
};
unsigned long nr_resources;
};
extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/gpio-core.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/gpio-core.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/gpio-core.h 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c/include/plat/gpio-core.h
++++ b/arch/arm/plat-s3c/include/plat/gpio-core.h
@@ -20,6 +20,19 @@
* specific code.
*/
@@ -20,6 +20,19 @@
* specific code.
*/
+@@ -27,6 +40,7 @@ struct s3c_gpio_cfg;
* @chip: The chip structure to be exported via gpiolib.
* @base: The base pointer to the gpio configuration registers.
* @config: special function and pull-resistor control information.
* @chip: The chip structure to be exported via gpiolib.
* @base: The base pointer to the gpio configuration registers.
* @config: special function and pull-resistor control information.
*
* This wrapper provides the necessary information for the Samsung
* specific gpios being registered with gpiolib.
*
* This wrapper provides the necessary information for the Samsung
* specific gpios being registered with gpiolib.
+@@ -34,7 +48,11 @@ struct s3c_gpio_cfg;
struct s3c_gpio_chip {
struct gpio_chip chip;
struct s3c_gpio_cfg *config;
struct s3c_gpio_chip {
struct gpio_chip chip;
struct s3c_gpio_cfg *config;
};
static inline struct s3c_gpio_chip *to_s3c_gpio(struct gpio_chip *gpc)
};
static inline struct s3c_gpio_chip *to_s3c_gpio(struct gpio_chip *gpc)
+@@ -75,3 +93,16 @@ static inline struct s3c_gpio_chip *s3c_
static inline void s3c_gpiolib_track(struct s3c_gpio_chip *chip) { }
#endif
static inline void s3c_gpiolib_track(struct s3c_gpio_chip *chip) { }
#endif
+#define __gpio_pm(x) NULL
+
+#endif /* CONFIG_PM */
+#define __gpio_pm(x) NULL
+
+#endif /* CONFIG_PM */
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/map-base.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/map-base.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/map-base.h 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c/include/plat/map-base.h
++++ b/arch/arm/plat-s3c/include/plat/map-base.h
@@ -36,5 +36,7 @@
#define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */
#define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */
@@ -36,5 +36,7 @@
#define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */
#define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */
+#define S3C_VA_OTGSFR S3C_ADDR(0x03a00000) /* OTGSFR */
#endif /* __ASM_PLAT_MAP_H */
+#define S3C_VA_OTGSFR S3C_ADDR(0x03a00000) /* OTGSFR */
#endif /* __ASM_PLAT_MAP_H */
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/nand.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/nand.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/nand.h 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c/include/plat/nand.h
++++ b/arch/arm/plat-s3c/include/plat/nand.h
@@ -21,11 +21,14 @@
* partitions = mtd partition list
*/
@@ -21,11 +21,14 @@
* partitions = mtd partition list
*/
char *name;
int *nr_map;
struct mtd_partition *partitions;
char *name;
int *nr_map;
struct mtd_partition *partitions;
+@@ -44,6 +47,9 @@ struct s3c2410_platform_nand {
int nr_sets;
struct s3c2410_nand_set *sets;
int nr_sets;
struct s3c2410_nand_set *sets;
void (*select_chip)(struct s3c2410_nand_set *,
int chip);
};
void (*select_chip)(struct s3c2410_nand_set *,
int chip);
};
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/pm.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/pm.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/pm.h 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c/include/plat/pm.h
++++ b/arch/arm/plat-s3c/include/plat/pm.h
@@ -9,6 +9,8 @@
* published by the Free Software Foundation.
*/
@@ -9,6 +9,8 @@
* published by the Free Software Foundation.
*/
/* s3c_pm_init
*
* called from board at initialisation time to setup the power
/* s3c_pm_init
*
* called from board at initialisation time to setup the power
+@@ -44,6 +46,8 @@ extern void (*pm_cpu_sleep)(void);
extern unsigned long s3c_pm_flags;
extern unsigned long s3c_pm_flags;
/* from sleep.S */
extern int s3c_cpu_save(unsigned long *saveblk);
/* from sleep.S */
extern int s3c_cpu_save(unsigned long *saveblk);
+@@ -88,6 +92,7 @@ struct pm_uart_save {
u32 ufcon;
u32 umcon;
u32 ubrdiv;
u32 ufcon;
u32 umcon;
u32 ubrdiv;
};
/* helper functions to save/restore lists of registers. */
};
/* helper functions to save/restore lists of registers. */
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/sdhci.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/sdhci.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/sdhci.h 2009-05-18 19:07:48.000000000 +0200
-@@ -29,6 +29,7 @@
+--- a/arch/arm/plat-s3c/include/plat/sdhci.h
++++ b/arch/arm/plat-s3c/include/plat/sdhci.h
+@@ -29,6 +29,7 @@ struct mmc_ios;
* is necessary the controllers and/or GPIO blocks require the
* changing of driver-strength and other controls dependant on
* the card and speed of operation.
* is necessary the controllers and/or GPIO blocks require the
* changing of driver-strength and other controls dependant on
* the card and speed of operation.
*
* Initialisation data specific to either the machine or the platform
* for the device driver to use or call-back when configuring gpio or
*
* Initialisation data specific to either the machine or the platform
* for the device driver to use or call-back when configuring gpio or
+@@ -45,8 +46,11 @@ struct s3c_sdhci_platdata {
void __iomem *regbase,
struct mmc_ios *ios,
struct mmc_card *card);
void __iomem *regbase,
struct mmc_ios *ios,
struct mmc_card *card);
/**
* s3c_sdhci0_set_platdata - Set platform data for S3C SDHCI device.
* @pd: Platform data to register to device.
/**
* s3c_sdhci0_set_platdata - Set platform data for S3C SDHCI device.
* @pd: Platform data to register to device.
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/init.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/init.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/init.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c/init.c
++++ b/arch/arm/plat-s3c/init.c
@@ -31,6 +31,34 @@
static struct cpu_table *cpu;
@@ -31,6 +31,34 @@
static struct cpu_table *cpu;
static struct cpu_table * __init s3c_lookup_cpu(unsigned long idcode,
struct cpu_table *tab,
unsigned int count)
static struct cpu_table * __init s3c_lookup_cpu(unsigned long idcode,
struct cpu_table *tab,
unsigned int count)
+@@ -53,6 +81,8 @@ void __init s3c_init_cpu(unsigned long i
panic("Unknown S3C24XX CPU");
}
panic("Unknown S3C24XX CPU");
}
printk("CPU %s (id 0x%08lx)\n", cpu->name, idcode);
if (cpu->map_io == NULL || cpu->init == NULL) {
printk("CPU %s (id 0x%08lx)\n", cpu->name, idcode);
if (cpu->map_io == NULL || cpu->init == NULL) {
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile 2009-05-18 19:07:48.000000000 +0200
-@@ -21,6 +21,7 @@
+--- a/arch/arm/plat-s3c/Makefile
++++ b/arch/arm/plat-s3c/Makefile
+@@ -21,6 +21,7 @@ obj-y += gpio-config.o
# PM support
obj-$(CONFIG_PM) += pm.o
# PM support
obj-$(CONFIG_PM) += pm.o
obj-$(CONFIG_S3C2410_PM_CHECK) += pm-check.o
# devices
obj-$(CONFIG_S3C2410_PM_CHECK) += pm-check.o
# devices
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/pm.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/pm.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/pm.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c/pm.c
++++ b/arch/arm/plat-s3c/pm.c
@@ -21,11 +21,10 @@
#include <asm/cacheflush.h>
@@ -21,11 +21,10 @@
#include <asm/cacheflush.h>
#include <mach/regs-irq.h>
#include <asm/irq.h>
#include <mach/regs-irq.h>
#include <asm/irq.h>
+@@ -70,6 +69,8 @@ static inline void s3c_pm_debug_init(voi
/* Save the UART configurations if we are configured for debug. */
/* Save the UART configurations if we are configured for debug. */
#ifdef CONFIG_S3C2410_PM_DEBUG
struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS];
#ifdef CONFIG_S3C2410_PM_DEBUG
struct pm_uart_save uart_save[CONFIG_SERIAL_SAMSUNG_UARTS];
+@@ -83,6 +84,12 @@ static void s3c_pm_save_uart(unsigned in
save->ufcon = __raw_readl(regs + S3C2410_UFCON);
save->umcon = __raw_readl(regs + S3C2410_UMCON);
save->ubrdiv = __raw_readl(regs + S3C2410_UBRDIV);
save->ufcon = __raw_readl(regs + S3C2410_UFCON);
save->umcon = __raw_readl(regs + S3C2410_UMCON);
save->ubrdiv = __raw_readl(regs + S3C2410_UBRDIV);
}
static void s3c_pm_save_uarts(void)
}
static void s3c_pm_save_uarts(void)
+@@ -98,11 +105,16 @@ static void s3c_pm_restore_uart(unsigned
{
void __iomem *regs = S3C_VA_UARTx(uart);
{
void __iomem *regs = S3C_VA_UARTx(uart);
}
static void s3c_pm_restore_uarts(void)
}
static void s3c_pm_restore_uarts(void)
+@@ -289,11 +301,14 @@ static int s3c_pm_enter(suspend_state_t
s3c_pm_arch_stop_clocks();
s3c_pm_arch_stop_clocks();
/* restore the cpu state using the kernel's cpu init code. */
/* restore the cpu state using the kernel's cpu init code. */
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/pm-gpio.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/pm-gpio.c 2009-05-18 19:07:48.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/pm-gpio.c
@@ -0,0 +1,378 @@
+/* linux/arch/arm/plat-s3c/pm-gpio.c
+ *
@@ -0,0 +1,378 @@
+/* linux/arch/arm/plat-s3c/pm-gpio.c
+ *
+ gpio_nr += CONFIG_S3C_GPIO_SPACE;
+ }
+}
+ gpio_nr += CONFIG_S3C_GPIO_SPACE;
+ }
+}
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/clock-dclk.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/clock-dclk.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/clock-dclk.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/clock-dclk.c
++++ b/arch/arm/plat-s3c24xx/clock-dclk.c
@@ -18,6 +18,7 @@
#include <mach/regs-clock.h>
@@ -18,6 +18,7 @@
#include <mach/regs-clock.h>
#include <plat/clock.h>
#include <plat/cpu.h>
#include <plat/clock.h>
#include <plat/cpu.h>
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/cpu.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/cpu.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/cpu.c 2009-05-18 19:07:48.000000000 +0200
-@@ -61,6 +61,7 @@
+--- a/arch/arm/plat-s3c24xx/cpu.c
++++ b/arch/arm/plat-s3c24xx/cpu.c
+@@ -61,6 +61,7 @@ static const char name_s3c2410[] = "S3C
static const char name_s3c2412[] = "S3C2412";
static const char name_s3c2440[] = "S3C2440";
static const char name_s3c2442[] = "S3C2442";
static const char name_s3c2412[] = "S3C2412";
static const char name_s3c2440[] = "S3C2440";
static const char name_s3c2442[] = "S3C2442";
static const char name_s3c2443[] = "S3C2443";
static const char name_s3c2410a[] = "S3C2410A";
static const char name_s3c2440a[] = "S3C2440A";
static const char name_s3c2443[] = "S3C2443";
static const char name_s3c2410a[] = "S3C2410A";
static const char name_s3c2440a[] = "S3C2440A";
+@@ -112,6 +113,15 @@ static struct cpu_table cpu_ids[] __init
.name = name_s3c2442
},
{
.name = name_s3c2442
},
{
.idcode = 0x32412001,
.idmask = 0xffffffff,
.map_io = s3c2412_map_io,
.idcode = 0x32412001,
.idmask = 0xffffffff,
.map_io = s3c2412_map_io,
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/gpiolib.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/gpiolib.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/gpiolib.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/gpiolib.c
++++ b/arch/arm/plat-s3c24xx/gpiolib.c
@@ -19,9 +19,10 @@
#include <linux/io.h>
#include <linux/gpio.h>
@@ -19,9 +19,10 @@
#include <linux/io.h>
#include <linux/gpio.h>
#include <mach/regs-gpio.h>
#include <mach/regs-gpio.h>
+@@ -78,6 +79,7 @@ static int s3c24xx_gpiolib_bankg_toirq(s
struct s3c_gpio_chip s3c24xx_gpios[] = {
[0] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPA0),
struct s3c_gpio_chip s3c24xx_gpios[] = {
[0] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPA0),
.chip = {
.base = S3C2410_GPA0,
.owner = THIS_MODULE,
.chip = {
.base = S3C2410_GPA0,
.owner = THIS_MODULE,
+@@ -89,6 +91,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
},
[1] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPB0),
},
[1] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPB0),
.chip = {
.base = S3C2410_GPB0,
.owner = THIS_MODULE,
.chip = {
.base = S3C2410_GPB0,
.owner = THIS_MODULE,
+@@ -98,6 +101,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
},
[2] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPC0),
},
[2] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPC0),
.chip = {
.base = S3C2410_GPC0,
.owner = THIS_MODULE,
.chip = {
.base = S3C2410_GPC0,
.owner = THIS_MODULE,
+@@ -107,6 +111,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
},
[3] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPD0),
},
[3] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPD0),
.chip = {
.base = S3C2410_GPD0,
.owner = THIS_MODULE,
.chip = {
.base = S3C2410_GPD0,
.owner = THIS_MODULE,
+@@ -116,6 +121,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
},
[4] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPE0),
},
[4] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPE0),
.chip = {
.base = S3C2410_GPE0,
.label = "GPIOE",
.chip = {
.base = S3C2410_GPE0,
.label = "GPIOE",
+@@ -125,6 +131,7 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
},
[5] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPF0),
},
[5] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPF0),
.chip = {
.base = S3C2410_GPF0,
.owner = THIS_MODULE,
.chip = {
.base = S3C2410_GPF0,
.owner = THIS_MODULE,
+@@ -135,12 +142,23 @@ struct s3c_gpio_chip s3c24xx_gpios[] = {
},
[6] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPG0),
},
[6] = {
.base = S3C24XX_GPIO_BASE(S3C2410_GPG0),
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/pm-core.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/include/plat/pm-core.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/pm-core.h 2009-05-18 19:07:48.000000000 +0200
-@@ -57,3 +57,8 @@
+--- a/arch/arm/plat-s3c24xx/include/plat/pm-core.h
++++ b/arch/arm/plat-s3c24xx/include/plat/pm-core.h
+@@ -57,3 +57,8 @@ static inline void s3c_pm_arch_show_resu
s3c_pm_show_resume_irqs(IRQ_EINT4-4, __raw_readl(S3C2410_EINTPEND),
s3c_irqwake_eintmask);
}
s3c_pm_show_resume_irqs(IRQ_EINT4-4, __raw_readl(S3C2410_EINTPEND),
s3c_irqwake_eintmask);
}
+ struct pm_uart_save *save)
+{
+}
+ struct pm_uart_save *save)
+{
+}
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/irq-pm.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/irq-pm.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/irq-pm.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/irq-pm.c
++++ b/arch/arm/plat-s3c24xx/irq-pm.c
@@ -15,6 +15,7 @@
#include <linux/module.h>
#include <linux/interrupt.h>
@@ -15,6 +15,7 @@
#include <linux/module.h>
#include <linux/interrupt.h>
#include <plat/cpu.h>
#include <plat/pm.h>
#include <plat/cpu.h>
#include <plat/pm.h>
+@@ -80,7 +81,9 @@ int s3c24xx_irq_suspend(struct sys_devic
int s3c24xx_irq_resume(struct sys_device *dev)
{
int s3c24xx_irq_resume(struct sys_device *dev)
{
for (i = 0; i < ARRAY_SIZE(save_extint); i++)
__raw_writel(save_extint[i], S3C24XX_EXTINT0 + (i*4));
for (i = 0; i < ARRAY_SIZE(save_extint); i++)
__raw_writel(save_extint[i], S3C24XX_EXTINT0 + (i*4));
+@@ -91,5 +94,25 @@ int s3c24xx_irq_resume(struct sys_device
s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save));
__raw_writel(save_eintmask, S3C24XX_EINTMASK);
s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save));
__raw_writel(save_eintmask, S3C24XX_EINTMASK);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/pm.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/pm.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/pm.c 2009-05-18 19:07:48.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/pm.c
++++ b/arch/arm/plat-s3c24xx/pm.c
@@ -39,6 +39,7 @@
#include <mach/regs-gpio.h>
#include <mach/regs-mem.h>
@@ -39,6 +39,7 @@
#include <mach/regs-gpio.h>
#include <mach/regs-mem.h>
#include <asm/mach/time.h>
#include <asm/mach/time.h>
+@@ -75,43 +76,10 @@ static struct sleep_save core_save[] = {
SAVE_ITEM(S3C2410_CLKSLOW),
};
SAVE_ITEM(S3C2410_CLKSLOW),
};
/* s3c_pm_check_resume_pin
*
* check to see if the pin is configured correctly for sleep mode, and
/* s3c_pm_check_resume_pin
*
* check to see if the pin is configured correctly for sleep mode, and
+@@ -165,186 +133,6 @@ void s3c_pm_configure_extint(void)
void s3c_pm_restore_core(void)
{
void s3c_pm_restore_core(void)
{
-Index: linux-2.6.30-rc6/drivers/mmc/host/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mmc/host/Kconfig 2009-05-18 19:07:38.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mmc/host/Kconfig 2009-05-18 19:07:48.000000000 +0200
-@@ -37,13 +37,6 @@
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
+@@ -37,13 +37,6 @@ config MMC_SDHCI
config MMC_SDHCI_PCI
tristate "SDHCI support on PCI bus"
depends on MMC_SDHCI && PCI
config MMC_SDHCI_PCI
tristate "SDHCI support on PCI bus"
depends on MMC_SDHCI && PCI
+@@ -55,6 +48,18 @@ config MMC_SDHCI_PCI
config MMC_RICOH_MMC
tristate "Ricoh MMC Controller Disabler (EXPERIMENTAL)"
depends on MMC_SDHCI_PCI
config MMC_RICOH_MMC
tristate "Ricoh MMC Controller Disabler (EXPERIMENTAL)"
depends on MMC_SDHCI_PCI
+@@ -72,17 +77,6 @@ config MMC_RICOH_MMC
config MMC_OMAP
tristate "TI OMAP Multimedia Card Interface support"
depends on ARCH_OMAP
config MMC_OMAP
tristate "TI OMAP Multimedia Card Interface support"
depends on ARCH_OMAP
+@@ -163,16 +157,6 @@ config MMC_IMX
config MMC_TIFM_SD
tristate "TI Flash Media MMC/SD Interface support (EXPERIMENTAL)"
depends on EXPERIMENTAL && PCI
config MMC_TIFM_SD
tristate "TI Flash Media MMC/SD Interface support (EXPERIMENTAL)"
depends on EXPERIMENTAL && PCI
-Index: linux-2.6.30-rc6/drivers/mmc/host/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mmc/host/Makefile 2009-05-18 19:07:38.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mmc/host/Makefile 2009-05-18 19:07:48.000000000 +0200
-@@ -9,11 +9,10 @@
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
+@@ -9,11 +9,10 @@ endif
obj-$(CONFIG_MMC_ARMMMCI) += mmci.o
obj-$(CONFIG_MMC_PXA) += pxamci.o
obj-$(CONFIG_MMC_IMX) += imxmmc.o
obj-$(CONFIG_MMC_ARMMMCI) += mmci.o
obj-$(CONFIG_MMC_PXA) += pxamci.o
obj-$(CONFIG_MMC_IMX) += imxmmc.o
obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
+@@ -21,7 +20,6 @@ obj-$(CONFIG_MMC_OMAP_HS) += omap_hsmmc.
obj-$(CONFIG_MMC_AT91) += at91_mci.o
obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o
obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
obj-$(CONFIG_MMC_AT91) += at91_mci.o
obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o
obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
ifeq ($(CONFIG_OF),y)
obj-$(CONFIG_MMC_SPI) += of_mmc_spi.o
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
ifeq ($(CONFIG_OF),y)
obj-$(CONFIG_MMC_SPI) += of_mmc_spi.o
-Index: linux-2.6.30-rc6/drivers/mmc/host/s3cmci.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mmc/host/s3cmci.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mmc/host/s3cmci.c 2009-05-18 19:07:48.000000000 +0200
+--- a/drivers/mmc/host/s3cmci.c
++++ b/drivers/mmc/host/s3cmci.c
@@ -2,6 +2,7 @@
* linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
*
@@ -2,6 +2,7 @@
* linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
*
#include "s3cmci.h"
#define DRIVER_NAME "s3c-mci"
#include "s3cmci.h"
#define DRIVER_NAME "s3c-mci"
+@@ -47,6 +57,9 @@ static const int dbgmap_err = dbg_fail
static const int dbgmap_info = dbg_info | dbg_conf;
static const int dbgmap_debug = dbg_err | dbg_debug;
static const int dbgmap_info = dbg_info | dbg_conf;
static const int dbgmap_debug = dbg_err | dbg_debug;
#define dbg(host, channels, args...) \
do { \
if (dbgmap_err & channels) \
#define dbg(host, channels, args...) \
do { \
if (dbgmap_err & channels) \
+@@ -280,8 +293,11 @@ static void do_pio_read(struct s3cmci_ho
* an even multiple of 4. */
if (fifo >= host->pio_bytes)
fifo = host->pio_bytes;
* an even multiple of 4. */
if (fifo >= host->pio_bytes)
fifo = host->pio_bytes;
host->pio_bytes -= fifo;
host->pio_count += fifo;
host->pio_bytes -= fifo;
host->pio_count += fifo;
+@@ -329,7 +345,7 @@ static void do_pio_write(struct s3cmci_h
to_ptr = host->base + host->sdidata;
to_ptr = host->base + host->sdidata;
if (!host->pio_bytes) {
res = get_data_buffer(host, &host->pio_bytes,
&host->pio_ptr);
if (!host->pio_bytes) {
res = get_data_buffer(host, &host->pio_bytes,
&host->pio_ptr);
+@@ -353,8 +369,11 @@ static void do_pio_write(struct s3cmci_h
* words, so round down to an even multiple of 4. */
if (fifo >= host->pio_bytes)
fifo = host->pio_bytes;
* words, so round down to an even multiple of 4. */
if (fifo >= host->pio_bytes)
fifo = host->pio_bytes;
host->pio_bytes -= fifo;
host->pio_count += fifo;
host->pio_bytes -= fifo;
host->pio_count += fifo;
+@@ -373,7 +392,6 @@ static void pio_tasklet(unsigned long da
{
struct s3cmci_host *host = (struct s3cmci_host *) data;
{
struct s3cmci_host *host = (struct s3cmci_host *) data;
disable_irq(host->irq);
if (host->pio_active == XFER_WRITE)
disable_irq(host->irq);
if (host->pio_active == XFER_WRITE)
+@@ -614,7 +632,6 @@ irq_out:
spin_unlock_irqrestore(&host->complete_lock, iflags);
return IRQ_HANDLED;
spin_unlock_irqrestore(&host->complete_lock, iflags);
return IRQ_HANDLED;
+@@ -789,11 +806,11 @@ static void s3cmci_dma_setup(struct s3cm
s3c2410_dma_set_buffdone_fn(host->dma,
s3cmci_dma_done_callback);
s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
s3c2410_dma_set_buffdone_fn(host->dma,
s3cmci_dma_done_callback);
s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
+@@ -1026,6 +1043,7 @@ static void s3cmci_send_request(struct m
dbg(host, dbg_err, "data prepare error %d\n", res);
cmd->error = res;
cmd->data->error = res;
dbg(host, dbg_err, "data prepare error %d\n", res);
cmd->error = res;
cmd->data->error = res;
mmc_request_done(mmc, mrq);
return;
mmc_request_done(mmc, mrq);
return;
+@@ -1263,10 +1281,8 @@ static int __devinit s3cmci_probe(struct
host->is2440 = is2440;
host->pdata = pdev->dev.platform_data;
host->is2440 = is2440;
host->pdata = pdev->dev.platform_data;
spin_lock_init(&host->complete_lock);
tasklet_init(&host->pio_tasklet, pio_tasklet, (unsigned long) host);
spin_lock_init(&host->complete_lock);
tasklet_init(&host->pio_tasklet, pio_tasklet, (unsigned long) host);
+@@ -1379,6 +1395,18 @@ static int __devinit s3cmci_probe(struct
mmc->f_min = host->clk_rate / (host->clk_div * 256);
mmc->f_max = host->clk_rate / host->clk_div;
mmc->f_min = host->clk_rate / (host->clk_div * 256);
mmc->f_max = host->clk_rate / host->clk_div;
if (host->pdata->ocr_avail)
mmc->ocr_avail = host->pdata->ocr_avail;
if (host->pdata->ocr_avail)
mmc->ocr_avail = host->pdata->ocr_avail;
+@@ -1491,18 +1519,60 @@ static int __devinit s3cmci_2440_probe(s
+@@ -1560,9 +1630,13 @@ static void __exit s3cmci_exit(void)
module_init(s3cmci_init);
module_exit(s3cmci_exit);
module_init(s3cmci_init);
module_exit(s3cmci_exit);
MODULE_ALIAS("platform:s3c2412-sdi");
MODULE_ALIAS("platform:s3c2440-sdi");
+
MODULE_ALIAS("platform:s3c2412-sdi");
MODULE_ALIAS("platform:s3c2440-sdi");
+
-Index: linux-2.6.30-rc6/drivers/mmc/host/s3cmci.h
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mmc/host/s3cmci.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mmc/host/s3cmci.h 2009-05-18 19:07:48.000000000 +0200
+--- a/drivers/mmc/host/s3cmci.h
++++ b/drivers/mmc/host/s3cmci.h
@@ -8,6 +8,10 @@
* published by the Free Software Foundation.
*/
@@ -8,6 +8,10 @@
* published by the Free Software Foundation.
*/
/* FIXME: DMA Resource management ?! */
#define S3CMCI_DMA 0
/* FIXME: DMA Resource management ?! */
#define S3CMCI_DMA 0
+@@ -68,7 +72,16 @@ struct s3cmci_host {
unsigned int ccnt, dcnt;
struct tasklet_struct pio_tasklet;
unsigned int ccnt, dcnt;
struct tasklet_struct pio_tasklet;
+
+ struct regulator *regulator;
};
+
+ struct regulator *regulator;
};
-Index: linux-2.6.30-rc6/drivers/mmc/host/sdhci-s3c.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/drivers/mmc/host/sdhci-s3c.c 2009-05-18 19:07:48.000000000 +0200
+--- /dev/null
++++ b/drivers/mmc/host/sdhci-s3c.c
@@ -0,0 +1,419 @@
+/* linux/drivers/mmc/host/sdhci-s3c.c
+ *
@@ -0,0 +1,419 @@
+/* linux/drivers/mmc/host/sdhci-s3c.c
+ *
+MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:s3c-sdhci");
+MODULE_AUTHOR("Ben Dooks, <ben@simtec.co.uk>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:s3c-sdhci");
-Index: linux-2.6.30-rc6/drivers/mtd/nand/s3c2410.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mtd/nand/s3c2410.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mtd/nand/s3c2410.c 2009-05-18 19:07:48.000000000 +0200
-@@ -438,7 +438,7 @@
+--- a/drivers/mtd/nand/s3c2410.c
++++ b/drivers/mtd/nand/s3c2410.c
+@@ -438,7 +438,7 @@ static int s3c2410_nand_correct_data(str
if ((diff0 & ~(1<<fls(diff0))) == 0)
return 1;
if ((diff0 & ~(1<<fls(diff0))) == 0)
return 1;
+@@ -530,7 +530,12 @@ static void s3c2410_nand_read_buf(struct
static void s3c2440_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
{
struct s3c2410_nand_info *info = s3c2410_nand_mtd_toinfo(mtd);
static void s3c2440_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
{
struct s3c2410_nand_info *info = s3c2410_nand_mtd_toinfo(mtd);
}
static void s3c2410_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
}
static void s3c2410_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
+@@ -645,17 +650,31 @@ static int s3c2410_nand_remove(struct pl
}
#ifdef CONFIG_MTD_PARTITIONS
}
#ifdef CONFIG_MTD_PARTITIONS
return add_mtd_device(&mtd->mtd);
}
#else
return add_mtd_device(&mtd->mtd);
}
#else
+@@ -684,9 +703,13 @@ static void s3c2410_nand_init_chip(struc
chip->select_chip = s3c2410_nand_select_chip;
chip->chip_delay = 50;
chip->priv = nmtd;
chip->select_chip = s3c2410_nand_select_chip;
chip->chip_delay = 50;
chip->priv = nmtd;
switch (info->cpu_type) {
case TYPE_S3C2410:
chip->IO_ADDR_W = regs + S3C2410_NFDATA;
switch (info->cpu_type) {
case TYPE_S3C2410:
chip->IO_ADDR_W = regs + S3C2410_NFDATA;
+@@ -726,7 +749,7 @@ static void s3c2410_nand_init_chip(struc
nmtd->mtd.owner = THIS_MODULE;
nmtd->set = set;
nmtd->mtd.owner = THIS_MODULE;
nmtd->set = set;
chip->ecc.calculate = s3c2410_nand_calculate_ecc;
chip->ecc.correct = s3c2410_nand_correct_data;
chip->ecc.mode = NAND_ECC_HW;
chip->ecc.calculate = s3c2410_nand_calculate_ecc;
chip->ecc.correct = s3c2410_nand_correct_data;
chip->ecc.mode = NAND_ECC_HW;
-Index: linux-2.6.30-rc6/drivers/mmc/core/core.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mmc/core/core.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mmc/core/core.c 2009-05-18 19:07:48.000000000 +0200
-@@ -59,10 +59,11 @@
+--- a/drivers/mmc/core/core.c
++++ b/drivers/mmc/core/core.c
+@@ -59,10 +59,11 @@ static int mmc_schedule_delayed_work(str
/*
* Internal function. Flush all scheduled work from the MMC work queue.
*/
/*
* Internal function. Flush all scheduled work from the MMC work queue.
*/
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/dma.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2410/include/mach/dma.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/dma.h 2009-05-18 19:08:29.000000000 +0200
+--- a/arch/arm/mach-s3c2410/include/mach/dma.h
++++ b/arch/arm/mach-s3c2410/include/mach/dma.h
@@ -3,7 +3,7 @@
* Copyright (C) 2003,2004,2006 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
@@ -3,7 +3,7 @@
* Copyright (C) 2003,2004,2006 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
#define MAX_DMA_TRANSFER_SIZE 0x100000 /* Data Unit is half word */
#define MAX_DMA_TRANSFER_SIZE 0x100000 /* Data Unit is half word */
+@@ -55,9 +55,9 @@ enum dma_ch {
/* we have 4 dma channels */
#ifndef CONFIG_CPU_S3C2443
/* we have 4 dma channels */
#ifndef CONFIG_CPU_S3C2443
+@@ -68,7 +68,6 @@ enum s3c2410_dma_state {
/* enum s3c2410_dma_loadst
*
* This represents the state of the DMA engine, wrt to the loaded / running
/* enum s3c2410_dma_loadst
*
* This represents the state of the DMA engine, wrt to the loaded / running
+@@ -104,32 +103,6 @@ enum s3c2410_dma_loadst {
S3C2410_DMALOAD_1LOADED_1RUNNING,
};
S3C2410_DMALOAD_1LOADED_1RUNNING,
};
+@@ -137,19 +110,18 @@ enum s3c2410_chan_op {
* waiting for reloads */
#define S3C2410_DMAF_AUTOSTART (1<<1) /* auto-start if buffer queued */
* waiting for reloads */
#define S3C2410_DMAF_AUTOSTART (1<<1) /* auto-start if buffer queued */
struct s3c2410_dma_buf {
struct s3c2410_dma_buf *next;
int magic; /* magic */
struct s3c2410_dma_buf {
struct s3c2410_dma_buf *next;
int magic; /* magic */
+@@ -161,20 +133,6 @@ struct s3c2410_dma_buf {
/* [1] is this updated for both recv/send modes? */
/* [1] is this updated for both recv/send modes? */
struct s3c2410_dma_stats {
unsigned long loads;
unsigned long timeout_longest;
struct s3c2410_dma_stats {
unsigned long loads;
unsigned long timeout_longest;
+@@ -206,10 +164,10 @@ struct s3c2410_dma_chan {
/* channel configuration */
enum s3c2410_dmasrc source;
/* channel configuration */
enum s3c2410_dmasrc source;
struct s3c24xx_dma_map *map; /* channel hw maps */
struct s3c24xx_dma_map *map; /* channel hw maps */
+@@ -236,213 +194,12 @@ struct s3c2410_dma_chan {
struct sys_device dev;
};
struct sys_device dev;
};
+}
#endif /* __ASM_ARCH_DMA_H */
+}
#endif /* __ASM_ARCH_DMA_H */
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2442/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2442/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2442/Kconfig 2009-05-18 19:08:29.000000000 +0200
-@@ -11,6 +11,7 @@
+--- a/arch/arm/mach-s3c2442/Kconfig
++++ b/arch/arm/mach-s3c2442/Kconfig
+@@ -11,6 +11,7 @@ config CPU_S3C2442
select S3C2410_CLOCK
select S3C2410_GPIO
select S3C2410_PM if PM
select S3C2410_CLOCK
select S3C2410_GPIO
select S3C2410_PM if PM
select CPU_S3C244X
select CPU_LLSERIAL_S3C2440
help
select CPU_S3C244X
select CPU_LLSERIAL_S3C2440
help
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/dma.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/dma.c 2009-05-18 19:08:29.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/dma.c
@@ -0,0 +1,86 @@
+/* linux/arch/arm/plat-s3c/dma.c
+ *
@@ -0,0 +1,86 @@
+/* linux/arch/arm/plat-s3c/dma.c
+ *
+ return 0;
+}
+EXPORT_SYMBOL(s3c2410_dma_setflags);
+ return 0;
+}
+EXPORT_SYMBOL(s3c2410_dma_setflags);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/dma-core.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/dma-core.h 2009-05-18 19:08:29.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/include/plat/dma-core.h
@@ -0,0 +1,22 @@
+/* arch/arm/plat-s3c/include/plat/dma.h
+ *
@@ -0,0 +1,22 @@
+/* arch/arm/plat-s3c/include/plat/dma.h
+ *
+extern struct s3c2410_dma_chan s3c2410_chans[];
+
+
+extern struct s3c2410_dma_chan s3c2410_chans[];
+
+
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/dma.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/dma.h 2009-05-18 19:08:29.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/include/plat/dma.h
@@ -0,0 +1,128 @@
+/* arch/arm/plat-s3c/include/plat/dma.h
+ *
@@ -0,0 +1,128 @@
+/* arch/arm/plat-s3c/include/plat/dma.h
+ *
+extern int s3c2410_dma_set_buffdone_fn(unsigned int, s3c2410_dma_cbfn_t rtn);
+
+
+extern int s3c2410_dma_set_buffdone_fn(unsigned int, s3c2410_dma_cbfn_t rtn);
+
+
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Kconfig 2009-05-18 19:08:29.000000000 +0200
-@@ -150,6 +150,13 @@
+--- a/arch/arm/plat-s3c/Kconfig
++++ b/arch/arm/plat-s3c/Kconfig
+@@ -150,6 +150,13 @@ config S3C_GPIO_CFG_S3C64XX
Internal configuration to enable S3C64XX style GPIO configuration
functions.
Internal configuration to enable S3C64XX style GPIO configuration
functions.
# device definitions to compile in
config S3C_DEV_HSMMC
# device definitions to compile in
config S3C_DEV_HSMMC
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Makefile 2009-05-18 19:07:48.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile 2009-05-18 19:08:29.000000000 +0200
-@@ -18,6 +18,10 @@
+--- a/arch/arm/plat-s3c/Makefile
++++ b/arch/arm/plat-s3c/Makefile
+@@ -18,6 +18,10 @@ obj-y += pwm-clock.o
obj-y += gpio.o
obj-y += gpio-config.o
obj-y += gpio.o
obj-y += gpio-config.o
# PM support
obj-$(CONFIG_PM) += pm.o
# PM support
obj-$(CONFIG_PM) += pm.o
+@@ -31,3 +35,5 @@ obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmm
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
+obj-$(CONFIG_S3C_DMA) += dma.o
+
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
+obj-$(CONFIG_S3C_DMA) += dma.o
+
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/dma.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/dma.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/dma.c 2009-05-18 19:08:29.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/dma.c
++++ b/arch/arm/plat-s3c24xx/dma.c
@@ -31,10 +31,11 @@
#include <asm/irq.h>
#include <mach/hardware.h>
@@ -31,10 +31,11 @@
#include <asm/irq.h>
#include <mach/hardware.h>
/* io map for dma */
static void __iomem *dma_base;
/* io map for dma */
static void __iomem *dma_base;
+@@ -44,8 +45,6 @@ static int dma_channels;
static struct s3c24xx_dma_selection dma_sel;
static struct s3c24xx_dma_selection dma_sel;
/* debugging functions */
/* debugging functions */
+@@ -135,21 +134,6 @@ dmadbg_showregs(const char *fname, int l
#define dbg_showchan(chan) do { } while(0)
#endif /* CONFIG_S3C2410_DMA_DEBUG */
#define dbg_showchan(chan) do { } while(0)
#endif /* CONFIG_S3C2410_DMA_DEBUG */
/* s3c2410_dma_stats_timeout
*
* Update DMA stats from timeout info
/* s3c2410_dma_stats_timeout
*
* Update DMA stats from timeout info
+@@ -214,8 +198,6 @@ s3c2410_dma_waitforload(struct s3c2410_d
/* s3c2410_dma_loadbuffer
*
* load a buffer, and update the channel state
/* s3c2410_dma_loadbuffer
*
* load a buffer, and update the channel state
+@@ -453,7 +435,7 @@ s3c2410_dma_canload(struct s3c2410_dma_c
int s3c2410_dma_enqueue(unsigned int channel, void *id,
dma_addr_t data, int size)
{
int s3c2410_dma_enqueue(unsigned int channel, void *id,
dma_addr_t data, int size)
{
struct s3c2410_dma_buf *buf;
unsigned long flags;
struct s3c2410_dma_buf *buf;
unsigned long flags;
+@@ -804,7 +786,7 @@ EXPORT_SYMBOL(s3c2410_dma_request);
int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *client)
{
int s3c2410_dma_free(unsigned int channel, struct s3c2410_dma_client *client)
{
unsigned long flags;
if (chan == NULL)
unsigned long flags;
if (chan == NULL)
+@@ -836,7 +818,7 @@ int s3c2410_dma_free(unsigned int channe
chan->irq_claimed = 0;
if (!(channel & DMACH_LOW_LEVEL))
chan->irq_claimed = 0;
if (!(channel & DMACH_LOW_LEVEL))
local_irq_restore(flags);
local_irq_restore(flags);
+@@ -995,7 +977,7 @@ static int s3c2410_dma_started(struct s3
int
s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op op)
{
int
s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op op)
{
if (chan == NULL)
return -EINVAL;
if (chan == NULL)
return -EINVAL;
+@@ -1038,14 +1020,13 @@ EXPORT_SYMBOL(s3c2410_dma_ctrl);
/* s3c2410_dma_config
*
* xfersize: size of unit in bytes (1,2,4)
/* s3c2410_dma_config
*
* xfersize: size of unit in bytes (1,2,4)
pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n",
__func__, channel, xferunit, dcon);
pr_debug("%s: chan=%d, xfer_unit=%d, dcon=%08x\n",
__func__, channel, xferunit, dcon);
+@@ -1055,10 +1036,33 @@ int s3c2410_dma_config(unsigned int chan
pr_debug("%s: Initial dcon is %08x\n", __func__, dcon);
pr_debug("%s: Initial dcon is %08x\n", __func__, dcon);
switch (xferunit) {
case 1:
dcon |= S3C2410_DCON_BYTE;
switch (xferunit) {
case 1:
dcon |= S3C2410_DCON_BYTE;
+@@ -1089,10 +1093,10 @@ int s3c2410_dma_config(unsigned int chan
}
EXPORT_SYMBOL(s3c2410_dma_config);
}
EXPORT_SYMBOL(s3c2410_dma_config);
if (chan == NULL)
return -EINVAL;
if (chan == NULL)
return -EINVAL;
+@@ -1105,43 +1109,7 @@ int s3c2410_dma_setflags(unsigned int ch
}
EXPORT_SYMBOL(s3c2410_dma_setflags);
}
EXPORT_SYMBOL(s3c2410_dma_setflags);
/* s3c2410_dma_devconfig
*
/* s3c2410_dma_devconfig
*
+@@ -1150,29 +1118,38 @@ EXPORT_SYMBOL(s3c2410_dma_set_buffdone_f
* source: S3C2410_DMASRC_HW: source is hardware
* S3C2410_DMASRC_MEM: source is memory
*
* source: S3C2410_DMASRC_HW: source is hardware
* S3C2410_DMASRC_MEM: source is memory
*
switch (source) {
case S3C2410_DMASRC_HW:
switch (source) {
case S3C2410_DMASRC_HW:
+@@ -1219,7 +1196,7 @@ EXPORT_SYMBOL(s3c2410_dma_devconfig);
int s3c2410_dma_getposition(unsigned int channel, dma_addr_t *src, dma_addr_t *dst)
{
int s3c2410_dma_getposition(unsigned int channel, dma_addr_t *src, dma_addr_t *dst)
{
if (chan == NULL)
return -EINVAL;
if (chan == NULL)
return -EINVAL;
+@@ -1278,8 +1255,8 @@ static int s3c2410_dma_resume(struct sys
printk(KERN_INFO "dma%d: restoring configuration\n", cp->number);
printk(KERN_INFO "dma%d: restoring configuration\n", cp->number);
/* re-select the dma source for this channel */
/* re-select the dma source for this channel */
+@@ -1476,7 +1453,8 @@ static struct s3c2410_dma_chan *s3c2410_
found:
dmach = &s3c2410_chans[ch];
dmach->map = ch_map;
found:
dmach = &s3c2410_chans[ch];
dmach->map = ch_map;
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/dma.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/include/plat/dma.h 2009-05-16 06:12:57.000000000 +0200
-+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+--- a/arch/arm/plat-s3c24xx/include/plat/dma.h
++++ /dev/null
@@ -1,82 +0,0 @@
-/* linux/include/asm-arm/plat-s3c24xx/dma.h
- *
@@ -1,82 +0,0 @@
-/* linux/include/asm-arm/plat-s3c24xx/dma.h
- *
-
-extern int s3c24xx_dma_init(unsigned int channels, unsigned int irq,
- unsigned int stride);
-
-extern int s3c24xx_dma_init(unsigned int channels, unsigned int irq,
- unsigned int stride);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/dma-plat.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/dma-plat.h 2009-05-18 19:08:29.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c24xx/include/plat/dma-plat.h
@@ -0,0 +1,84 @@
+/* linux/arch/arm/plat-s3c24xx/include/plat/dma-plat.h
+ *
@@ -0,0 +1,84 @@
+/* linux/arch/arm/plat-s3c24xx/include/plat/dma-plat.h
+ *
+
+extern int s3c24xx_dma_init(unsigned int channels, unsigned int irq,
+ unsigned int stride);
+
+extern int s3c24xx_dma_init(unsigned int channels, unsigned int irq,
+ unsigned int stride);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/regs-dma.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/regs-dma.h 2009-05-18 19:08:29.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c24xx/include/plat/regs-dma.h
@@ -0,0 +1,145 @@
+/* arch/arm/mach-s3c2410/include/mach/dma.h
+ *
@@ -0,0 +1,145 @@
+/* arch/arm/mach-s3c2410/include/mach/dma.h
+ *
+#define S3C2443_DMAREQSEL_PCMOUT S3C2443_DMAREQSEL_SRC(27)
+#define S3C2443_DMAREQSEL_PCMIN S3C2443_DMAREQSEL_SRC(28)
+#define S3C2443_DMAREQSEL_MICIN S3C2443_DMAREQSEL_SRC(29)
+#define S3C2443_DMAREQSEL_PCMOUT S3C2443_DMAREQSEL_SRC(27)
+#define S3C2443_DMAREQSEL_PCMIN S3C2443_DMAREQSEL_SRC(28)
+#define S3C2443_DMAREQSEL_MICIN S3C2443_DMAREQSEL_SRC(29)
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/Kconfig 2009-05-18 19:08:29.000000000 +0200
-@@ -71,6 +71,7 @@
+--- a/arch/arm/plat-s3c24xx/Kconfig
++++ b/arch/arm/plat-s3c24xx/Kconfig
+@@ -71,6 +71,7 @@ config PM_SIMTEC
config S3C2410_DMA
bool "S3C2410 DMA support"
depends on ARCH_S3C2410
config S3C2410_DMA
bool "S3C2410 DMA support"
depends on ARCH_S3C2410
help
S3C2410 DMA support. This is needed for drivers like sound which
use the S3C2410's DMA system to move data to and from the
help
S3C2410 DMA support. This is needed for drivers like sound which
use the S3C2410's DMA system to move data to and from the
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/dma.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2410/dma.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/dma.c 2009-05-18 19:08:29.000000000 +0200
+--- a/arch/arm/mach-s3c2410/dma.c
++++ b/arch/arm/mach-s3c2410/dma.c
@@ -17,14 +17,16 @@
#include <linux/sysdev.h>
#include <linux/serial_core.h>
@@ -17,14 +17,16 @@
#include <linux/sysdev.h>
#include <linux/serial_core.h>
#include <mach/regs-mem.h>
#include <mach/regs-lcd.h>
#include <mach/regs-sdi.h>
#include <mach/regs-mem.h>
#include <mach/regs-lcd.h>
#include <mach/regs-sdi.h>
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2440/dma.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2440/dma.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2440/dma.c 2009-05-18 19:08:29.000000000 +0200
+--- a/arch/arm/mach-s3c2440/dma.c
++++ b/arch/arm/mach-s3c2440/dma.c
@@ -17,14 +17,16 @@
#include <linux/sysdev.h>
#include <linux/serial_core.h>
@@ -17,14 +17,16 @@
#include <linux/sysdev.h>
#include <linux/serial_core.h>
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/pwm.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/pwm.h 2009-05-18 19:08:30.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/include/plat/pwm.h
@@ -0,0 +1,45 @@
+#ifndef __S3C2410_PWM_H
+#define __S3C2410_PWM_H
@@ -0,0 +1,45 @@
+#ifndef __S3C2410_PWM_H
+#define __S3C2410_PWM_H
+int s3c2410_pwm_dumpregs(void);
+
+#endif /* __S3C2410_PWM_H */
+int s3c2410_pwm_dumpregs(void);
+
+#endif /* __S3C2410_PWM_H */
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Kconfig 2009-05-18 19:08:29.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Kconfig 2009-05-18 19:08:30.000000000 +0200
-@@ -157,6 +157,11 @@
+--- a/arch/arm/plat-s3c/Kconfig
++++ b/arch/arm/plat-s3c/Kconfig
+@@ -157,6 +157,11 @@ config S3C_DMA
help
Internal configuration for S3C DMA core
help
Internal configuration for S3C DMA core
# device definitions to compile in
config S3C_DEV_HSMMC
# device definitions to compile in
config S3C_DEV_HSMMC
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Makefile 2009-05-18 19:08:29.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile 2009-05-18 19:08:30.000000000 +0200
-@@ -35,5 +35,6 @@
+--- a/arch/arm/plat-s3c/Makefile
++++ b/arch/arm/plat-s3c/Makefile
+@@ -35,5 +35,6 @@ obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmm
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
+obj-$(CONFIG_S3C_PWM) += pwm.o
obj-$(CONFIG_S3C_DMA) += dma.o
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
+obj-$(CONFIG_S3C_PWM) += pwm.o
obj-$(CONFIG_S3C_DMA) += dma.o
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/pwm.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/pwm.c 2009-05-18 19:08:30.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/pwm.c
@@ -0,0 +1,288 @@
+/*
+ * arch/arm/plat-s3c/pwm.c
@@ -0,0 +1,288 @@
+/*
+ * arch/arm/plat-s3c/pwm.c
+
+module_init(s3c24xx_pwm_init);
+module_exit(s3c24xx_pwm_exit);
+
+module_init(s3c24xx_pwm_init);
+module_exit(s3c24xx_pwm_exit);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/pwm-clock.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/pwm-clock.c 2009-05-18 19:08:30.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c24xx/pwm-clock.c
@@ -0,0 +1,437 @@
+/* linux/arch/arm/plat-s3c24xx/pwm-clock.c
+ *
@@ -0,0 +1,437 @@
+/* linux/arch/arm/plat-s3c24xx/pwm-clock.c
+ *
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/dev-usb.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/dev-usb.c 2009-05-18 19:08:30.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/dev-usb.c
@@ -0,0 +1,50 @@
+/* linux/arch/arm/plat-s3c/dev-usb.c
+ *
@@ -0,0 +1,50 @@
+/* linux/arch/arm/plat-s3c/dev-usb.c
+ *
+};
+
+EXPORT_SYMBOL(s3c_device_usb);
+};
+
+EXPORT_SYMBOL(s3c_device_usb);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/regs-usb-hs-otg.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/regs-usb-hs-otg.h 2009-05-18 19:08:30.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c/include/plat/regs-usb-hs-otg.h
@@ -0,0 +1,360 @@
+/* linux/include/asm-arm/arch-s3c2410/regs-udc.h
+ *
@@ -0,0 +1,360 @@
+/* linux/include/asm-arm/arch-s3c2410/regs-udc.h
+ *
+#define XFERSIZE(x) (x<<0)
+
+#endif
+#define XFERSIZE(x) (x<<0)
+
+#endif
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Kconfig 2009-05-18 19:08:30.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Kconfig 2009-05-18 19:08:30.000000000 +0200
-@@ -184,4 +184,9 @@
+--- a/arch/arm/plat-s3c/Kconfig
++++ b/arch/arm/plat-s3c/Kconfig
+@@ -184,4 +184,9 @@ config S3C_DEV_FB
help
Compile in platform device definition for framebuffer
help
Compile in platform device definition for framebuffer
+ Compile in platform device definition for USB host.
+
endif
+ Compile in platform device definition for USB host.
+
endif
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/Makefile 2009-05-18 19:08:30.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/Makefile 2009-05-18 19:08:30.000000000 +0200
-@@ -35,6 +35,8 @@
+--- a/arch/arm/plat-s3c/Makefile
++++ b/arch/arm/plat-s3c/Makefile
+@@ -35,6 +35,8 @@ obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmm
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
obj-$(CONFIG_S3C_PWM) += pwm.o
obj-$(CONFIG_S3C_DMA) += dma.o
obj-$(CONFIG_S3C_PWM) += pwm.o
obj-$(CONFIG_S3C_DMA) += dma.o
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/devs.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/devs.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/devs.c 2009-05-18 19:08:30.000000000 +0200
-@@ -136,36 +136,6 @@
+--- a/arch/arm/plat-s3c24xx/devs.c
++++ b/arch/arm/plat-s3c24xx/devs.c
+@@ -136,36 +136,6 @@ struct platform_device *s3c24xx_uart_src
struct platform_device *s3c24xx_uart_devs[4] = {
};
struct platform_device *s3c24xx_uart_devs[4] = {
};
-Index: linux-2.6.30-rc6/arch/arm/kernel/fiq.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/kernel/fiq.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/kernel/fiq.c 2009-05-18 19:08:30.000000000 +0200
+--- a/arch/arm/kernel/fiq.c
++++ b/arch/arm/kernel/fiq.c
@@ -8,6 +8,8 @@
*
* FIQ support re-written by Russell King to be more generic
@@ -8,6 +8,8 @@
*
* FIQ support re-written by Russell King to be more generic
* We now properly support a method by which the FIQ handlers can
* be stacked onto the vector. We still do not support sharing
* the FIQ vector itself.
* We now properly support a method by which the FIQ handlers can
* be stacked onto the vector. We still do not support sharing
* the FIQ vector itself.
+@@ -124,6 +126,83 @@ void __naked get_fiq_regs(struct pt_regs
: "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
}
: "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
}
int claim_fiq(struct fiq_handler *f)
{
int ret = 0;
int claim_fiq(struct fiq_handler *f)
{
int ret = 0;
-Index: linux-2.6.30-rc6/arch/arm/include/asm/fiq.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/include/asm/fiq.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/include/asm/fiq.h 2009-05-18 19:08:30.000000000 +0200
-@@ -29,8 +29,9 @@
+--- a/arch/arm/include/asm/fiq.h
++++ b/arch/arm/include/asm/fiq.h
+@@ -29,8 +29,9 @@ struct fiq_handler {
extern int claim_fiq(struct fiq_handler *f);
extern void release_fiq(struct fiq_handler *f);
extern void set_fiq_handler(void *start, unsigned int length);
extern int claim_fiq(struct fiq_handler *f);
extern void release_fiq(struct fiq_handler *f);
extern void set_fiq_handler(void *start, unsigned int length);
extern void enable_fiq(int fiq);
extern void disable_fiq(int fiq);
extern void enable_fiq(int fiq);
extern void disable_fiq(int fiq);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/irq.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/include/plat/irq.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/irq.h 2009-05-18 19:08:30.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/include/plat/irq.h
++++ b/arch/arm/plat-s3c24xx/include/plat/irq.h
@@ -12,6 +12,7 @@
#include <linux/io.h>
@@ -12,6 +12,7 @@
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/regs-irq.h>
#include <mach/regs-gpio.h>
#include <mach/hardware.h>
#include <mach/regs-irq.h>
#include <mach/regs-gpio.h>
+@@ -31,8 +32,15 @@ s3c_irqsub_mask(unsigned int irqno, unsi
{
unsigned long mask;
unsigned long submask;
{
unsigned long mask;
unsigned long submask;
mask = __raw_readl(S3C2410_INTMSK);
submask |= (1UL << (irqno - IRQ_S3CUART_RX0));
mask = __raw_readl(S3C2410_INTMSK);
submask |= (1UL << (irqno - IRQ_S3CUART_RX0));
+@@ -45,6 +53,9 @@ s3c_irqsub_mask(unsigned int irqno, unsi
/* write back masks */
__raw_writel(submask, S3C2410_INTSUBMSK);
/* write back masks */
__raw_writel(submask, S3C2410_INTSUBMSK);
+@@ -53,8 +64,15 @@ s3c_irqsub_unmask(unsigned int irqno, un
{
unsigned long mask;
unsigned long submask;
{
unsigned long mask;
unsigned long submask;
mask = __raw_readl(S3C2410_INTMSK);
submask &= ~(1UL << (irqno - IRQ_S3CUART_RX0));
mask = __raw_readl(S3C2410_INTMSK);
submask &= ~(1UL << (irqno - IRQ_S3CUART_RX0));
+@@ -63,6 +81,9 @@ s3c_irqsub_unmask(unsigned int irqno, un
/* write back masks */
__raw_writel(submask, S3C2410_INTSUBMSK);
__raw_writel(mask, S3C2410_INTMSK);
/* write back masks */
__raw_writel(submask, S3C2410_INTSUBMSK);
__raw_writel(mask, S3C2410_INTMSK);
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/irq.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/irq.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/irq.c 2009-05-18 19:08:30.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/irq.c
++++ b/arch/arm/plat-s3c24xx/irq.c
@@ -28,6 +28,8 @@
#include <asm/mach/irq.h>
@@ -28,6 +28,8 @@
#include <asm/mach/irq.h>
#include <plat/cpu.h>
#include <plat/pm.h>
#include <plat/cpu.h>
#include <plat/pm.h>
+@@ -37,12 +39,20 @@ static void
s3c_irq_mask(unsigned int irqno)
{
unsigned long mask;
s3c_irq_mask(unsigned int irqno)
{
unsigned long mask;
+@@ -59,9 +69,19 @@ s3c_irq_maskack(unsigned int irqno)
{
unsigned long bitval = 1UL << (irqno - IRQ_EINT0);
unsigned long mask;
{
unsigned long bitval = 1UL << (irqno - IRQ_EINT0);
unsigned long mask;
__raw_writel(bitval, S3C2410_SRCPND);
__raw_writel(bitval, S3C2410_INTPND);
__raw_writel(bitval, S3C2410_SRCPND);
__raw_writel(bitval, S3C2410_INTPND);
+@@ -72,15 +92,25 @@ static void
s3c_irq_unmask(unsigned int irqno)
{
unsigned long mask;
s3c_irq_unmask(unsigned int irqno)
{
unsigned long mask;
}
struct irq_chip s3c_irq_level_chip = {
}
struct irq_chip s3c_irq_level_chip = {
+@@ -523,26 +553,26 @@ void __init s3c24xx_init_irq(void)
last = 0;
for (i = 0; i < 4; i++) {
last = 0;
for (i = 0; i < 4; i++) {
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/Kconfig 2009-05-18 19:08:29.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/Kconfig 2009-05-18 19:08:31.000000000 +0200
-@@ -112,4 +112,20 @@
+--- a/arch/arm/plat-s3c24xx/Kconfig
++++ b/arch/arm/plat-s3c24xx/Kconfig
+@@ -112,4 +112,20 @@ config MACH_SMDK
help
Common machine code for SMDK2410 and SMDK2440
help
Common machine code for SMDK2410 and SMDK2440
+ Common machine code for Neo1973 hardware
+
endif
+ Common machine code for Neo1973 hardware
+
endif
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2442/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2442/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2442/Makefile 2009-05-18 19:08:31.000000000 +0200
-@@ -14,3 +14,9 @@
+--- a/arch/arm/mach-s3c2442/Makefile
++++ b/arch/arm/mach-s3c2442/Makefile
+@@ -14,3 +14,9 @@ obj-$(CONFIG_CPU_S3C2442) += clock.o
+ gta02-pm-bt.o \
+ gta02-pm-wlan.o \
+ gta02-shadow.o
+ gta02-pm-bt.o \
+ gta02-pm-wlan.o \
+ gta02-shadow.o
-Index: linux-2.6.30-rc6/drivers/misc/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/misc/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/misc/Makefile 2009-05-18 19:08:31.000000000 +0200
-@@ -21,3 +21,6 @@
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -21,3 +21,6 @@ obj-$(CONFIG_HP_ILO) += hpilo.o
obj-$(CONFIG_ISL29003) += isl29003.o
obj-$(CONFIG_C2PORT) += c2port/
obj-y += eeprom/
obj-$(CONFIG_ISL29003) += isl29003.o
obj-$(CONFIG_C2PORT) += c2port/
obj-y += eeprom/
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2442/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2442/Kconfig 2009-05-18 19:08:29.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2442/Kconfig 2009-05-18 19:08:31.000000000 +0200
-@@ -25,6 +25,20 @@
+--- a/arch/arm/mach-s3c2442/Kconfig
++++ b/arch/arm/mach-s3c2442/Kconfig
+@@ -25,6 +25,20 @@ config SMDK2440_CPU2442
depends on ARCH_S3C2440
select CPU_S3C2442
depends on ARCH_S3C2440
select CPU_S3C2442
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2442/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2442/Makefile 2009-05-18 19:08:31.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2442/Makefile 2009-05-18 19:08:31.000000000 +0200
-@@ -9,8 +9,11 @@
+--- a/arch/arm/mach-s3c2442/Makefile
++++ b/arch/arm/mach-s3c2442/Makefile
+@@ -9,8 +9,11 @@ obj-m :=
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/irqs.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2410/include/mach/irqs.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/irqs.h 2009-05-18 19:08:31.000000000 +0200
+--- a/arch/arm/mach-s3c2410/include/mach/irqs.h
++++ b/arch/arm/mach-s3c2410/include/mach/irqs.h
@@ -153,9 +153,9 @@
#define IRQ_S3C2443_AC97 S3C2410_IRQSUB(28)
@@ -153,9 +153,9 @@
#define IRQ_S3C2443_AC97 S3C2410_IRQSUB(28)
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/devs.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/devs.c 2009-05-18 19:08:30.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/devs.c 2009-05-18 19:08:31.000000000 +0200
+--- a/arch/arm/plat-s3c24xx/devs.c
++++ b/arch/arm/plat-s3c24xx/devs.c
@@ -26,6 +26,8 @@
#include <asm/mach/irq.h>
#include <mach/fb.h>
@@ -26,6 +26,8 @@
#include <asm/mach/irq.h>
#include <mach/fb.h>
#include <asm/irq.h>
#include <plat/regs-serial.h>
#include <asm/irq.h>
#include <plat/regs-serial.h>
+@@ -199,6 +201,24 @@ struct platform_device s3c_device_nand =
EXPORT_SYMBOL(s3c_device_nand);
EXPORT_SYMBOL(s3c_device_nand);
/* USB Device (Gadget)*/
static struct resource s3c_usbgadget_resource[] = {
/* USB Device (Gadget)*/
static struct resource s3c_usbgadget_resource[] = {
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/s3c244x.c
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/s3c244x.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/s3c244x.c 2009-05-18 19:08:31.000000000 +0200
-@@ -59,6 +59,8 @@
+--- a/arch/arm/plat-s3c24xx/s3c244x.c
++++ b/arch/arm/plat-s3c24xx/s3c244x.c
+@@ -59,6 +59,8 @@ void __init s3c244x_init_uarts(struct s3
s3c24xx_init_uartdevs("s3c2440-uart", s3c2410_uart_resources, cfg, no);
}
s3c24xx_init_uartdevs("s3c2440-uart", s3c2410_uart_resources, cfg, no);
}
void __init s3c244x_map_io(void)
{
/* register our io-tables */
void __init s3c244x_map_io(void)
{
/* register our io-tables */
+@@ -70,6 +72,7 @@ void __init s3c244x_map_io(void)
s3c_device_sdi.name = "s3c2440-sdi";
s3c_device_i2c0.name = "s3c2440-i2c";
s3c_device_nand.name = "s3c2440-nand";
s3c_device_sdi.name = "s3c2440-sdi";
s3c_device_i2c0.name = "s3c2440-i2c";
s3c_device_nand.name = "s3c2440-nand";
s3c_device_usbgadget.name = "s3c2440-usbgadget";
}
s3c_device_usbgadget.name = "s3c2440-usbgadget";
}
-Index: linux-2.6.30-rc6/drivers/input/touchscreen/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/touchscreen/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/touchscreen/Kconfig 2009-05-18 19:08:31.000000000 +0200
-@@ -124,6 +124,24 @@
+--- a/drivers/input/touchscreen/Kconfig
++++ b/drivers/input/touchscreen/Kconfig
+@@ -124,6 +124,24 @@ config TOUCHSCREEN_FUJITSU
To compile this driver as a module, choose M here: the
module will be called fujitsu-ts.
To compile this driver as a module, choose M here: the
module will be called fujitsu-ts.
config TOUCHSCREEN_GUNZE
tristate "Gunze AHL-51S touchscreen"
select SERIO
config TOUCHSCREEN_GUNZE
tristate "Gunze AHL-51S touchscreen"
select SERIO
-Index: linux-2.6.30-rc6/drivers/input/touchscreen/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/touchscreen/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/touchscreen/Makefile 2009-05-18 19:08:31.000000000 +0200
-@@ -37,3 +37,4 @@
+--- a/drivers/input/touchscreen/Makefile
++++ b/drivers/input/touchscreen/Makefile
+@@ -37,3 +37,4 @@ wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9712) +
wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9713) += wm9713.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE) += mainstone-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o
+obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9713) += wm9713.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE) += mainstone-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o
+obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/ts.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/ts.h 2009-05-18 19:08:31.000000000 +0200
+--- /dev/null
++++ b/arch/arm/mach-s3c2410/include/mach/ts.h
@@ -0,0 +1,35 @@
+/* arch/arm/mach-s3c2410/include/mach/ts.h
+ *
@@ -0,0 +1,35 @@
+/* arch/arm/mach-s3c2410/include/mach/ts.h
+ *
+void set_s3c2410ts_info(const struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
+
+#endif /* __ASM_ARM_TS_H */
+void set_s3c2410ts_info(const struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
+
+#endif /* __ASM_ARM_TS_H */
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/devs.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c/include/plat/devs.h 2009-05-18 19:07:48.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c/include/plat/devs.h 2009-05-18 19:08:31.000000000 +0200
-@@ -50,10 +50,11 @@
+--- a/arch/arm/plat-s3c/include/plat/devs.h
++++ b/arch/arm/plat-s3c/include/plat/devs.h
+@@ -50,10 +50,11 @@ extern struct platform_device s3c_device
extern struct platform_device s3c_device_usbgadget;
extern struct platform_device s3c_device_usbgadget;
-Index: linux-2.6.30-rc6/drivers/input/keyboard/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/keyboard/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/keyboard/Kconfig 2009-05-18 19:08:32.000000000 +0200
-@@ -332,4 +332,15 @@
+--- a/drivers/input/keyboard/Kconfig
++++ b/drivers/input/keyboard/Kconfig
+@@ -332,4 +332,15 @@ config KEYBOARD_SH_KEYSC
To compile this driver as a module, choose M here: the
module will be called sh_keysc.
To compile this driver as a module, choose M here: the
module will be called sh_keysc.
+ module will be called gta02kbd.
+
endif
+ module will be called gta02kbd.
+
endif
-Index: linux-2.6.30-rc6/drivers/input/keyboard/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/keyboard/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/keyboard/Makefile 2009-05-18 19:08:32.000000000 +0200
-@@ -14,6 +14,7 @@
+--- a/drivers/input/keyboard/Makefile
++++ b/drivers/input/keyboard/Makefile
+@@ -14,6 +14,7 @@ obj-$(CONFIG_KEYBOARD_LOCOMO) += locomo
obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o
obj-$(CONFIG_KEYBOARD_STOWAWAY) += stowaway.o
obj-$(CONFIG_KEYBOARD_CORGI) += corgikbd.o
obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o
obj-$(CONFIG_KEYBOARD_STOWAWAY) += stowaway.o
obj-$(CONFIG_KEYBOARD_CORGI) += corgikbd.o
-Index: linux-2.6.30-rc6/drivers/input/touchscreen/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/touchscreen/Kconfig 2009-05-18 19:08:31.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/touchscreen/Kconfig 2009-05-18 19:08:32.000000000 +0200
-@@ -11,6 +11,54 @@
+--- a/drivers/input/touchscreen/Kconfig
++++ b/drivers/input/touchscreen/Kconfig
+@@ -11,6 +11,54 @@ menuconfig INPUT_TOUCHSCREEN
config TOUCHSCREEN_ADS7846
tristate "ADS7846/TSC2046 and ADS7843 based touchscreens"
depends on SPI_MASTER
config TOUCHSCREEN_ADS7846
tristate "ADS7846/TSC2046 and ADS7843 based touchscreens"
depends on SPI_MASTER
-Index: linux-2.6.30-rc6/drivers/input/touchscreen/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/touchscreen/Makefile 2009-05-18 19:08:31.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/touchscreen/Makefile 2009-05-18 19:08:32.000000000 +0200
-@@ -38,3 +38,8 @@
+--- a/drivers/input/touchscreen/Makefile
++++ b/drivers/input/touchscreen/Makefile
+@@ -38,3 +38,8 @@ wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9713) +
obj-$(CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE) += mainstone-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE) += mainstone-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
-Index: linux-2.6.30-rc6/drivers/mfd/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mfd/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mfd/Kconfig 2009-05-18 19:08:32.000000000 +0200
-@@ -241,6 +241,8 @@
+--- a/drivers/mfd/Kconfig
++++ b/drivers/mfd/Kconfig
+@@ -241,6 +241,8 @@ config PCF50633_GPIO
Say yes here if you want to include support GPIO for pins on
the PCF50633 chip.
Say yes here if you want to include support GPIO for pins on
the PCF50633 chip.
endmenu
menu "Multimedia Capabilities Port drivers"
endmenu
menu "Multimedia Capabilities Port drivers"
-Index: linux-2.6.30-rc6/drivers/mfd/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mfd/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mfd/Makefile 2009-05-18 19:08:32.000000000 +0200
+--- a/drivers/mfd/Makefile
++++ b/drivers/mfd/Makefile
@@ -4,6 +4,7 @@
obj-$(CONFIG_MFD_SM501) += sm501.o
@@ -4,6 +4,7 @@
obj-$(CONFIG_MFD_SM501) += sm501.o
obj-$(CONFIG_HTC_EGPIO) += htc-egpio.o
obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o
obj-$(CONFIG_HTC_EGPIO) += htc-egpio.o
obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o
-Index: linux-2.6.30-rc6/include/linux/fb.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/fb.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/fb.h 2009-05-18 19:08:32.000000000 +0200
-@@ -124,6 +124,7 @@
+--- a/include/linux/fb.h
++++ b/include/linux/fb.h
+@@ -124,6 +124,7 @@ struct dentry;
#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */
#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */
#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */
#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */
#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */
#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */
-Index: linux-2.6.30-rc6/drivers/power/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/power/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/power/Kconfig 2009-05-18 19:08:32.000000000 +0200
-@@ -88,4 +88,16 @@
+--- a/drivers/power/Kconfig
++++ b/drivers/power/Kconfig
+@@ -88,4 +88,16 @@ config CHARGER_PCF50633
help
Say Y to include support for NXP PCF50633 Main Battery Charger.
help
Say Y to include support for NXP PCF50633 Main Battery Charger.
-Index: linux-2.6.30-rc6/drivers/power/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/power/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/power/Makefile 2009-05-18 19:08:32.000000000 +0200
-@@ -25,4 +25,7 @@
+--- a/drivers/power/Makefile
++++ b/drivers/power/Makefile
+@@ -25,4 +25,7 @@ obj-$(CONFIG_BATTERY_TOSA) += tosa_batte
obj-$(CONFIG_BATTERY_WM97XX) += wm97xx_battery.o
obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00_battery.o
obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o
obj-$(CONFIG_BATTERY_WM97XX) += wm97xx_battery.o
obj-$(CONFIG_BATTERY_BQ27x00) += bq27x00_battery.o
obj-$(CONFIG_BATTERY_DA9030) += da9030_battery.o
-Index: linux-2.6.30-rc6/drivers/leds/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/leds/Kconfig 2009-05-18 19:07:07.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/leds/Kconfig 2009-05-18 19:08:33.000000000 +0200
-@@ -227,6 +227,19 @@
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
+@@ -227,6 +227,19 @@ config LEDS_BD2802
This option enables support for BD2802GU RGB LED driver chips
accessed via the I2C bus.
This option enables support for BD2802GU RGB LED driver chips
accessed via the I2C bus.
comment "LED Triggers"
config LEDS_TRIGGERS
comment "LED Triggers"
config LEDS_TRIGGERS
-Index: linux-2.6.30-rc6/drivers/leds/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/leds/Makefile 2009-05-18 19:07:07.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/leds/Makefile 2009-05-18 19:08:33.000000000 +0200
-@@ -30,6 +30,8 @@
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
+@@ -30,6 +30,8 @@ obj-$(CONFIG_LEDS_PWM) += leds-pwm.o
# LED SPI Drivers
obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o
# LED SPI Drivers
obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o
-Index: linux-2.6.30-rc6/drivers/video/display/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/video/display/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/video/display/Kconfig 2009-05-18 19:08:33.000000000 +0200
-@@ -21,4 +21,15 @@
+--- a/drivers/video/display/Kconfig
++++ b/drivers/video/display/Kconfig
+@@ -21,4 +21,15 @@ config DISPLAY_SUPPORT
comment "Display hardware drivers"
depends on DISPLAY_SUPPORT
comment "Display hardware drivers"
depends on DISPLAY_SUPPORT
+ controls power management, display timing and gamma calibration.
+
endmenu
+ controls power management, display timing and gamma calibration.
+
endmenu
-Index: linux-2.6.30-rc6/drivers/video/display/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/video/display/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/video/display/Makefile 2009-05-18 19:08:33.000000000 +0200
+--- a/drivers/video/display/Makefile
++++ b/drivers/video/display/Makefile
@@ -3,4 +3,5 @@
display-objs := display-sysfs.o
@@ -3,4 +3,5 @@
display-objs := display-sysfs.o
-Index: linux-2.6.30-rc6/drivers/mfd/pcf50633-core.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/mfd/pcf50633-core.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/mfd/pcf50633-core.c 2009-05-18 19:08:33.000000000 +0200
+--- a/drivers/mfd/pcf50633-core.c
++++ b/drivers/mfd/pcf50633-core.c
@@ -15,6 +15,7 @@
#include <linux/kernel.h>
#include <linux/device.h>
@@ -15,6 +15,7 @@
#include <linux/kernel.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/interrupt.h>
+@@ -345,6 +346,8 @@ static void pcf50633_irq_worker(struct w
/* We immediately read the usb and adapter status. We thus make sure
* only of USBINS/USBREM IRQ handlers are called */
if (pcf_int[0] & (PCF50633_INT1_USBINS | PCF50633_INT1_USBREM)) {
/* We immediately read the usb and adapter status. We thus make sure
* only of USBINS/USBREM IRQ handlers are called */
if (pcf_int[0] & (PCF50633_INT1_USBINS | PCF50633_INT1_USBREM)) {
-@@ -443,7 +446,8 @@
- dev_dbg(pcf->dev, "pcf50633_irq\n");
-
- get_device(pcf->dev);
-- disable_irq(pcf->irq);
-+ disable_irq_nosync(pcf->irq);
-+
- schedule_work(&pcf->irq_work);
-
- return IRQ_HANDLED;
-@@ -482,13 +486,13 @@
+@@ -482,13 +485,13 @@ pcf50633_client_dev_register(struct pcf5
/* Make sure our interrupt handlers are not called
* henceforth */
/* Make sure our interrupt handlers are not called
* henceforth */
+@@ -523,12 +526,12 @@ out:
/* Write the saved mask registers */
ret = pcf50633_write_block(pcf, PCF50633_REG_INT1M,
/* Write the saved mask registers */
ret = pcf50633_write_block(pcf, PCF50633_REG_INT1M,
+@@ -625,6 +628,7 @@ static int __devinit pcf50633_probe(stru
ret = request_irq(client->irq, pcf50633_irq,
IRQF_TRIGGER_LOW, "pcf50633", pcf);
ret = request_irq(client->irq, pcf50633_irq,
IRQF_TRIGGER_LOW, "pcf50633", pcf);
+@@ -683,12 +687,12 @@ static struct i2c_device_id pcf50633_id_
static struct i2c_driver pcf50633_driver = {
.driver = {
.name = "pcf50633",
static struct i2c_driver pcf50633_driver = {
.driver = {
.name = "pcf50633",
};
static int __init pcf50633_init(void)
};
static int __init pcf50633_init(void)
-Index: linux-2.6.30-rc6/drivers/power/pcf50633-charger.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/power/pcf50633-charger.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/power/pcf50633-charger.c 2009-05-18 19:08:33.000000000 +0200
-@@ -36,6 +36,7 @@
+--- a/drivers/power/pcf50633-charger.c
++++ b/drivers/power/pcf50633-charger.c
+@@ -36,6 +36,7 @@ struct pcf50633_mbc {
struct power_supply usb;
struct power_supply adapter;
struct power_supply usb;
struct power_supply adapter;
struct delayed_work charging_restart_work;
};
struct delayed_work charging_restart_work;
};
+@@ -47,16 +48,21 @@ int pcf50633_mbc_usb_curlim_set(struct p
u8 bits;
int charging_start = 1;
u8 mbcs2, chgmod;
u8 bits;
int charging_start = 1;
u8 mbcs2, chgmod;
}
ret = pcf50633_reg_set_bit_mask(pcf, PCF50633_REG_MBCC7,
}
ret = pcf50633_reg_set_bit_mask(pcf, PCF50633_REG_MBCC7,
+@@ -66,7 +72,22 @@ int pcf50633_mbc_usb_curlim_set(struct p
else
dev_info(pcf->dev, "usb curlim to %d mA\n", ma);
else
dev_info(pcf->dev, "usb curlim to %d mA\n", ma);
mbcs2 = pcf50633_reg_read(pcf, PCF50633_REG_MBCS2);
chgmod = (mbcs2 & PCF50633_MBCS2_MBC_MASK);
mbcs2 = pcf50633_reg_read(pcf, PCF50633_REG_MBCS2);
chgmod = (mbcs2 & PCF50633_MBCS2_MBC_MASK);
+@@ -81,7 +102,7 @@ int pcf50633_mbc_usb_curlim_set(struct p
PCF50633_MBCC1_RESUME, PCF50633_MBCC1_RESUME);
mbc->usb_active = charging_start;
PCF50633_MBCC1_RESUME, PCF50633_MBCC1_RESUME);
mbc->usb_active = charging_start;
power_supply_changed(&mbc->usb);
return ret;
power_supply_changed(&mbc->usb);
return ret;
+@@ -156,9 +177,44 @@ static ssize_t set_usblim(struct device
static DEVICE_ATTR(usb_curlim, S_IRUGO | S_IWUSR, show_usblim, set_usblim);
static DEVICE_ATTR(usb_curlim, S_IRUGO | S_IWUSR, show_usblim, set_usblim);
+@@ -239,6 +295,7 @@ pcf50633_mbc_irq_handler(int irq, void *
power_supply_changed(&mbc->usb);
power_supply_changed(&mbc->adapter);
power_supply_changed(&mbc->usb);
power_supply_changed(&mbc->adapter);
if (mbc->pcf->pdata->mbc_event_callback)
mbc->pcf->pdata->mbc_event_callback(mbc->pcf, irq);
if (mbc->pcf->pdata->mbc_event_callback)
mbc->pcf->pdata->mbc_event_callback(mbc->pcf, irq);
+@@ -248,8 +305,7 @@ static int adapter_get_property(struct p
enum power_supply_property psp,
union power_supply_propval *val)
{
enum power_supply_property psp,
union power_supply_propval *val)
{
int ret = 0;
switch (psp) {
int ret = 0;
switch (psp) {
+@@ -269,10 +325,34 @@ static int usb_get_property(struct power
{
struct pcf50633_mbc *mbc = container_of(psy, struct pcf50633_mbc, usb);
int ret = 0;
{
struct pcf50633_mbc *mbc = container_of(psy, struct pcf50633_mbc, usb);
int ret = 0;
break;
default:
ret = -EINVAL;
break;
default:
ret = -EINVAL;
+@@ -337,6 +417,17 @@ static int __devinit pcf50633_mbc_probe(
mbc->usb.supplied_to = mbc->pcf->pdata->batteries;
mbc->usb.num_supplicants = mbc->pcf->pdata->num_batteries;
mbc->usb.supplied_to = mbc->pcf->pdata->batteries;
mbc->usb.num_supplicants = mbc->pcf->pdata->num_batteries;
ret = power_supply_register(&pdev->dev, &mbc->adapter);
if (ret) {
dev_err(mbc->pcf->dev, "failed to register adapter\n");
ret = power_supply_register(&pdev->dev, &mbc->adapter);
if (ret) {
dev_err(mbc->pcf->dev, "failed to register adapter\n");
+@@ -352,9 +443,15 @@ static int __devinit pcf50633_mbc_probe(
ret = sysfs_create_group(&pdev->dev.kobj, &mbc_attr_group);
if (ret)
dev_err(mbc->pcf->dev, "failed to create sysfs entries\n");
ret = sysfs_create_group(&pdev->dev.kobj, &mbc_attr_group);
if (ret)
dev_err(mbc->pcf->dev, "failed to create sysfs entries\n");
-Index: linux-2.6.30-rc6/drivers/rtc/rtc-pcf50633.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/rtc/rtc-pcf50633.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/rtc/rtc-pcf50633.c 2009-05-18 19:08:33.000000000 +0200
-@@ -58,6 +58,7 @@
+--- a/drivers/rtc/rtc-pcf50633.c
++++ b/drivers/rtc/rtc-pcf50633.c
+@@ -58,6 +58,7 @@ struct pcf50633_time {
struct pcf50633_rtc {
int alarm_enabled;
int second_enabled;
struct pcf50633_rtc {
int alarm_enabled;
int second_enabled;
struct pcf50633 *pcf;
struct rtc_device *rtc_dev;
struct pcf50633 *pcf;
struct rtc_device *rtc_dev;
+@@ -70,7 +71,7 @@ static void pcf2rtc_time(struct rtc_time
rtc->tm_hour = bcd2bin(pcf->time[PCF50633_TI_HOUR]);
rtc->tm_wday = bcd2bin(pcf->time[PCF50633_TI_WKDAY]);
rtc->tm_mday = bcd2bin(pcf->time[PCF50633_TI_DAY]);
rtc->tm_hour = bcd2bin(pcf->time[PCF50633_TI_HOUR]);
rtc->tm_wday = bcd2bin(pcf->time[PCF50633_TI_WKDAY]);
rtc->tm_mday = bcd2bin(pcf->time[PCF50633_TI_DAY]);
rtc->tm_year = bcd2bin(pcf->time[PCF50633_TI_YEAR]) + 100;
}
rtc->tm_year = bcd2bin(pcf->time[PCF50633_TI_YEAR]) + 100;
}
+@@ -81,7 +82,7 @@ static void rtc2pcf_time(struct pcf50633
pcf->time[PCF50633_TI_HOUR] = bin2bcd(rtc->tm_hour);
pcf->time[PCF50633_TI_WKDAY] = bin2bcd(rtc->tm_wday);
pcf->time[PCF50633_TI_DAY] = bin2bcd(rtc->tm_mday);
pcf->time[PCF50633_TI_HOUR] = bin2bcd(rtc->tm_hour);
pcf->time[PCF50633_TI_WKDAY] = bin2bcd(rtc->tm_wday);
pcf->time[PCF50633_TI_DAY] = bin2bcd(rtc->tm_mday);
pcf->time[PCF50633_TI_YEAR] = bin2bcd(rtc->tm_year % 100);
}
pcf->time[PCF50633_TI_YEAR] = bin2bcd(rtc->tm_year % 100);
}
+@@ -209,6 +210,7 @@ static int pcf50633_rtc_read_alarm(struc
rtc = dev_get_drvdata(dev);
alrm->enabled = rtc->alarm_enabled;
rtc = dev_get_drvdata(dev);
alrm->enabled = rtc->alarm_enabled;
ret = pcf50633_read_block(rtc->pcf, PCF50633_REG_RTCSCA,
PCF50633_TI_EXTENT, &pcf_tm.time[0]);
ret = pcf50633_read_block(rtc->pcf, PCF50633_REG_RTCSCA,
PCF50633_TI_EXTENT, &pcf_tm.time[0]);
+@@ -244,9 +246,12 @@ static int pcf50633_rtc_set_alarm(struct
/* Returns 0 on success */
ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA,
PCF50633_TI_EXTENT, &pcf_tm.time[0]);
/* Returns 0 on success */
ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA,
PCF50633_TI_EXTENT, &pcf_tm.time[0]);
+@@ -267,6 +272,7 @@ static void pcf50633_rtc_irq(int irq, vo
switch (irq) {
case PCF50633_IRQ_ALARM:
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
switch (irq) {
case PCF50633_IRQ_ALARM:
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
break;
case PCF50633_IRQ_SECOND:
rtc_update_irq(rtc->rtc_dev, 1, RTC_UF | RTC_IRQF);
break;
case PCF50633_IRQ_SECOND:
rtc_update_irq(rtc->rtc_dev, 1, RTC_UF | RTC_IRQF);
-Index: linux-2.6.30-rc6/include/linux/mfd/pcf50633/core.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/mfd/pcf50633/core.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/mfd/pcf50633/core.h 2009-05-18 19:08:33.000000000 +0200
-@@ -31,6 +31,8 @@
+--- a/include/linux/mfd/pcf50633/core.h
++++ b/include/linux/mfd/pcf50633/core.h
+@@ -31,6 +31,8 @@ struct pcf50633_platform_data {
int charging_restart_interval;
int charging_restart_interval;
/* Callbacks */
void (*probe_done)(struct pcf50633 *);
void (*mbc_event_callback)(struct pcf50633 *, int);
/* Callbacks */
void (*probe_done)(struct pcf50633 *);
void (*mbc_event_callback)(struct pcf50633 *, int);
+@@ -208,7 +210,8 @@ enum pcf50633_reg_int5 {
-Index: linux-2.6.30-rc6/drivers/input/misc/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/misc/Kconfig 2009-05-18 19:07:07.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/misc/Kconfig 2009-05-18 19:08:33.000000000 +0200
-@@ -220,6 +220,15 @@
+--- a/drivers/input/misc/Kconfig
++++ b/drivers/input/misc/Kconfig
+@@ -220,6 +220,15 @@ config HP_SDC_RTC
Say Y here if you want to support the built-in real time clock
of the HP SDC controller.
Say Y here if you want to support the built-in real time clock
of the HP SDC controller.
config INPUT_PCF50633_PMU
tristate "PCF50633 PMU events"
depends on MFD_PCF50633
config INPUT_PCF50633_PMU
tristate "PCF50633 PMU events"
depends on MFD_PCF50633
-Index: linux-2.6.30-rc6/drivers/input/misc/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/input/misc/Makefile 2009-05-18 19:07:07.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/input/misc/Makefile 2009-05-18 19:08:33.000000000 +0200
-@@ -25,3 +25,4 @@
+--- a/drivers/input/misc/Makefile
++++ b/drivers/input/misc/Makefile
+@@ -25,3 +25,4 @@ obj-$(CONFIG_INPUT_UINPUT) += uinput.o
obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_INPUT_GPIO_BUTTONS) += gpio_buttons.o
obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_INPUT_GPIO_BUTTONS) += gpio_buttons.o
-Index: linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/mach-s3c2410/include/mach/spi-gpio.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/mach-s3c2410/include/mach/spi-gpio.h 2009-05-18 19:08:34.000000000 +0200
-@@ -21,7 +21,8 @@
+--- a/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
++++ b/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
+@@ -21,7 +21,8 @@ struct s3c2410_spigpio_info {
int num_chipselect;
int bus_num;
int num_chipselect;
int bus_num;
-Index: linux-2.6.30-rc6/drivers/spi/spi_bitbang.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/spi/spi_bitbang.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/spi/spi_bitbang.c 2009-05-18 19:08:34.000000000 +0200
-@@ -264,6 +264,123 @@
+--- a/drivers/spi/spi_bitbang.c
++++ b/drivers/spi/spi_bitbang.c
+@@ -264,6 +264,123 @@ static int spi_bitbang_bufs(struct spi_d
* Drivers can provide word-at-a-time i/o primitives, or provide
* transfer-at-a-time ones to leverage dma or fifo hardware.
*/
* Drivers can provide word-at-a-time i/o primitives, or provide
* transfer-at-a-time ones to leverage dma or fifo hardware.
*/
static void bitbang_work(struct work_struct *work)
{
struct spi_bitbang *bitbang =
static void bitbang_work(struct work_struct *work)
{
struct spi_bitbang *bitbang =
+@@ -274,120 +391,13 @@ static void bitbang_work(struct work_str
bitbang->busy = 1;
while (!list_empty(&bitbang->queue)) {
struct spi_message *m;
bitbang->busy = 1;
while (!list_empty(&bitbang->queue)) {
struct spi_message *m;
spin_lock_irqsave(&bitbang->lock, flags);
}
bitbang->busy = 0;
spin_lock_irqsave(&bitbang->lock, flags);
}
bitbang->busy = 0;
+@@ -459,6 +469,9 @@ int spi_bitbang_start(struct spi_bitbang
if (!bitbang->master->transfer)
bitbang->master->transfer = spi_bitbang_transfer;
if (!bitbang->master->transfer)
bitbang->master->transfer = spi_bitbang_transfer;
if (!bitbang->txrx_bufs) {
bitbang->use_dma = 0;
bitbang->txrx_bufs = spi_bitbang_bufs;
if (!bitbang->txrx_bufs) {
bitbang->use_dma = 0;
bitbang->txrx_bufs = spi_bitbang_bufs;
-Index: linux-2.6.30-rc6/drivers/spi/spi_s3c24xx_gpio.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/spi/spi_s3c24xx_gpio.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/spi/spi_s3c24xx_gpio.c 2009-05-18 19:08:34.000000000 +0200
-@@ -91,7 +91,7 @@
+--- a/drivers/spi/spi_s3c24xx_gpio.c
++++ b/drivers/spi/spi_s3c24xx_gpio.c
+@@ -91,7 +91,7 @@ static void s3c2410_spigpio_chipselect(s
struct s3c2410_spigpio *sg = spidev_to_sg(dev);
if (sg->info && sg->info->chip_select)
struct s3c2410_spigpio *sg = spidev_to_sg(dev);
if (sg->info && sg->info->chip_select)
}
static int s3c2410_spigpio_probe(struct platform_device *dev)
}
static int s3c2410_spigpio_probe(struct platform_device *dev)
+@@ -112,14 +112,17 @@ static int s3c2410_spigpio_probe(struct
platform_set_drvdata(dev, sp);
platform_set_drvdata(dev, sp);
sp->bitbang.txrx_word[SPI_MODE_0] = s3c2410_spigpio_txrx_mode0;
sp->bitbang.txrx_word[SPI_MODE_1] = s3c2410_spigpio_txrx_mode1;
sp->bitbang.txrx_word[SPI_MODE_0] = s3c2410_spigpio_txrx_mode0;
sp->bitbang.txrx_word[SPI_MODE_1] = s3c2410_spigpio_txrx_mode1;
-Index: linux-2.6.30-rc6/include/linux/mmc/core.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/mmc/core.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/mmc/core.h 2009-05-18 19:08:34.000000000 +0200
-@@ -129,6 +129,8 @@
+--- a/include/linux/mmc/core.h
++++ b/include/linux/mmc/core.h
+@@ -129,6 +129,8 @@ struct mmc_request {
struct mmc_host;
struct mmc_card;
struct mmc_host;
struct mmc_card;
extern void mmc_wait_for_req(struct mmc_host *, struct mmc_request *);
extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int);
extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
extern void mmc_wait_for_req(struct mmc_host *, struct mmc_request *);
extern int mmc_wait_for_cmd(struct mmc_host *, struct mmc_command *, int);
extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
-Index: linux-2.6.30-rc6/include/linux/mmc/sdio_ids.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/mmc/sdio_ids.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/mmc/sdio_ids.h 2009-05-18 19:08:34.000000000 +0200
+--- a/include/linux/mmc/sdio_ids.h
++++ b/include/linux/mmc/sdio_ids.h
@@ -25,5 +25,9 @@
#define SDIO_VENDOR_ID_MARVELL 0x02df
@@ -25,5 +25,9 @@
#define SDIO_VENDOR_ID_MARVELL 0x02df
+#define SDIO_DEVICE_ID_ATHEROS_AR6002 0x0200
#endif
+#define SDIO_DEVICE_ID_ATHEROS_AR6002 0x0200
#endif
-Index: linux-2.6.30-rc6/include/linux/spi/spi_bitbang.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/spi/spi_bitbang.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/spi/spi_bitbang.h 2009-05-18 19:08:34.000000000 +0200
-@@ -31,6 +31,9 @@
+--- a/include/linux/spi/spi_bitbang.h
++++ b/include/linux/spi/spi_bitbang.h
+@@ -31,6 +31,9 @@ struct spi_bitbang {
u8 use_dma;
u8 flags; /* extra spi->mode support */
u8 use_dma;
u8 flags; /* extra spi->mode support */
struct spi_master *master;
/* setup_transfer() changes clock and/or wordsize to match settings
struct spi_master *master;
/* setup_transfer() changes clock and/or wordsize to match settings
+@@ -62,6 +65,8 @@ extern void spi_bitbang_cleanup(struct s
extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m);
extern int spi_bitbang_setup_transfer(struct spi_device *spi,
struct spi_transfer *t);
extern int spi_bitbang_transfer(struct spi_device *spi, struct spi_message *m);
extern int spi_bitbang_setup_transfer(struct spi_device *spi,
struct spi_transfer *t);
/* start or stop queue processing */
extern int spi_bitbang_start(struct spi_bitbang *spi);
/* start or stop queue processing */
extern int spi_bitbang_start(struct spi_bitbang *spi);
-Index: linux-2.6.30-rc6/include/linux/spi/spi.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/spi/spi.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/spi/spi.h 2009-05-18 19:08:34.000000000 +0200
-@@ -204,7 +204,6 @@
+--- a/include/linux/spi/spi.h
++++ b/include/linux/spi/spi.h
+@@ -204,7 +204,6 @@ static inline void spi_unregister_driver
* SPI slaves, and are numbered from zero to num_chipselects.
* each slave has a chipselect signal, but it's common that not
* every chipselect is connected to a slave.
* SPI slaves, and are numbered from zero to num_chipselects.
* each slave has a chipselect signal, but it's common that not
* every chipselect is connected to a slave.
* @setup: updates the device mode and clocking records used by a
* device's SPI controller; protocol code may call this. This
* must fail if an unrecognized or unsupported mode is requested.
* @setup: updates the device mode and clocking records used by a
* device's SPI controller; protocol code may call this. This
* must fail if an unrecognized or unsupported mode is requested.
+@@ -240,17 +239,7 @@ struct spi_master {
int (*setup)(struct spi_device *spi);
/* bidirectional bulk transfers
int (*setup)(struct spi_device *spi);
/* bidirectional bulk transfers
+@@ -275,6 +264,13 @@ struct spi_master {
int (*transfer)(struct spi_device *spi,
struct spi_message *mesg);
int (*transfer)(struct spi_device *spi,
struct spi_message *mesg);
/* called on release() to free memory provided by spi_master */
void (*cleanup)(struct spi_device *spi);
};
/* called on release() to free memory provided by spi_master */
void (*cleanup)(struct spi_device *spi);
};
+@@ -584,6 +580,29 @@ spi_async(struct spi_device *spi, struct
return spi->master->transfer(spi, message);
}
return spi->master->transfer(spi, message);
}
-Index: linux-2.6.30-rc6/arch/arm/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/Kconfig 2009-05-18 19:08:34.000000000 +0200
-@@ -1401,6 +1401,8 @@
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -1401,6 +1401,8 @@ source "drivers/usb/Kconfig"
source "drivers/uwb/Kconfig"
source "drivers/uwb/Kconfig"
source "drivers/mmc/Kconfig"
source "drivers/memstick/Kconfig"
source "drivers/mmc/Kconfig"
source "drivers/memstick/Kconfig"
-Index: linux-2.6.30-rc6/drivers/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/Makefile 2009-05-18 19:08:34.000000000 +0200
-@@ -91,6 +91,7 @@
+--- a/drivers/Makefile
++++ b/drivers/Makefile
+@@ -91,6 +91,7 @@ obj-$(CONFIG_CPU_IDLE) += cpuidle/
obj-y += idle/
obj-$(CONFIG_MMC) += mmc/
obj-$(CONFIG_MEMSTICK) += memstick/
obj-y += idle/
obj-$(CONFIG_MMC) += mmc/
obj-$(CONFIG_MEMSTICK) += memstick/
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/time.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/time.c 2009-05-18 19:08:34.000000000 +0200
+--- /dev/null
++++ b/arch/arm/plat-s3c24xx/time.c
@@ -0,0 +1,480 @@
+/* linux/arch/arm/plat-s3c24xx/time.c
+ *
@@ -0,0 +1,480 @@
+/* linux/arch/arm/plat-s3c24xx/time.c
+ *
-Index: linux-2.6.30-rc6/include/linux/vt.h
-===================================================================
---- linux-2.6.30-rc6.orig/include/linux/vt.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/include/linux/vt.h 2009-05-18 19:08:35.000000000 +0200
-@@ -18,8 +18,19 @@
+--- a/include/linux/vt.h
++++ b/include/linux/vt.h
+@@ -18,8 +18,19 @@ extern int unregister_vt_notifier(struct
* resizing).
*/
#define MIN_NR_CONSOLES 1 /* must be at least 1 */
* resizing).
*/
#define MIN_NR_CONSOLES 1 /* must be at least 1 */
/* Note: the ioctl VT_GETSTATE does not work for
consoles 16 and higher (since it returns a short) */
/* Note: the ioctl VT_GETSTATE does not work for
consoles 16 and higher (since it returns a short) */
-Index: linux-2.6.30-rc6/drivers/char/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/char/Kconfig 2009-05-18 19:07:07.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/char/Kconfig 2009-05-18 19:08:35.000000000 +0200
-@@ -66,6 +66,18 @@
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -66,6 +66,18 @@ config VT_CONSOLE
-Index: linux-2.6.30-rc6/sound/soc/s3c24xx/Kconfig
-===================================================================
---- linux-2.6.30-rc6.orig/sound/soc/s3c24xx/Kconfig 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/sound/soc/s3c24xx/Kconfig 2009-05-18 19:08:35.000000000 +0200
-@@ -42,10 +42,20 @@
+--- a/sound/soc/s3c24xx/Kconfig
++++ b/sound/soc/s3c24xx/Kconfig
+@@ -42,10 +42,20 @@ config SND_S3C24XX_SOC_JIVE_WM8750
tristate "SoC I2S Audio support for Jive"
depends on SND_S3C24XX_SOC && MACH_JIVE
select SND_SOC_WM8750
tristate "SoC I2S Audio support for Jive"
depends on SND_S3C24XX_SOC && MACH_JIVE
select SND_SOC_WM8750
config SND_S3C24XX_SOC_SMDK2443_WM9710
tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
depends on SND_S3C24XX_SOC && MACH_SMDK2443
config SND_S3C24XX_SOC_SMDK2443_WM9710
tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
depends on SND_S3C24XX_SOC && MACH_SMDK2443
-Index: linux-2.6.30-rc6/sound/soc/s3c24xx/Makefile
-===================================================================
---- linux-2.6.30-rc6.orig/sound/soc/s3c24xx/Makefile 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/sound/soc/s3c24xx/Makefile 2009-05-18 19:08:35.000000000 +0200
-@@ -19,9 +19,11 @@
+--- a/sound/soc/s3c24xx/Makefile
++++ b/sound/soc/s3c24xx/Makefile
+@@ -19,9 +19,11 @@ snd-soc-neo1973-wm8753-objs := neo1973_w
snd-soc-smdk2443-wm9710-objs := smdk2443_wm9710.o
snd-soc-ln2440sbc-alc650-objs := ln2440sbc_alc650.o
snd-soc-s3c24xx-uda134x-objs := s3c24xx_uda134x.o
snd-soc-smdk2443-wm9710-objs := smdk2443_wm9710.o
snd-soc-ln2440sbc-alc650-objs := ln2440sbc_alc650.o
snd-soc-s3c24xx-uda134x-objs := s3c24xx_uda134x.o
obj-$(CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
obj-$(CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X) += snd-soc-s3c24xx-uda134x.o
+obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753) += snd-soc-neo1973-gta02-wm8753.o
obj-$(CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
obj-$(CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X) += snd-soc-s3c24xx-uda134x.o
+obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753) += snd-soc-neo1973-gta02-wm8753.o
-Index: linux-2.6.30-rc6/sound/soc/s3c24xx/s3c24xx-i2s.c
-===================================================================
---- linux-2.6.30-rc6.orig/sound/soc/s3c24xx/s3c24xx-i2s.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/sound/soc/s3c24xx/s3c24xx-i2s.c 2009-05-18 19:08:35.000000000 +0200
-@@ -284,11 +284,14 @@
+--- a/sound/soc/s3c24xx/s3c24xx-i2s.c
++++ b/sound/soc/s3c24xx/s3c24xx-i2s.c
+@@ -284,11 +284,14 @@ static int s3c24xx_i2s_trigger(struct sn
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
s3c24xx_snd_rxctrl(1);
if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
s3c24xx_snd_rxctrl(1);
+@@ -308,7 +311,6 @@ static int s3c24xx_i2s_trigger(struct sn
-Index: linux-2.6.30-rc6/sound/soc/s3c24xx/s3c24xx-pcm.c
-===================================================================
---- linux-2.6.30-rc6.orig/sound/soc/s3c24xx/s3c24xx-pcm.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/sound/soc/s3c24xx/s3c24xx-pcm.c 2009-05-18 19:08:35.000000000 +0200
-@@ -75,11 +75,18 @@
+--- a/sound/soc/s3c24xx/s3c24xx-pcm.c
++++ b/sound/soc/s3c24xx/s3c24xx-pcm.c
+@@ -75,11 +75,18 @@ static void s3c24xx_pcm_enqueue(struct s
{
struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
dma_addr_t pos = prtd->dma_pos;
{
struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
dma_addr_t pos = prtd->dma_pos;
unsigned long len = prtd->dma_period;
pr_debug("dma_loaded: %d\n", prtd->dma_loaded);
unsigned long len = prtd->dma_period;
pr_debug("dma_loaded: %d\n", prtd->dma_loaded);
+@@ -123,7 +130,7 @@ static void s3c24xx_audio_buffdone(struc
snd_pcm_period_elapsed(substream);
spin_lock(&prtd->lock);
snd_pcm_period_elapsed(substream);
spin_lock(&prtd->lock);
prtd->dma_loaded--;
s3c24xx_pcm_enqueue(substream);
}
prtd->dma_loaded--;
s3c24xx_pcm_enqueue(substream);
}
+@@ -164,6 +171,11 @@ static int s3c24xx_pcm_hw_params(struct
printk(KERN_ERR "failed to get dma channel\n");
return ret;
}
printk(KERN_ERR "failed to get dma channel\n");
return ret;
}
}
s3c2410_dma_set_buffdone_fn(prtd->params->channel,
}
s3c2410_dma_set_buffdone_fn(prtd->params->channel,
+@@ -218,24 +230,17 @@ static int s3c24xx_pcm_prepare(struct sn
* sync to pclk, half-word transfers to the IIS-FIFO. */
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
s3c2410_dma_devconfig(prtd->params->channel,
* sync to pclk, half-word transfers to the IIS-FIFO. */
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
s3c2410_dma_devconfig(prtd->params->channel,
-Index: linux-2.6.30-rc6/drivers/usb/gadget/s3c2410_udc.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/usb/gadget/s3c2410_udc.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/usb/gadget/s3c2410_udc.c 2009-05-18 19:08:35.000000000 +0200
-@@ -74,6 +74,7 @@
+--- a/drivers/usb/gadget/s3c2410_udc.c
++++ b/drivers/usb/gadget/s3c2410_udc.c
+@@ -74,6 +74,7 @@ static void __iomem *base_addr;
static u64 rsrc_start;
static u64 rsrc_len;
static struct dentry *s3c2410_udc_debugfs_root;
static u64 rsrc_start;
static u64 rsrc_len;
static struct dentry *s3c2410_udc_debugfs_root;
static inline u32 udc_read(u32 reg)
{
static inline u32 udc_read(u32 reg)
{
+@@ -134,6 +135,8 @@ static int dprintk(int level, const char
static int s3c2410_udc_debugfs_seq_show(struct seq_file *m, void *p)
{
u32 addr_reg,pwr_reg,ep_int_reg,usb_int_reg;
static int s3c2410_udc_debugfs_seq_show(struct seq_file *m, void *p)
{
u32 addr_reg,pwr_reg,ep_int_reg,usb_int_reg;
+@@ -197,6 +200,7 @@ static const struct file_operations s3c2
.release = single_release,
.owner = THIS_MODULE,
};
.release = single_release,
.owner = THIS_MODULE,
};
+@@ -843,6 +847,7 @@ static void s3c2410_udc_handle_ep(struct
if (likely (!list_empty(&ep->queue)))
req = list_entry(ep->queue.next,
struct s3c2410_request, queue);
if (likely (!list_empty(&ep->queue)))
req = list_entry(ep->queue.next,
struct s3c2410_request, queue);
+@@ -882,6 +887,8 @@ static void s3c2410_udc_handle_ep(struct
if ((ep_csr1 & S3C2410_UDC_OCSR1_PKTRDY) && req) {
s3c2410_udc_read_fifo(ep,req);
if ((ep_csr1 & S3C2410_UDC_OCSR1_PKTRDY) && req) {
s3c2410_udc_read_fifo(ep,req);
+@@ -1520,6 +1527,20 @@ static irqreturn_t s3c2410_udc_vbus_irq(
static int s3c2410_vbus_draw(struct usb_gadget *_gadget, unsigned ma)
{
dprintk(DEBUG_NORMAL, "%s()\n", __func__);
static int s3c2410_vbus_draw(struct usb_gadget *_gadget, unsigned ma)
{
dprintk(DEBUG_NORMAL, "%s()\n", __func__);
+@@ -1677,6 +1698,11 @@ int usb_gadget_register_driver(struct us
/* Enable udc */
s3c2410_udc_enable(udc);
/* Enable udc */
s3c2410_udc_enable(udc);
+@@ -1707,6 +1733,7 @@ int usb_gadget_unregister_driver(struct
if (driver->disconnect)
driver->disconnect(&udc->gadget);
if (driver->disconnect)
driver->disconnect(&udc->gadget);
device_del(&udc->gadget.dev);
udc->driver = NULL;
device_del(&udc->gadget.dev);
udc->driver = NULL;
+@@ -1893,10 +1920,16 @@ static int s3c2410_udc_probe(struct plat
}
dev_dbg(dev, "got irq %i\n", irq);
}
dev_dbg(dev, "got irq %i\n", irq);
if (s3c2410_udc_debugfs_root) {
udc->regs_info = debugfs_create_file("registers", S_IRUGO,
s3c2410_udc_debugfs_root,
if (s3c2410_udc_debugfs_root) {
udc->regs_info = debugfs_create_file("registers", S_IRUGO,
s3c2410_udc_debugfs_root,
+@@ -1904,6 +1937,7 @@ static int s3c2410_udc_probe(struct plat
if (!udc->regs_info)
dev_warn(dev, "debugfs file creation failed\n");
}
if (!udc->regs_info)
dev_warn(dev, "debugfs file creation failed\n");
}
dev_dbg(dev, "probe ok\n");
dev_dbg(dev, "probe ok\n");
+@@ -1939,6 +1973,8 @@ static int s3c2410_udc_remove(struct pla
if (udc_info && udc_info->vbus_pin > 0) {
irq = gpio_to_irq(udc_info->vbus_pin);
free_irq(irq, udc);
if (udc_info && udc_info->vbus_pin > 0) {
irq = gpio_to_irq(udc_info->vbus_pin);
free_irq(irq, udc);
}
free_irq(IRQ_USBD, udc);
}
free_irq(IRQ_USBD, udc);
+@@ -2013,12 +2049,14 @@ static int __init udc_init(void)
dprintk(DEBUG_NORMAL, "%s: version %s\n", gadget_name, DRIVER_VERSION);
dprintk(DEBUG_NORMAL, "%s: version %s\n", gadget_name, DRIVER_VERSION);
retval = platform_driver_register(&udc_driver_2410);
if (retval)
retval = platform_driver_register(&udc_driver_2410);
if (retval)
-Index: linux-2.6.30-rc6/drivers/usb/host/ohci-s3c2410.c
-===================================================================
---- linux-2.6.30-rc6.orig/drivers/usb/host/ohci-s3c2410.c 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/drivers/usb/host/ohci-s3c2410.c 2009-05-18 19:08:35.000000000 +0200
+--- a/drivers/usb/host/ohci-s3c2410.c
++++ b/drivers/usb/host/ohci-s3c2410.c
@@ -21,6 +21,8 @@
#include <linux/platform_device.h>
@@ -21,6 +21,8 @@
#include <linux/platform_device.h>
#include <plat/usb-control.h>
#define valid_port(idx) ((idx) == 1 || (idx) == 2)
#include <plat/usb-control.h>
#define valid_port(idx) ((idx) == 1 || (idx) == 2)
+@@ -306,6 +308,42 @@ static void s3c2410_hcd_oc(struct s3c241
local_irq_restore(flags);
}
local_irq_restore(flags);
}
/* may be called without controller electrically present */
/* may be called with controller, bus, and devices active */
/* may be called without controller electrically present */
/* may be called with controller, bus, and devices active */
+@@ -486,15 +524,23 @@ static int ohci_hcd_s3c2410_drv_remove(s
-Index: linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/udc.h
-===================================================================
---- linux-2.6.30-rc6.orig/arch/arm/plat-s3c24xx/include/plat/udc.h 2009-05-16 06:12:57.000000000 +0200
-+++ linux-2.6.30-rc6/arch/arm/plat-s3c24xx/include/plat/udc.h 2009-05-18 19:08:35.000000000 +0200
-@@ -27,6 +27,7 @@
+--- a/arch/arm/plat-s3c24xx/include/plat/udc.h
++++ b/arch/arm/plat-s3c24xx/include/plat/udc.h
+@@ -27,6 +27,7 @@ enum s3c2410_udc_cmd_e {
struct s3c2410_udc_mach_info {
void (*udc_command)(enum s3c2410_udc_cmd_e);
void (*vbus_draw)(unsigned int ma);
struct s3c2410_udc_mach_info {
void (*udc_command)(enum s3c2410_udc_cmd_e);
void (*vbus_draw)(unsigned int ma);
ARCH:=mips
BOARD:=sibyte
BOARDNAME:=Broadcom/SiByte SB-1
ARCH:=mips
BOARD:=sibyte
BOARDNAME:=Broadcom/SiByte SB-1
+FEATURES:=fpu
+CFLAGS:=-Os -pipe -march=sb1 -funit-at-a-time
-LINUX_VERSION:=2.6.30-rc6
+LINUX_VERSION:=2.6.30-rc7
include $(INCLUDE_DIR)/target.mk
include $(INCLUDE_DIR)/target.mk