mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-26 01:33:20 +02:00
[rdc] panic on unrecovered NMI, thanks rtz2
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21232 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
19100adc52
commit
f024fd0c2a
@ -11,11 +11,9 @@ Changes from v2:
|
|||||||
- removed pci_dev accessors
|
- removed pci_dev accessors
|
||||||
- use DEFINE_PCI_DEVICE_TABLE
|
- use DEFINE_PCI_DEVICE_TABLE
|
||||||
|
|
||||||
Index: linux-2.6.30.10/drivers/mfd/Kconfig
|
--- a/drivers/mfd/Kconfig
|
||||||
===================================================================
|
+++ b/drivers/mfd/Kconfig
|
||||||
--- linux-2.6.30.10.orig/drivers/mfd/Kconfig 2010-04-28 10:48:54.000000000 +0200
|
@@ -241,6 +241,15 @@ config PCF50633_GPIO
|
||||||
+++ linux-2.6.30.10/drivers/mfd/Kconfig 2010-04-28 10:49:44.000000000 +0200
|
|
||||||
@@ -241,6 +241,15 @@
|
|
||||||
Say yes here if you want to include support GPIO for pins on
|
Say yes here if you want to include support GPIO for pins on
|
||||||
the PCF50633 chip.
|
the PCF50633 chip.
|
||||||
|
|
||||||
@ -31,11 +29,9 @@ Index: linux-2.6.30.10/drivers/mfd/Kconfig
|
|||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Multimedia Capabilities Port drivers"
|
menu "Multimedia Capabilities Port drivers"
|
||||||
Index: linux-2.6.30.10/drivers/mfd/Makefile
|
--- a/drivers/mfd/Makefile
|
||||||
===================================================================
|
+++ b/drivers/mfd/Makefile
|
||||||
--- linux-2.6.30.10.orig/drivers/mfd/Makefile 2010-04-28 10:48:54.000000000 +0200
|
@@ -40,4 +40,6 @@ obj-$(CONFIG_PMIC_DA903X) += da903x.o
|
||||||
+++ linux-2.6.30.10/drivers/mfd/Makefile 2010-04-28 10:49:02.000000000 +0200
|
|
||||||
@@ -40,4 +40,6 @@
|
|
||||||
|
|
||||||
obj-$(CONFIG_MFD_PCF50633) += pcf50633-core.o
|
obj-$(CONFIG_MFD_PCF50633) += pcf50633-core.o
|
||||||
obj-$(CONFIG_PCF50633_ADC) += pcf50633-adc.o
|
obj-$(CONFIG_PCF50633_ADC) += pcf50633-adc.o
|
||||||
@ -44,10 +40,8 @@ Index: linux-2.6.30.10/drivers/mfd/Makefile
|
|||||||
+obj-$(CONFIG_PCF50633_GPIO) += pcf50633-gpio.o
|
+obj-$(CONFIG_PCF50633_GPIO) += pcf50633-gpio.o
|
||||||
+
|
+
|
||||||
+obj-$(CONFIG_MFD_RDC321X) += rdc321x-southbridge.o
|
+obj-$(CONFIG_MFD_RDC321X) += rdc321x-southbridge.o
|
||||||
Index: linux-2.6.30.10/drivers/mfd/rdc321x-southbridge.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/drivers/mfd/rdc321x-southbridge.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/drivers/mfd/rdc321x-southbridge.c 2010-04-28 10:49:02.000000000 +0200
|
|
||||||
@@ -0,0 +1,123 @@
|
@@ -0,0 +1,123 @@
|
||||||
+/*
|
+/*
|
||||||
+ * RDC321x MFD southbrige driver
|
+ * RDC321x MFD southbrige driver
|
||||||
@ -172,10 +166,8 @@ Index: linux-2.6.30.10/drivers/mfd/rdc321x-southbridge.c
|
|||||||
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
|
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
+MODULE_DESCRIPTION("RDC R-321x MFD southbridge driver");
|
+MODULE_DESCRIPTION("RDC R-321x MFD southbridge driver");
|
||||||
Index: linux-2.6.30.10/include/linux/mfd/rdc321x.h
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/include/linux/mfd/rdc321x.h
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/include/linux/mfd/rdc321x.h 2010-04-28 10:49:02.000000000 +0200
|
|
||||||
@@ -0,0 +1,26 @@
|
@@ -0,0 +1,26 @@
|
||||||
+#ifndef __RDC321X_MFD_H
|
+#ifndef __RDC321X_MFD_H
|
||||||
+#define __RDC321X_MFD_H
|
+#define __RDC321X_MFD_H
|
||||||
|
@ -8,11 +8,9 @@ Changes from v2:
|
|||||||
- use the pci_dev pointer passed as platform data
|
- use the pci_dev pointer passed as platform data
|
||||||
- replaced rdc321x_pci_{read,write}
|
- replaced rdc321x_pci_{read,write}
|
||||||
|
|
||||||
Index: linux-2.6.30.10/drivers/gpio/Kconfig
|
--- a/drivers/gpio/Kconfig
|
||||||
===================================================================
|
+++ b/drivers/gpio/Kconfig
|
||||||
--- linux-2.6.30.10.orig/drivers/gpio/Kconfig 2009-12-04 07:00:07.000000000 +0100
|
@@ -161,6 +161,14 @@ config GPIO_BT8XX
|
||||||
+++ linux-2.6.30.10/drivers/gpio/Kconfig 2010-04-28 10:16:52.000000000 +0200
|
|
||||||
@@ -161,6 +161,14 @@
|
|
||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
@ -27,19 +25,15 @@ Index: linux-2.6.30.10/drivers/gpio/Kconfig
|
|||||||
comment "SPI GPIO expanders:"
|
comment "SPI GPIO expanders:"
|
||||||
|
|
||||||
config GPIO_MAX7301
|
config GPIO_MAX7301
|
||||||
Index: linux-2.6.30.10/drivers/gpio/Makefile
|
--- a/drivers/gpio/Makefile
|
||||||
===================================================================
|
+++ b/drivers/gpio/Makefile
|
||||||
--- linux-2.6.30.10.orig/drivers/gpio/Makefile 2009-12-04 07:00:07.000000000 +0100
|
@@ -12,3 +12,4 @@ obj-$(CONFIG_GPIO_PCF857X) += pcf857x.o
|
||||||
+++ linux-2.6.30.10/drivers/gpio/Makefile 2010-04-28 10:17:13.000000000 +0200
|
|
||||||
@@ -12,3 +12,4 @@
|
|
||||||
obj-$(CONFIG_GPIO_TWL4030) += twl4030-gpio.o
|
obj-$(CONFIG_GPIO_TWL4030) += twl4030-gpio.o
|
||||||
obj-$(CONFIG_GPIO_XILINX) += xilinx_gpio.o
|
obj-$(CONFIG_GPIO_XILINX) += xilinx_gpio.o
|
||||||
obj-$(CONFIG_GPIO_BT8XX) += bt8xxgpio.o
|
obj-$(CONFIG_GPIO_BT8XX) += bt8xxgpio.o
|
||||||
+obj-$(CONFIG_GPIO_RDC321X) += rdc321x-gpio.o
|
+obj-$(CONFIG_GPIO_RDC321X) += rdc321x-gpio.o
|
||||||
Index: linux-2.6.30.10/drivers/gpio/rdc321x-gpio.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/drivers/gpio/rdc321x-gpio.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/drivers/gpio/rdc321x-gpio.c 2010-04-28 10:16:52.000000000 +0200
|
|
||||||
@@ -0,0 +1,245 @@
|
@@ -0,0 +1,245 @@
|
||||||
+/*
|
+/*
|
||||||
+ * RDC321x GPIO driver
|
+ * RDC321x GPIO driver
|
||||||
|
@ -10,10 +10,8 @@ Changes from v2:
|
|||||||
- replaced rdc321x_pci_{read,write}
|
- replaced rdc321x_pci_{read,write}
|
||||||
- use the pci_dev pointer passed as platform_data
|
- use the pci_dev pointer passed as platform_data
|
||||||
|
|
||||||
Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
--- a/drivers/watchdog/rdc321x_wdt.c
|
||||||
===================================================================
|
+++ b/drivers/watchdog/rdc321x_wdt.c
|
||||||
--- linux-2.6.30.10.orig/drivers/watchdog/rdc321x_wdt.c 2009-12-04 07:00:07.000000000 +0100
|
|
||||||
+++ linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c 2010-04-28 10:17:46.000000000 +0200
|
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* RDC321x watchdog driver
|
* RDC321x watchdog driver
|
||||||
@ -33,7 +31,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
|
|
||||||
#define RDC_WDT_MASK 0x80000000 /* Mask */
|
#define RDC_WDT_MASK 0x80000000 /* Mask */
|
||||||
#define RDC_WDT_EN 0x00800000 /* Enable bit */
|
#define RDC_WDT_EN 0x00800000 /* Enable bit */
|
||||||
@@ -63,6 +62,8 @@
|
@@ -63,6 +62,8 @@ static struct {
|
||||||
int default_ticks;
|
int default_ticks;
|
||||||
unsigned long inuse;
|
unsigned long inuse;
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
@ -42,7 +40,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
} rdc321x_wdt_device;
|
} rdc321x_wdt_device;
|
||||||
|
|
||||||
/* generic helper functions */
|
/* generic helper functions */
|
||||||
@@ -70,14 +71,18 @@
|
@@ -70,14 +71,18 @@ static struct {
|
||||||
static void rdc321x_wdt_trigger(unsigned long unused)
|
static void rdc321x_wdt_trigger(unsigned long unused)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
@ -63,7 +61,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
||||||
|
|
||||||
/* requeue?? */
|
/* requeue?? */
|
||||||
@@ -105,10 +110,13 @@
|
@@ -105,10 +110,13 @@ static void rdc321x_wdt_start(void)
|
||||||
|
|
||||||
/* Clear the timer */
|
/* Clear the timer */
|
||||||
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
||||||
@ -79,7 +77,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
||||||
|
|
||||||
mod_timer(&rdc321x_wdt_device.timer,
|
mod_timer(&rdc321x_wdt_device.timer,
|
||||||
@@ -148,7 +156,7 @@
|
@@ -148,7 +156,7 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
unsigned long arg)
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
@ -88,7 +86,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
static struct watchdog_info ident = {
|
static struct watchdog_info ident = {
|
||||||
.options = WDIOF_CARDRESET,
|
.options = WDIOF_CARDRESET,
|
||||||
.identity = "RDC321x WDT",
|
.identity = "RDC321x WDT",
|
||||||
@@ -162,9 +170,10 @@
|
@@ -162,9 +170,10 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
case WDIOC_GETSTATUS:
|
case WDIOC_GETSTATUS:
|
||||||
/* Read the value from the DATA register */
|
/* Read the value from the DATA register */
|
||||||
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
||||||
@ -101,7 +99,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
break;
|
break;
|
||||||
case WDIOC_GETSUPPORT:
|
case WDIOC_GETSUPPORT:
|
||||||
@@ -219,17 +228,35 @@
|
@@ -219,17 +228,35 @@ static struct miscdevice rdc321x_wdt_mis
|
||||||
static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
|
static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
@ -139,7 +137,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
|
|
||||||
init_completion(&rdc321x_wdt_device.stop);
|
init_completion(&rdc321x_wdt_device.stop);
|
||||||
rdc321x_wdt_device.queue = 0;
|
rdc321x_wdt_device.queue = 0;
|
||||||
@@ -240,7 +267,7 @@
|
@@ -240,7 +267,7 @@ static int __devinit rdc321x_wdt_probe(s
|
||||||
|
|
||||||
rdc321x_wdt_device.default_ticks = ticks;
|
rdc321x_wdt_device.default_ticks = ticks;
|
||||||
|
|
||||||
|
@ -3,9 +3,6 @@ the southbridge.
|
|||||||
|
|
||||||
Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||||
---
|
---
|
||||||
diff --git a/arch/x86/include/asm/rdc321x_defs.h b/arch/x86/include/asm/rdc321x_defs.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index c8e9c8b..0000000
|
|
||||||
--- a/arch/x86/include/asm/rdc321x_defs.h
|
--- a/arch/x86/include/asm/rdc321x_defs.h
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,12 +0,0 @@
|
@@ -1,12 +0,0 @@
|
||||||
@ -21,6 +18,3 @@ index c8e9c8b..0000000
|
|||||||
-#define RDC321X_GPIO_DATA_REG2 0x88
|
-#define RDC321X_GPIO_DATA_REG2 0x88
|
||||||
-
|
-
|
||||||
-#define RDC321X_MAX_GPIO 58
|
-#define RDC321X_MAX_GPIO 58
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/scripts/Makefile.lib 2009-11-06 08:55:20.000000000 +0100
|
--- a/scripts/Makefile.lib
|
||||||
+++ b/scripts/Makefile.lib 2009-11-06 09:08:45.000000000 +0100
|
+++ b/scripts/Makefile.lib
|
||||||
@@ -204,4 +204,4 @@
|
@@ -204,4 +204,4 @@ cmd_bzip2 = (bzip2 -9 < $< && $(size_app
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
quiet_cmd_lzma = LZMA $@
|
quiet_cmd_lzma = LZMA $@
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
Index: linux-2.6.30.10/drivers/mtd/mtdblock.c
|
--- a/drivers/mtd/mtdblock.c
|
||||||
===================================================================
|
+++ b/drivers/mtd/mtdblock.c
|
||||||
--- linux-2.6.30.10.orig/drivers/mtd/mtdblock.c 2010-03-19 00:17:37.000000000 +0100
|
@@ -45,7 +45,7 @@ static void erase_callback(struct erase_
|
||||||
+++ linux-2.6.30.10/drivers/mtd/mtdblock.c 2010-03-19 00:17:54.000000000 +0100
|
|
||||||
@@ -45,7 +45,7 @@
|
|
||||||
wake_up(wait_q);
|
wake_up(wait_q);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11,11 +9,9 @@ Index: linux-2.6.30.10/drivers/mtd/mtdblock.c
|
|||||||
int len, const char *buf)
|
int len, const char *buf)
|
||||||
{
|
{
|
||||||
struct erase_info erase;
|
struct erase_info erase;
|
||||||
Index: linux-2.6.30.10/include/linux/mtd/mtd.h
|
--- a/include/linux/mtd/mtd.h
|
||||||
===================================================================
|
+++ b/include/linux/mtd/mtd.h
|
||||||
--- linux-2.6.30.10.orig/include/linux/mtd/mtd.h 2010-03-19 00:17:42.000000000 +0100
|
@@ -319,6 +319,10 @@ int default_mtd_writev(struct mtd_info *
|
||||||
+++ linux-2.6.30.10/include/linux/mtd/mtd.h 2010-03-19 00:21:22.000000000 +0100
|
|
||||||
@@ -319,6 +319,10 @@
|
|
||||||
int default_mtd_readv(struct mtd_info *mtd, struct kvec *vecs,
|
int default_mtd_readv(struct mtd_info *mtd, struct kvec *vecs,
|
||||||
unsigned long count, loff_t from, size_t *retlen);
|
unsigned long count, loff_t from, size_t *retlen);
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
Index: linux-2.6.30.10/arch/x86/Makefile
|
--- a/arch/x86/Makefile
|
||||||
===================================================================
|
+++ b/arch/x86/Makefile
|
||||||
--- linux-2.6.30.10.orig/arch/x86/Makefile 2009-12-04 07:00:07.000000000 +0100
|
@@ -124,6 +124,9 @@ core-y += $(fcore-y)
|
||||||
+++ linux-2.6.30.10/arch/x86/Makefile 2010-04-28 10:17:54.000000000 +0200
|
|
||||||
@@ -124,6 +124,9 @@
|
|
||||||
# Xen paravirtualization support
|
# Xen paravirtualization support
|
||||||
core-$(CONFIG_XEN) += arch/x86/xen/
|
core-$(CONFIG_XEN) += arch/x86/xen/
|
||||||
|
|
||||||
@ -12,20 +10,16 @@ Index: linux-2.6.30.10/arch/x86/Makefile
|
|||||||
# lguest paravirtualization support
|
# lguest paravirtualization support
|
||||||
core-$(CONFIG_LGUEST_GUEST) += arch/x86/lguest/
|
core-$(CONFIG_LGUEST_GUEST) += arch/x86/lguest/
|
||||||
|
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/Makefile
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/Makefile
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/Makefile 2010-04-28 10:20:33.000000000 +0200
|
|
||||||
@@ -0,0 +1,5 @@
|
@@ -0,0 +1,5 @@
|
||||||
+#
|
+#
|
||||||
+# Makefile for the RDC321x specific parts of the kernel
|
+# Makefile for the RDC321x specific parts of the kernel
|
||||||
+#
|
+#
|
||||||
+obj-$(CONFIG_X86_RDC321X) := platform.o reboot.o boards/sitecom.o boards/ar525w.o boards/bifferboard.o boards/r8610.o
|
+obj-$(CONFIG_X86_RDC321X) := platform.o reboot.o boards/sitecom.o boards/ar525w.o boards/bifferboard.o boards/r8610.o
|
||||||
+
|
+
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/platform.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/platform.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/platform.c 2010-04-28 10:22:23.000000000 +0200
|
|
||||||
@@ -0,0 +1,115 @@
|
@@ -0,0 +1,115 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Generic RDC321x platform devices
|
+ * Generic RDC321x platform devices
|
||||||
@ -142,10 +136,8 @@ Index: linux-2.6.30.10/arch/x86/mach-rdc321x/platform.c
|
|||||||
+ return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
|
+ return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
|
||||||
+}
|
+}
|
||||||
+late_initcall(rdc_board_setup);
|
+late_initcall(rdc_board_setup);
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/ar525w.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/ar525w.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/boards/ar525w.c 2010-04-28 10:23:52.000000000 +0200
|
|
||||||
@@ -0,0 +1,243 @@
|
@@ -0,0 +1,243 @@
|
||||||
+/*
|
+/*
|
||||||
+ * ar525w RDC321x platform devices
|
+ * ar525w RDC321x platform devices
|
||||||
@ -390,10 +382,8 @@ Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/ar525w.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(ar525w_setup);
|
+arch_initcall(ar525w_setup);
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/bifferboard.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/bifferboard.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/boards/bifferboard.c 2010-04-28 10:24:47.000000000 +0200
|
|
||||||
@@ -0,0 +1,81 @@
|
@@ -0,0 +1,81 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Bifferboard RDC321x platform devices
|
+ * Bifferboard RDC321x platform devices
|
||||||
@ -476,10 +466,8 @@ Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/bifferboard.c
|
|||||||
+ return register_mtd_parser(&bifferboard_parser);
|
+ return register_mtd_parser(&bifferboard_parser);
|
||||||
+}
|
+}
|
||||||
+arch_initcall(bifferboard_setup);
|
+arch_initcall(bifferboard_setup);
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/r8610.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/r8610.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/boards/r8610.c 2010-04-28 10:25:46.000000000 +0200
|
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,65 @@
|
||||||
+/*
|
+/*
|
||||||
+ * R8610 RDC321x platform devices
|
+ * R8610 RDC321x platform devices
|
||||||
@ -546,10 +534,8 @@ Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/r8610.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(r8610_setup);
|
+arch_initcall(r8610_setup);
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/sitecom.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/sitecom.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/boards/sitecom.c 2010-04-28 10:26:21.000000000 +0200
|
|
||||||
@@ -0,0 +1,111 @@
|
@@ -0,0 +1,111 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Sitecom RDC321x platform devices
|
+ * Sitecom RDC321x platform devices
|
||||||
@ -662,10 +648,8 @@ Index: linux-2.6.30.10/arch/x86/mach-rdc321x/boards/sitecom.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(sitecom_setup);
|
+arch_initcall(sitecom_setup);
|
||||||
Index: linux-2.6.30.10/arch/x86/mach-rdc321x/reboot.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/reboot.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/mach-rdc321x/reboot.c 2010-04-28 10:26:53.000000000 +0200
|
|
||||||
@@ -0,0 +1,44 @@
|
@@ -0,0 +1,44 @@
|
||||||
+/*
|
+/*
|
||||||
+ * This program is free software; you can redistribute it and/or
|
+ * This program is free software; you can redistribute it and/or
|
||||||
@ -711,10 +695,8 @@ Index: linux-2.6.30.10/arch/x86/mach-rdc321x/reboot.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(rdc_setup_reset);
|
+arch_initcall(rdc_setup_reset);
|
||||||
Index: linux-2.6.30.10/arch/x86/include/asm/rdc_boards.h
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/include/asm/rdc_boards.h
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.30.10/arch/x86/include/asm/rdc_boards.h 2010-04-28 10:42:56.000000000 +0200
|
|
||||||
@@ -0,0 +1,36 @@
|
@@ -0,0 +1,36 @@
|
||||||
+/*
|
+/*
|
||||||
+ * RDC321x boards
|
+ * RDC321x boards
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
--- a/drivers/watchdog/rdc321x_wdt.c
|
||||||
===================================================================
|
+++ b/drivers/watchdog/rdc321x_wdt.c
|
||||||
--- linux-2.6.30.10.orig/drivers/watchdog/rdc321x_wdt.c 2010-04-28 11:11:44.000000000 +0200
|
|
||||||
+++ linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c 2010-04-28 11:20:51.000000000 +0200
|
|
||||||
@@ -36,111 +36,99 @@
|
@@ -36,111 +36,99 @@
|
||||||
#include <linux/watchdog.h>
|
#include <linux/watchdog.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
@ -164,7 +162,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
||||||
return nonseekable_open(inode, file);
|
return nonseekable_open(inode, file);
|
||||||
@@ -148,7 +136,16 @@
|
@@ -148,7 +136,16 @@ static int rdc321x_wdt_open(struct inode
|
||||||
|
|
||||||
static int rdc321x_wdt_release(struct inode *inode, struct file *file)
|
static int rdc321x_wdt_release(struct inode *inode, struct file *file)
|
||||||
{
|
{
|
||||||
@ -182,7 +180,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,30 +153,29 @@
|
@@ -156,30 +153,29 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
unsigned long arg)
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
@ -227,7 +225,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
case WDIOC_SETOPTIONS:
|
case WDIOC_SETOPTIONS:
|
||||||
if (copy_from_user(&value, argp, sizeof(int)))
|
if (copy_from_user(&value, argp, sizeof(int)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
@@ -194,17 +190,34 @@
|
@@ -194,17 +190,34 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -263,7 +261,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
rdc321x_wdt_reset();
|
rdc321x_wdt_reset();
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
@@ -246,27 +259,18 @@
|
@@ -246,27 +259,18 @@ static int __devinit rdc321x_wdt_probe(s
|
||||||
rdc321x_wdt_device.sb_pdev = pdata->sb_pdev;
|
rdc321x_wdt_device.sb_pdev = pdata->sb_pdev;
|
||||||
rdc321x_wdt_device.base_reg = r->start;
|
rdc321x_wdt_device.base_reg = r->start;
|
||||||
|
|
||||||
@ -297,7 +295,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
dev_info(&pdev->dev, "watchdog init success\n");
|
dev_info(&pdev->dev, "watchdog init success\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -274,10 +278,11 @@
|
@@ -274,10 +278,11 @@ static int __devinit rdc321x_wdt_probe(s
|
||||||
|
|
||||||
static int rdc321x_wdt_remove(struct platform_device *pdev)
|
static int rdc321x_wdt_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
Index: linux-2.6.30.10/drivers/mfd/rdc321x-southbridge.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-2.6.30.10.orig/drivers/mfd/rdc321x-southbridge.c 2010-04-28 13:05:17.000000000 +0200
|
||||||
|
+++ linux-2.6.30.10/drivers/mfd/rdc321x-southbridge.c 2010-04-28 13:05:27.000000000 +0200
|
||||||
|
@@ -84,6 +84,8 @@
|
||||||
|
rdc321x_gpio_pdata.sb_pdev = pdev;
|
||||||
|
rdc321x_wdt_pdata.sb_pdev = pdev;
|
||||||
|
|
||||||
|
+ panic_on_unrecovered_nmi = 1;
|
||||||
|
+
|
||||||
|
return mfd_add_devices(&pdev->dev, -1,
|
||||||
|
rdc321x_sb_cells, ARRAY_SIZE(rdc321x_sb_cells), NULL, 0);
|
||||||
|
}
|
@ -11,11 +11,9 @@ Changes from v2:
|
|||||||
- removed pci_dev accessors
|
- removed pci_dev accessors
|
||||||
- use DEFINE_PCI_DEVICE_TABLE
|
- use DEFINE_PCI_DEVICE_TABLE
|
||||||
|
|
||||||
Index: linux-2.6.32.10/drivers/mfd/Kconfig
|
--- a/drivers/mfd/Kconfig
|
||||||
===================================================================
|
+++ b/drivers/mfd/Kconfig
|
||||||
--- linux-2.6.32.10.orig/drivers/mfd/Kconfig 2010-03-15 16:52:04.000000000 +0100
|
@@ -305,6 +305,15 @@ config EZX_PCAP
|
||||||
+++ linux-2.6.32.10/drivers/mfd/Kconfig 2010-04-28 11:38:27.000000000 +0200
|
|
||||||
@@ -305,6 +305,15 @@
|
|
||||||
This enables the PCAP ASIC present on EZX Phones. This is
|
This enables the PCAP ASIC present on EZX Phones. This is
|
||||||
needed for MMC, TouchScreen, Sound, USB, etc..
|
needed for MMC, TouchScreen, Sound, USB, etc..
|
||||||
|
|
||||||
@ -31,20 +29,16 @@ Index: linux-2.6.32.10/drivers/mfd/Kconfig
|
|||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Multimedia Capabilities Port drivers"
|
menu "Multimedia Capabilities Port drivers"
|
||||||
Index: linux-2.6.32.10/drivers/mfd/Makefile
|
--- a/drivers/mfd/Makefile
|
||||||
===================================================================
|
+++ b/drivers/mfd/Makefile
|
||||||
--- linux-2.6.32.10.orig/drivers/mfd/Makefile 2010-03-15 16:52:04.000000000 +0100
|
@@ -50,3 +50,5 @@ obj-$(CONFIG_PCF50633_ADC) += pcf50633-a
|
||||||
+++ linux-2.6.32.10/drivers/mfd/Makefile 2010-04-28 11:38:53.000000000 +0200
|
|
||||||
@@ -50,3 +50,5 @@
|
|
||||||
obj-$(CONFIG_PCF50633_GPIO) += pcf50633-gpio.o
|
obj-$(CONFIG_PCF50633_GPIO) += pcf50633-gpio.o
|
||||||
obj-$(CONFIG_AB3100_CORE) += ab3100-core.o
|
obj-$(CONFIG_AB3100_CORE) += ab3100-core.o
|
||||||
obj-$(CONFIG_AB3100_OTP) += ab3100-otp.o
|
obj-$(CONFIG_AB3100_OTP) += ab3100-otp.o
|
||||||
+
|
+
|
||||||
+obj-$(CONFIG_MFD_RDC321X) += rdc321x-southbridge.o
|
+obj-$(CONFIG_MFD_RDC321X) += rdc321x-southbridge.o
|
||||||
Index: linux-2.6.32.10/drivers/mfd/rdc321x-southbridge.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/drivers/mfd/rdc321x-southbridge.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/drivers/mfd/rdc321x-southbridge.c 2010-04-28 11:38:27.000000000 +0200
|
|
||||||
@@ -0,0 +1,123 @@
|
@@ -0,0 +1,123 @@
|
||||||
+/*
|
+/*
|
||||||
+ * RDC321x MFD southbrige driver
|
+ * RDC321x MFD southbrige driver
|
||||||
@ -169,10 +163,8 @@ Index: linux-2.6.32.10/drivers/mfd/rdc321x-southbridge.c
|
|||||||
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
|
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
+MODULE_DESCRIPTION("RDC R-321x MFD southbridge driver");
|
+MODULE_DESCRIPTION("RDC R-321x MFD southbridge driver");
|
||||||
Index: linux-2.6.32.10/include/linux/mfd/rdc321x.h
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/include/linux/mfd/rdc321x.h
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/include/linux/mfd/rdc321x.h 2010-04-28 11:38:27.000000000 +0200
|
|
||||||
@@ -0,0 +1,26 @@
|
@@ -0,0 +1,26 @@
|
||||||
+#ifndef __RDC321X_MFD_H
|
+#ifndef __RDC321X_MFD_H
|
||||||
+#define __RDC321X_MFD_H
|
+#define __RDC321X_MFD_H
|
||||||
|
@ -8,11 +8,9 @@ Changes from v2:
|
|||||||
- use the pci_dev pointer passed as platform data
|
- use the pci_dev pointer passed as platform data
|
||||||
- replaced rdc321x_pci_{read,write}
|
- replaced rdc321x_pci_{read,write}
|
||||||
|
|
||||||
Index: linux-2.6.32.10/drivers/gpio/Kconfig
|
--- a/drivers/gpio/Kconfig
|
||||||
===================================================================
|
+++ b/drivers/gpio/Kconfig
|
||||||
--- linux-2.6.32.10.orig/drivers/gpio/Kconfig 2010-03-15 16:52:04.000000000 +0100
|
@@ -196,6 +196,14 @@ config GPIO_LANGWELL
|
||||||
+++ linux-2.6.32.10/drivers/gpio/Kconfig 2010-04-28 11:39:02.000000000 +0200
|
|
||||||
@@ -196,6 +196,14 @@
|
|
||||||
help
|
help
|
||||||
Say Y here to support Intel Moorestown platform GPIO.
|
Say Y here to support Intel Moorestown platform GPIO.
|
||||||
|
|
||||||
@ -27,19 +25,15 @@ Index: linux-2.6.32.10/drivers/gpio/Kconfig
|
|||||||
comment "SPI GPIO expanders:"
|
comment "SPI GPIO expanders:"
|
||||||
|
|
||||||
config GPIO_MAX7301
|
config GPIO_MAX7301
|
||||||
Index: linux-2.6.32.10/drivers/gpio/Makefile
|
--- a/drivers/gpio/Makefile
|
||||||
===================================================================
|
+++ b/drivers/gpio/Makefile
|
||||||
--- linux-2.6.32.10.orig/drivers/gpio/Makefile 2010-03-15 16:52:04.000000000 +0100
|
@@ -19,3 +19,4 @@ obj-$(CONFIG_GPIO_XILINX) += xilinx_gpio
|
||||||
+++ linux-2.6.32.10/drivers/gpio/Makefile 2010-04-28 11:39:17.000000000 +0200
|
|
||||||
@@ -19,3 +19,4 @@
|
|
||||||
obj-$(CONFIG_GPIO_BT8XX) += bt8xxgpio.o
|
obj-$(CONFIG_GPIO_BT8XX) += bt8xxgpio.o
|
||||||
obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
|
obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o
|
||||||
obj-$(CONFIG_GPIO_WM831X) += wm831x-gpio.o
|
obj-$(CONFIG_GPIO_WM831X) += wm831x-gpio.o
|
||||||
+obj-$(CONFIG_GPIO_RDC321X) += rdc321x-gpio.o
|
+obj-$(CONFIG_GPIO_RDC321X) += rdc321x-gpio.o
|
||||||
Index: linux-2.6.32.10/drivers/gpio/rdc321x-gpio.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/drivers/gpio/rdc321x-gpio.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/drivers/gpio/rdc321x-gpio.c 2010-04-28 11:39:02.000000000 +0200
|
|
||||||
@@ -0,0 +1,245 @@
|
@@ -0,0 +1,245 @@
|
||||||
+/*
|
+/*
|
||||||
+ * RDC321x GPIO driver
|
+ * RDC321x GPIO driver
|
||||||
|
@ -10,10 +10,8 @@ Changes from v2:
|
|||||||
- replaced rdc321x_pci_{read,write}
|
- replaced rdc321x_pci_{read,write}
|
||||||
- use the pci_dev pointer passed as platform_data
|
- use the pci_dev pointer passed as platform_data
|
||||||
|
|
||||||
Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
--- a/drivers/watchdog/rdc321x_wdt.c
|
||||||
===================================================================
|
+++ b/drivers/watchdog/rdc321x_wdt.c
|
||||||
--- linux-2.6.30.10.orig/drivers/watchdog/rdc321x_wdt.c 2009-12-04 07:00:07.000000000 +0100
|
|
||||||
+++ linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c 2010-04-28 10:17:46.000000000 +0200
|
|
||||||
@@ -1,7 +1,7 @@
|
@@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* RDC321x watchdog driver
|
* RDC321x watchdog driver
|
||||||
@ -33,7 +31,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
|
|
||||||
#define RDC_WDT_MASK 0x80000000 /* Mask */
|
#define RDC_WDT_MASK 0x80000000 /* Mask */
|
||||||
#define RDC_WDT_EN 0x00800000 /* Enable bit */
|
#define RDC_WDT_EN 0x00800000 /* Enable bit */
|
||||||
@@ -63,6 +62,8 @@
|
@@ -63,6 +62,8 @@ static struct {
|
||||||
int default_ticks;
|
int default_ticks;
|
||||||
unsigned long inuse;
|
unsigned long inuse;
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
@ -42,7 +40,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
} rdc321x_wdt_device;
|
} rdc321x_wdt_device;
|
||||||
|
|
||||||
/* generic helper functions */
|
/* generic helper functions */
|
||||||
@@ -70,14 +71,18 @@
|
@@ -70,14 +71,18 @@ static struct {
|
||||||
static void rdc321x_wdt_trigger(unsigned long unused)
|
static void rdc321x_wdt_trigger(unsigned long unused)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
@ -63,7 +61,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
||||||
|
|
||||||
/* requeue?? */
|
/* requeue?? */
|
||||||
@@ -105,10 +110,13 @@
|
@@ -105,10 +110,13 @@ static void rdc321x_wdt_start(void)
|
||||||
|
|
||||||
/* Clear the timer */
|
/* Clear the timer */
|
||||||
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
||||||
@ -79,7 +77,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
spin_unlock_irqrestore(&rdc321x_wdt_device.lock, flags);
|
||||||
|
|
||||||
mod_timer(&rdc321x_wdt_device.timer,
|
mod_timer(&rdc321x_wdt_device.timer,
|
||||||
@@ -148,7 +156,7 @@
|
@@ -148,7 +156,7 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
unsigned long arg)
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
@ -88,7 +86,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
static struct watchdog_info ident = {
|
static struct watchdog_info ident = {
|
||||||
.options = WDIOF_CARDRESET,
|
.options = WDIOF_CARDRESET,
|
||||||
.identity = "RDC321x WDT",
|
.identity = "RDC321x WDT",
|
||||||
@@ -162,9 +170,10 @@
|
@@ -162,9 +170,10 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
case WDIOC_GETSTATUS:
|
case WDIOC_GETSTATUS:
|
||||||
/* Read the value from the DATA register */
|
/* Read the value from the DATA register */
|
||||||
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
spin_lock_irqsave(&rdc321x_wdt_device.lock, flags);
|
||||||
@ -101,7 +99,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
break;
|
break;
|
||||||
case WDIOC_GETSUPPORT:
|
case WDIOC_GETSUPPORT:
|
||||||
@@ -219,17 +228,35 @@
|
@@ -219,17 +228,35 @@ static struct miscdevice rdc321x_wdt_mis
|
||||||
static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
|
static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
@ -139,7 +137,7 @@ Index: linux-2.6.30.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
|
|
||||||
init_completion(&rdc321x_wdt_device.stop);
|
init_completion(&rdc321x_wdt_device.stop);
|
||||||
rdc321x_wdt_device.queue = 0;
|
rdc321x_wdt_device.queue = 0;
|
||||||
@@ -240,7 +267,7 @@
|
@@ -240,7 +267,7 @@ static int __devinit rdc321x_wdt_probe(s
|
||||||
|
|
||||||
rdc321x_wdt_device.default_ticks = ticks;
|
rdc321x_wdt_device.default_ticks = ticks;
|
||||||
|
|
||||||
|
@ -3,9 +3,6 @@ the southbridge.
|
|||||||
|
|
||||||
Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||||
---
|
---
|
||||||
diff --git a/arch/x86/include/asm/rdc321x_defs.h b/arch/x86/include/asm/rdc321x_defs.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index c8e9c8b..0000000
|
|
||||||
--- a/arch/x86/include/asm/rdc321x_defs.h
|
--- a/arch/x86/include/asm/rdc321x_defs.h
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,12 +0,0 @@
|
@@ -1,12 +0,0 @@
|
||||||
@ -21,6 +18,3 @@ index c8e9c8b..0000000
|
|||||||
-#define RDC321X_GPIO_DATA_REG2 0x88
|
-#define RDC321X_GPIO_DATA_REG2 0x88
|
||||||
-
|
-
|
||||||
-#define RDC321X_MAX_GPIO 58
|
-#define RDC321X_MAX_GPIO 58
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
Index: linux-2.6.30.10/drivers/mtd/mtdblock.c
|
--- a/drivers/mtd/mtdblock.c
|
||||||
===================================================================
|
+++ b/drivers/mtd/mtdblock.c
|
||||||
--- linux-2.6.30.10.orig/drivers/mtd/mtdblock.c 2010-03-19 00:17:37.000000000 +0100
|
@@ -47,7 +47,7 @@ static void erase_callback(struct erase_
|
||||||
+++ linux-2.6.30.10/drivers/mtd/mtdblock.c 2010-03-19 00:17:54.000000000 +0100
|
|
||||||
@@ -45,7 +45,7 @@
|
|
||||||
wake_up(wait_q);
|
wake_up(wait_q);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11,11 +9,9 @@ Index: linux-2.6.30.10/drivers/mtd/mtdblock.c
|
|||||||
int len, const char *buf)
|
int len, const char *buf)
|
||||||
{
|
{
|
||||||
struct erase_info erase;
|
struct erase_info erase;
|
||||||
Index: linux-2.6.30.10/include/linux/mtd/mtd.h
|
--- a/include/linux/mtd/mtd.h
|
||||||
===================================================================
|
+++ b/include/linux/mtd/mtd.h
|
||||||
--- linux-2.6.30.10.orig/include/linux/mtd/mtd.h 2010-03-19 00:17:42.000000000 +0100
|
@@ -319,6 +319,10 @@ int default_mtd_writev(struct mtd_info *
|
||||||
+++ linux-2.6.30.10/include/linux/mtd/mtd.h 2010-03-19 00:21:22.000000000 +0100
|
|
||||||
@@ -319,6 +319,10 @@
|
|
||||||
int default_mtd_readv(struct mtd_info *mtd, struct kvec *vecs,
|
int default_mtd_readv(struct mtd_info *mtd, struct kvec *vecs,
|
||||||
unsigned long count, loff_t from, size_t *retlen);
|
unsigned long count, loff_t from, size_t *retlen);
|
||||||
|
|
||||||
|
@ -1,17 +1,13 @@
|
|||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/Makefile
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/Makefile
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/Makefile 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,5 @@
|
@@ -0,0 +1,5 @@
|
||||||
+#
|
+#
|
||||||
+# Makefile for the RDC321x specific parts of the kernel
|
+# Makefile for the RDC321x specific parts of the kernel
|
||||||
+#
|
+#
|
||||||
+obj-$(CONFIG_X86_RDC321X) := platform.o reboot.o boards/sitecom.o boards/ar525w.o boards/bifferboard.o boards/r8610.o
|
+obj-$(CONFIG_X86_RDC321X) := platform.o reboot.o boards/sitecom.o boards/ar525w.o boards/bifferboard.o boards/r8610.o
|
||||||
+
|
+
|
||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/platform.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/platform.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/platform.c 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,115 @@
|
@@ -0,0 +1,115 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Generic RDC321x platform devices
|
+ * Generic RDC321x platform devices
|
||||||
@ -128,10 +124,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/platform.c
|
|||||||
+ return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
|
+ return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
|
||||||
+}
|
+}
|
||||||
+late_initcall(rdc_board_setup);
|
+late_initcall(rdc_board_setup);
|
||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/ar525w.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/ar525w.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/ar525w.c 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,243 @@
|
@@ -0,0 +1,243 @@
|
||||||
+/*
|
+/*
|
||||||
+ * ar525w RDC321x platform devices
|
+ * ar525w RDC321x platform devices
|
||||||
@ -376,10 +370,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/ar525w.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(ar525w_setup);
|
+arch_initcall(ar525w_setup);
|
||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/bifferboard.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,81 @@
|
@@ -0,0 +1,81 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Bifferboard RDC321x platform devices
|
+ * Bifferboard RDC321x platform devices
|
||||||
@ -462,10 +454,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c
|
|||||||
+ return register_mtd_parser(&bifferboard_parser);
|
+ return register_mtd_parser(&bifferboard_parser);
|
||||||
+}
|
+}
|
||||||
+arch_initcall(bifferboard_setup);
|
+arch_initcall(bifferboard_setup);
|
||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/r8610.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/r8610.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/r8610.c 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,65 @@
|
||||||
+/*
|
+/*
|
||||||
+ * R8610 RDC321x platform devices
|
+ * R8610 RDC321x platform devices
|
||||||
@ -532,10 +522,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/r8610.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(r8610_setup);
|
+arch_initcall(r8610_setup);
|
||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/boards/sitecom.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,111 @@
|
@@ -0,0 +1,111 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Sitecom RDC321x platform devices
|
+ * Sitecom RDC321x platform devices
|
||||||
@ -648,10 +636,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(sitecom_setup);
|
+arch_initcall(sitecom_setup);
|
||||||
Index: linux-2.6.32.10/arch/x86/mach-rdc321x/reboot.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/mach-rdc321x/reboot.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/mach-rdc321x/reboot.c 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,44 @@
|
@@ -0,0 +1,44 @@
|
||||||
+/*
|
+/*
|
||||||
+ * This program is free software; you can redistribute it and/or
|
+ * This program is free software; you can redistribute it and/or
|
||||||
@ -697,10 +683,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/reboot.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+arch_initcall(rdc_setup_reset);
|
+arch_initcall(rdc_setup_reset);
|
||||||
Index: linux-2.6.32.10/arch/x86/include/asm/rdc_boards.h
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/arch/x86/include/asm/rdc_boards.h
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-2.6.32.10/arch/x86/include/asm/rdc_boards.h 2010-04-28 11:39:32.000000000 +0200
|
|
||||||
@@ -0,0 +1,36 @@
|
@@ -0,0 +1,36 @@
|
||||||
+/*
|
+/*
|
||||||
+ * RDC321x boards
|
+ * RDC321x boards
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
Index: linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c
|
--- a/drivers/watchdog/rdc321x_wdt.c
|
||||||
===================================================================
|
+++ b/drivers/watchdog/rdc321x_wdt.c
|
||||||
--- linux-2.6.32.10.orig/drivers/watchdog/rdc321x_wdt.c 2010-04-28 11:39:28.000000000 +0200
|
|
||||||
+++ linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c 2010-04-28 11:40:11.000000000 +0200
|
|
||||||
@@ -36,111 +36,99 @@
|
@@ -36,111 +36,99 @@
|
||||||
#include <linux/watchdog.h>
|
#include <linux/watchdog.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
@ -164,7 +162,7 @@ Index: linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
|
|
||||||
return nonseekable_open(inode, file);
|
return nonseekable_open(inode, file);
|
||||||
@@ -148,7 +136,16 @@
|
@@ -148,7 +136,16 @@ static int rdc321x_wdt_open(struct inode
|
||||||
|
|
||||||
static int rdc321x_wdt_release(struct inode *inode, struct file *file)
|
static int rdc321x_wdt_release(struct inode *inode, struct file *file)
|
||||||
{
|
{
|
||||||
@ -182,7 +180,7 @@ Index: linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,30 +153,29 @@
|
@@ -156,30 +153,29 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
unsigned long arg)
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
void __user *argp = (void __user *)arg;
|
void __user *argp = (void __user *)arg;
|
||||||
@ -227,7 +225,7 @@ Index: linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
case WDIOC_SETOPTIONS:
|
case WDIOC_SETOPTIONS:
|
||||||
if (copy_from_user(&value, argp, sizeof(int)))
|
if (copy_from_user(&value, argp, sizeof(int)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
@@ -194,17 +190,34 @@
|
@@ -194,17 +190,34 @@ static long rdc321x_wdt_ioctl(struct fil
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -263,7 +261,7 @@ Index: linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
rdc321x_wdt_reset();
|
rdc321x_wdt_reset();
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
@@ -246,27 +259,18 @@
|
@@ -246,27 +259,18 @@ static int __devinit rdc321x_wdt_probe(s
|
||||||
rdc321x_wdt_device.sb_pdev = pdata->sb_pdev;
|
rdc321x_wdt_device.sb_pdev = pdata->sb_pdev;
|
||||||
rdc321x_wdt_device.base_reg = r->start;
|
rdc321x_wdt_device.base_reg = r->start;
|
||||||
|
|
||||||
@ -297,7 +295,7 @@ Index: linux-2.6.32.10/drivers/watchdog/rdc321x_wdt.c
|
|||||||
dev_info(&pdev->dev, "watchdog init success\n");
|
dev_info(&pdev->dev, "watchdog init success\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -274,10 +278,11 @@
|
@@ -274,10 +278,11 @@ static int __devinit rdc321x_wdt_probe(s
|
||||||
|
|
||||||
static int __devexit rdc321x_wdt_remove(struct platform_device *pdev)
|
static int __devexit rdc321x_wdt_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
--- a/drivers/mfd/rdc321x-southbridge.c
|
||||||
|
+++ b/drivers/mfd/rdc321x-southbridge.c
|
||||||
|
@@ -84,6 +84,8 @@ static int __devinit rdc321x_sb_probe(st
|
||||||
|
rdc321x_gpio_pdata.sb_pdev = pdev;
|
||||||
|
rdc321x_wdt_pdata.sb_pdev = pdev;
|
||||||
|
|
||||||
|
+ panic_on_unrecovered_nmi = 1;
|
||||||
|
+
|
||||||
|
return mfd_add_devices(&pdev->dev, -1,
|
||||||
|
rdc321x_sb_cells, ARRAY_SIZE(rdc321x_sb_cells), NULL, 0);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user