diff options
45 files changed, 326 insertions, 2129 deletions
diff --git a/target/linux/adm5120/Makefile b/target/linux/adm5120/Makefile index 5ff0e69ea..eefc244f1 100644 --- a/target/linux/adm5120/Makefile +++ b/target/linux/adm5120/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk  BOARD:=adm5120  BOARDNAME:=Infineon/ADMtek ADM5120 -LINUX_VERSION:=2.6.24.7 +LINUX_VERSION:=2.6.25.7  SUBTARGETS:=router_le router_be  INITRAMFS_EXTRA_FILES:= diff --git a/target/linux/adm5120/files/drivers/ata/pata_rb153_cf.c b/target/linux/adm5120/files/drivers/ata/pata_rb153_cf.c index 7dd697721..8c0a0a36c 100644 --- a/target/linux/adm5120/files/drivers/ata/pata_rb153_cf.c +++ b/target/linux/adm5120/files/drivers/ata/pata_rb153_cf.c @@ -68,20 +68,23 @@ static void rb153_pata_exec_command(struct ata_port *ap,  	rb153_pata_finish_io(ap);  } -static void rb153_pata_data_xfer(struct ata_device *adev, unsigned char *buf, +static unsigned int rb153_pata_data_xfer(struct ata_device *adev, unsigned char *buf,  				unsigned int buflen, int write_data)  {  	void __iomem *ioaddr = adev->link->ap->ioaddr.data_addr; - +	unsigned int t; +	 +	t = buflen;	  	if (write_data) { -		for (; buflen > 0; buflen--, buf++) +		for (; t > 0; t--, buf++)  			writeb(*buf, ioaddr);  	} else { -		for (; buflen > 0; buflen--, buf++) +		for (; t > 0; t--, buf++)  			*buf = readb(ioaddr);  	}  	rb153_pata_finish_io(adev->link->ap); +	return buflen;  }  static void rb153_pata_freeze(struct ata_port *ap) diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c index 3eec94a38..a6eb67cb6 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-dbg.c @@ -390,6 +390,42 @@ static inline void remove_debug_files(struct admhcd *bus) { }  #else +static int debug_async_open(struct inode *, struct file *); +static int debug_periodic_open(struct inode *, struct file *); +static int debug_registers_open(struct inode *, struct file *); +static int debug_async_open(struct inode *, struct file *); +static ssize_t debug_output(struct file*, char __user*, size_t, loff_t*); +static int debug_close(struct inode *, struct file *); + +static const struct file_operations debug_async_fops = { +	.owner		= THIS_MODULE, +	.open		= debug_async_open, +	.read		= debug_output, +	.release	= debug_close, +}; +static const struct file_operations debug_periodic_fops = { +	.owner		= THIS_MODULE, +	.open		= debug_periodic_open, +	.read		= debug_output, +	.release	= debug_close, +}; +static const struct file_operations debug_registers_fops = { +	.owner		= THIS_MODULE, +	.open		= debug_registers_open, +	.read		= debug_output, +	.release	= debug_close, +}; + +static struct dentry *admhc_debug_root; + +struct debug_buffer { +	ssize_t (*fill_func)(struct debug_buffer *);    /* fill method */ +	struct device *dev; +	struct mutex mutex;     /* protect filling of buffer */ +	size_t count;           /* number of characters filled into buffer */ +	char *page; +}; +  static ssize_t  show_list(struct admhcd *ahcd, char *buf, size_t count, struct ed *ed)  { @@ -455,8 +491,7 @@ show_list(struct admhcd *ahcd, char *buf, size_t count, struct ed *ed)  	return count - size;  } -static ssize_t -show_async(struct class_device *class_dev, char *buf) +static ssize_t fill_async_buffer(struct debug_buffer *buf)  {  	struct usb_bus		*bus;  	struct usb_hcd		*hcd; @@ -464,24 +499,22 @@ show_async(struct class_device *class_dev, char *buf)  	size_t			temp;  	unsigned long		flags; -	bus = class_get_devdata(class_dev); +	bus = dev_get_drvdata(buf->dev);  	hcd = bus_to_hcd(bus);  	ahcd = hcd_to_admhcd(hcd);  	/* display control and bulk lists together, for simplicity */  	spin_lock_irqsave(&ahcd->lock, flags); -	temp = show_list(ahcd, buf, PAGE_SIZE, ahcd->ed_head); +	temp = show_list(ahcd, buf->page, buf->count, ahcd->ed_head);  	spin_unlock_irqrestore(&ahcd->lock, flags);  	return temp;  } -static CLASS_DEVICE_ATTR(async, S_IRUGO, show_async, NULL);  #define DBG_SCHED_LIMIT 64 -static ssize_t -show_periodic(struct class_device *class_dev, char *buf) +static ssize_t fill_periodic_buffer(struct debug_buffer *buf)  {  	struct usb_bus		*bus;  	struct usb_hcd		*hcd; @@ -496,10 +529,10 @@ show_periodic(struct class_device *class_dev, char *buf)  		return 0;  	seen_count = 0; -	bus = class_get_devdata(class_dev); +	bus = dev_get_drvdata(buf->dev);  	hcd = bus_to_hcd(bus);  	ahcd = hcd_to_admhcd(hcd); -	next = buf; +	next = buf->page;  	size = PAGE_SIZE;  	temp = scnprintf(next, size, "size = %d\n", NUM_INTS); @@ -574,13 +607,11 @@ show_periodic(struct class_device *class_dev, char *buf)  	return PAGE_SIZE - size;  } -static CLASS_DEVICE_ATTR(periodic, S_IRUGO, show_periodic, NULL);  #undef DBG_SCHED_LIMIT -static ssize_t -show_registers(struct class_device *class_dev, char *buf) +static ssize_t fill_registers_buffer(struct debug_buffer *buf)  {  	struct usb_bus		*bus;  	struct usb_hcd		*hcd; @@ -591,11 +622,11 @@ show_registers(struct class_device *class_dev, char *buf)  	char			*next;  	u32			rdata; -	bus = class_get_devdata(class_dev); +	bus = dev_get_drvdata(buf->dev);  	hcd = bus_to_hcd(bus);  	ahcd = hcd_to_admhcd(hcd);  	regs = ahcd->regs; -	next = buf; +	next = buf->page;  	size = PAGE_SIZE;  	spin_lock_irqsave(&ahcd->lock, flags); @@ -656,27 +687,154 @@ done:  	spin_unlock_irqrestore(&ahcd->lock, flags);  	return PAGE_SIZE - size;  } -static CLASS_DEVICE_ATTR(registers, S_IRUGO, show_registers, NULL); -static inline void create_debug_files (struct admhcd *ahcd) +static struct debug_buffer *alloc_buffer(struct device *dev, +				ssize_t (*fill_func)(struct debug_buffer *))  { -	struct class_device *cldev = admhcd_to_hcd(ahcd)->self.class_dev; -	int retval; +	struct debug_buffer *buf; -	retval = class_device_create_file(cldev, &class_device_attr_async); -	retval = class_device_create_file(cldev, &class_device_attr_periodic); -	retval = class_device_create_file(cldev, &class_device_attr_registers); -	admhc_dbg(ahcd, "created debug files\n"); +	buf = kzalloc(sizeof(struct debug_buffer), GFP_KERNEL); + +	if (buf) { +		buf->dev = dev; +		buf->fill_func = fill_func; +		mutex_init(&buf->mutex); +	} + +	return buf; +} + +static int fill_buffer(struct debug_buffer *buf) +{ +	int ret = 0; + +	if (!buf->page) +		buf->page = (char *)get_zeroed_page(GFP_KERNEL); + +	if (!buf->page) { +		ret = -ENOMEM; +		goto out; +	} + +	ret = buf->fill_func(buf); + +	if (ret >= 0) { +		buf->count = ret; +		ret = 0; +	} + +out: +	return ret;  } -static inline void remove_debug_files (struct admhcd *ahcd) +static ssize_t debug_output(struct file *file, char __user *user_buf, +			size_t len, loff_t *offset)  { -	struct class_device *cldev = admhcd_to_hcd(ahcd)->self.class_dev; +	struct debug_buffer *buf = file->private_data; +	int ret = 0; + +	mutex_lock(&buf->mutex); +	if (buf->count == 0) { +		ret = fill_buffer(buf); +		if (ret != 0) { +			mutex_unlock(&buf->mutex); +			goto out; +		} +	} +	mutex_unlock(&buf->mutex); + +	ret = simple_read_from_buffer(user_buf, len, offset, +					buf->page, buf->count); -	class_device_remove_file(cldev, &class_device_attr_async); -	class_device_remove_file(cldev, &class_device_attr_periodic); -	class_device_remove_file(cldev, &class_device_attr_registers); +out: +	return ret; +} + +static int debug_close(struct inode *inode, struct file *file) +{ +	struct debug_buffer *buf = file->private_data; + +	if (buf) { +		if (buf->page) +			free_page((unsigned long)buf->page); +		kfree(buf); +	} + +	return 0; +} + +static int debug_async_open(struct inode *inode, struct file *file) +{ +	file->private_data = alloc_buffer(inode->i_private, fill_async_buffer); + +	return file->private_data ? 0 : -ENOMEM; +} + +static int debug_periodic_open(struct inode *inode, struct file *file) +{ +	file->private_data = alloc_buffer(inode->i_private, +						fill_periodic_buffer); + +	return file->private_data ? 0 : -ENOMEM; +} + +static int debug_registers_open(struct inode *inode, struct file *file) +{ +	file->private_data = alloc_buffer(inode->i_private, +						fill_registers_buffer); + +	return file->private_data ? 0 : -ENOMEM; +} + +static inline void create_debug_files(struct admhcd *ahcd) +{ +	struct usb_bus *bus = &admhcd_to_hcd(ahcd)->self; +	struct device *dev = bus->dev; + +	ahcd->debug_dir = debugfs_create_dir(bus->bus_name, admhc_debug_root); +	if (!ahcd->debug_dir) +		goto dir_error; + +	ahcd->debug_async = debugfs_create_file("async", S_IRUGO, +						ahcd->debug_dir, dev, +						&debug_async_fops); +	if (!ahcd->debug_async) +		goto async_error; + +	ahcd->debug_periodic = debugfs_create_file("periodic", S_IRUGO, +						ahcd->debug_dir, dev, +						&debug_periodic_fops); +	if (!ahcd->debug_periodic) +		goto periodic_error; + +	ahcd->debug_registers = debugfs_create_file("registers", S_IRUGO, +						ahcd->debug_dir, dev, +						&debug_registers_fops); +	if (!ahcd->debug_registers) +		goto registers_error; + +	admhc_dbg(ahcd, "created debug files\n"); +	return; + +registers_error: +	debugfs_remove(ahcd->debug_periodic); +periodic_error: +	debugfs_remove(ahcd->debug_async); +async_error: +	debugfs_remove(ahcd->debug_dir); +dir_error: +	ahcd->debug_periodic = NULL; +	ahcd->debug_async = NULL; +	ahcd->debug_dir = NULL; +} + +static inline void remove_debug_files(struct admhcd *ahcd) +{ +	debugfs_remove(ahcd->debug_registers); +	debugfs_remove(ahcd->debug_periodic); +	debugfs_remove(ahcd->debug_async); +	debugfs_remove(ahcd->debug_dir);  }  #endif diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c index 78b1aef13..72a252530 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c @@ -35,6 +35,7 @@  #include <linux/dma-mapping.h>  #include <linux/dmapool.h>  #include <linux/reboot.h> +#include <linux/debugfs.h>  #include <asm/io.h>  #include <asm/irq.h> @@ -45,7 +46,7 @@  #include "../core/hcd.h"  #include "../core/hub.h" -#define DRIVER_VERSION	"0.24.0" +#define DRIVER_VERSION	"0.25.0"  #define DRIVER_AUTHOR	"Gabor Juhos <juhosg at openwrt.org>"  #define DRIVER_DESC	"ADMtek USB 1.1 Host Controller Driver" @@ -799,6 +800,14 @@ static int __init admhc_hcd_mod_init(void)  	pr_info("%s: block sizes: ed %Zd td %Zd\n", hcd_name,  		sizeof (struct ed), sizeof (struct td)); +#ifdef DEBUG +	admhc_debug_root = debugfs_create_dir("admhc", NULL); +	if (!admhc_debug_root) { +		ret = -ENOENT; +		goto error_debug; +	} +#endif +  #ifdef PLATFORM_DRIVER  	ret = platform_driver_register(&PLATFORM_DRIVER);  	if (ret < 0) @@ -811,6 +820,12 @@ static int __init admhc_hcd_mod_init(void)  	platform_driver_unregister(&PLATFORM_DRIVER);  error_platform:  #endif + +#ifdef DEBUG +	debugfs_remove(admhc_debug_root); +	admhc_debug_root = NULL; +error_debug: +#endif  	return ret;  }  module_init(admhc_hcd_mod_init); @@ -818,6 +833,9 @@ module_init(admhc_hcd_mod_init);  static void __exit admhc_hcd_mod_exit(void)  {  	platform_driver_unregister(&PLATFORM_DRIVER); +#ifdef DEBUG +	debugfs_remove(admhc_debug_root); +#endif  }  module_exit(admhc_hcd_mod_exit); diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120.h b/target/linux/adm5120/files/drivers/usb/host/adm5120.h index a3acfe53b..fbb9b3a12 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120.h +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120.h @@ -431,6 +431,13 @@ struct admhcd {  #define	OHCI_QUIRK_BE_MMIO	0x10			/* BE registers */  #define	OHCI_QUIRK_ZFMICRO	0x20			/* Compaq ZFMicro chipset*/  	// there are also chip quirks/bugs in init logic + +#ifdef DEBUG +	struct dentry		*debug_dir; +	struct dentry		*debug_async; +	struct dentry		*debug_periodic; +	struct dentry		*debug_registers; +#endif  };  /* convert between an hcd pointer and the corresponding ahcd_hcd */ diff --git a/target/linux/adm5120/patches-2.6.25/001-adm5120.patch b/target/linux/adm5120/patches-2.6.25/001-adm5120.patch deleted file mode 100644 index 84d0a8d2f..000000000 --- a/target/linux/adm5120/patches-2.6.25/001-adm5120.patch +++ /dev/null @@ -1,111 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -18,6 +18,20 @@ - 	prompt "System type" - 	default SGI_IP22 -  -+config MIPS_ADM5120 -+	bool "ADM5120 SoC based machines" -+	select CEVT_R4K -+	select CSRC_R4K -+	select SYS_HAS_CPU_MIPS32_R1 -+	select SYS_HAS_EARLY_PRINTK -+	select DMA_NONCOHERENT -+	select HW_HAS_PCI -+	select IRQ_CPU -+	select SYS_SUPPORTS_LITTLE_ENDIAN -+	select SYS_SUPPORTS_BIG_ENDIAN -+	select SYS_SUPPORTS_32BIT_KERNEL -+	select GENERIC_GPIO -+ - config MACH_ALCHEMY - 	bool "Alchemy processor based machines" -  -@@ -683,6 +697,7 @@ -  - endchoice -  -+source "arch/mips/adm5120/Kconfig" - source "arch/mips/au1000/Kconfig" - source "arch/mips/basler/excite/Kconfig" - source "arch/mips/jazz/Kconfig" ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -174,6 +174,16 @@ - load-$(CONFIG_MACH_JAZZ)	+= 0xffffffff80080000 -  - # -+# ADMtek 5120 -+# -+ -+libs-$(CONFIG_MIPS_ADM5120)	+= arch/mips/adm5120/prom/ -+core-$(CONFIG_MIPS_ADM5120)	+= arch/mips/adm5120/ -+core-$(CONFIG_MIPS_ADM5120)	+= arch/mips/adm5120/boards/ -+cflags-$(CONFIG_MIPS_ADM5120)	+= -Iinclude/asm-mips/mach-adm5120 -+load-$(CONFIG_MIPS_ADM5120)	+= 0xffffffff80001000 -+ -+# - # Common Alchemy Au1x00 stuff - # - core-$(CONFIG_SOC_AU1X00)	+= arch/mips/au1000/common/ ---- a/include/asm-mips/bootinfo.h -+++ b/include/asm-mips/bootinfo.h -@@ -94,6 +94,58 @@ - #define MACH_MSP7120_FPGA       5	/* PMC-Sierra MSP7120 Emulation */ - #define MACH_MSP_OTHER        255	/* PMC-Sierra unknown board type */ -  -+/* -+ * Valid machtype for group ADMtek ADM5120 -+ */ -+#define MACH_ADM5120_GENERIC	0	/* Generic board */ -+#define MACH_ADM5120_WP54G_WRT	1	/* Compex WP54G-WRT */ -+#define MACH_ADM5120_WP54G	2	/* Compex WP54G */ -+#define MACH_ADM5120_WP54AG	3	/* Compex WP54AG */ -+#define MACH_ADM5120_WPP54G	4	/* Compex WPP54G */ -+#define MACH_ADM5120_WPP54AG	5	/* Compex WPP54AG */ -+#define MACH_ADM5120_NP28G	6	/* Compex NP28G */ -+#define MACH_ADM5120_NP28GHS	7	/* Compex NP28G HotSpot */ -+#define MACH_ADM5120_NP27G	8	/* Compex NP27G */ -+#define MACH_ADM5120_WP54Gv1C	9	/* Compex WP54G version 1C */ -+#define MACH_ADM5120_RB_111	10	/* Mikrotik RouterBOARD 111 */ -+#define MACH_ADM5120_RB_112	11	/* Mikrotik RouterBOARD 112 */ -+#define MACH_ADM5120_RB_133	12	/* Mikrotik RouterBOARD 133 */ -+#define MACH_ADM5120_RB_133C	13	/* Mikrotik RouterBOARD 133c */ -+#define MACH_ADM5120_RB_150	14	/* Mikrotik RouterBOARD 150 */ -+#define MACH_ADM5120_RB_153	15	/* Mikrotik RouterBOARD 153 */ -+#define MACH_ADM5120_HS100	16	/* ZyXEL HomeSafe 100/100W */ -+#define MACH_ADM5120_P334	17	/* ZyXEL Prestige 334 */ -+#define MACH_ADM5120_P334U	18	/* ZyXEL Prestige 334U */ -+#define MACH_ADM5120_P334W	19	/* ZyXEL Prestige 334W */ -+#define MACH_ADM5120_P334WH	20	/* ZyXEL Prestige 334WH */ -+#define MACH_ADM5120_P334WHD	21	/* ZyXEL Prestige 334WHD */ -+#define MACH_ADM5120_P334WT	22	/* ZyXEL Prestige 334WT */ -+#define MACH_ADM5120_P335	23	/* ZyXEL Prestige 335/335WT */ -+#define MACH_ADM5120_P335PLUS	24	/* ZyXEL Prestige 335Plus */ -+#define MACH_ADM5120_P335U	25	/* ZyXEL Prestige 335U */ -+#define MACH_ADM5120_ES2108	26	/* ZyXEL Ethernet Switch 2108 */ -+#define MACH_ADM5120_ES2108F	27	/* ZyXEL Ethernet Switch 2108-F */ -+#define MACH_ADM5120_ES2108G	28	/* ZyXEL Ethernet Switch 2108-G */ -+#define MACH_ADM5120_ES2108LC	29	/* ZyXEL Ethernet Switch 2108-LC */ -+#define MACH_ADM5120_ES2108PWR	30	/* ZyXEL Ethernet Switch 2108-PWR */ -+#define MACH_ADM5120_ES2024A	31	/* ZyXEL Ethernet Switch 2024A */ -+#define MACH_ADM5120_ES2024PWR	32	/* ZyXEL Ethernet Switch 2024PWR */ -+#define MACH_ADM5120_CAS630	33	/* Cellvision CAS-630/630W */ -+#define MACH_ADM5120_CAS670	34	/* Cellvision CAS-670/670W */ -+#define MACH_ADM5120_CAS700	36	/* Cellvision CAS-700/700W */ -+#define MACH_ADM5120_CAS771	37	/* Cellvision CAS-771/771W */ -+#define MACH_ADM5120_CAS790	38	/* Cellvision CAS-790 */ -+#define MACH_ADM5120_CAS861	39	/* Cellvision CAS-861/861W */ -+#define MACH_ADM5120_NFS101U	40	/* Cellvision NFS-101U/101WU */ -+#define MACH_ADM5120_NFS202U	41	/* Cellvision NFS-202U/202WU */ -+#define MACH_ADM5120_EASY5120PATA 42	/* Infineon EASY 5120P-ATA */ -+#define MACH_ADM5120_EASY5120RT 43	/* Infineon EASY 5120-RT */ -+#define MACH_ADM5120_EASY5120WVOIP 44	/* Infineon EASY 5120-WVoIP */ -+#define MACH_ADM5120_EASY83000	45	/* Infineon EASY-83000 */ -+#define MACH_ADM5120_BR6104K	46	/* Edimax BR-6104K/BR-6104KP */ -+#define MACH_ADM5120_RB_192	47	/* Mikrotik RouterBOARD 192 */ -+#define MACH_ADM5120_BR61x4WG	48	/* Edimax BR-6104Wg/BR-6114WG */ -+ - #define CL_SIZE			COMMAND_LINE_SIZE -  - extern char *system_type; diff --git a/target/linux/adm5120/patches-2.6.25/002-adm5120_flash.patch b/target/linux/adm5120/patches-2.6.25/002-adm5120_flash.patch deleted file mode 100644 index 143952321..000000000 --- a/target/linux/adm5120/patches-2.6.25/002-adm5120_flash.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/drivers/mtd/maps/Kconfig -+++ b/drivers/mtd/maps/Kconfig -@@ -590,5 +590,9 @@ -  - 	  This selection automatically selects the map_ram driver. -  -+config MTD_ADM5120 -+	tristate "Map driver for ADM5120 based boards" -+	depends on MIPS_ADM5120 -+ - endmenu -  ---- a/drivers/mtd/maps/Makefile -+++ b/drivers/mtd/maps/Makefile -@@ -44,6 +44,7 @@ - obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o - obj-$(CONFIG_MTD_PCI)		+= pci.o - obj-$(CONFIG_MTD_ALCHEMY)       += alchemy-flash.o -+obj-$(CONFIG_MTD_ADM5120)      	+= adm5120-flash.o - obj-$(CONFIG_MTD_AUTCPU12)	+= autcpu12-nvram.o - obj-$(CONFIG_MTD_EDB7312)	+= edb7312.o - obj-$(CONFIG_MTD_IMPA7)		+= impa7.o diff --git a/target/linux/adm5120/patches-2.6.25/003-adm5120_switch.patch b/target/linux/adm5120/patches-2.6.25/003-adm5120_switch.patch deleted file mode 100644 index 20718119f..000000000 --- a/target/linux/adm5120/patches-2.6.25/003-adm5120_switch.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -606,6 +606,10 @@ - 	  If you have an Alchemy Semi AU1X00 based system - 	  say Y.  Otherwise, say N. -  -+config MIPS_ADM5120_ENET -+	tristate "MIPS ADM5120 Ethernet switch support" -+	depends on MIPS_ADM5120 -+ - config SGI_IOC3_ETH - 	bool "SGI IOC3 Ethernet" - 	depends on PCI && SGI_IP27 ---- a/drivers/net/Makefile -+++ b/drivers/net/Makefile -@@ -187,6 +187,7 @@ - # This is also a 82596 and should probably be merged - obj-$(CONFIG_LP486E) += lp486e.o -  -+obj-$(CONFIG_MIPS_ADM5120_ENET) += adm5120sw.o - obj-$(CONFIG_ETH16I) += eth16i.o - obj-$(CONFIG_ZORRO8390) += zorro8390.o - obj-$(CONFIG_HPLANCE) += hplance.o 7990.o diff --git a/target/linux/adm5120/patches-2.6.25/005-adm5120_usb.patch b/target/linux/adm5120/patches-2.6.25/005-adm5120_usb.patch deleted file mode 100644 index 4ab31dd98..000000000 --- a/target/linux/adm5120/patches-2.6.25/005-adm5120_usb.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -260,3 +260,6 @@ - 	  To compile this driver as a module, choose M here: the - 	  module will be called r8a66597-hcd. -  -+config USB_ADM5120_HCD -+	tristate "ADM5120 HCD support (EXPERIMENTAL)" -+	depends on USB && MIPS_ADM5120 && EXPERIMENTAL ---- a/drivers/usb/host/Makefile -+++ b/drivers/usb/host/Makefile -@@ -8,6 +8,7 @@ -  - obj-$(CONFIG_PCI)		+= pci-quirks.o -  -+obj-$(CONFIG_USB_ADM5120_HCD)	+= adm5120-hcd.o - obj-$(CONFIG_USB_EHCI_HCD)	+= ehci-hcd.o - obj-$(CONFIG_USB_ISP116X_HCD)	+= isp116x-hcd.o - obj-$(CONFIG_USB_OHCI_HCD)	+= ohci-hcd.o ---- a/drivers/usb/Makefile -+++ b/drivers/usb/Makefile -@@ -16,6 +16,7 @@ - obj-$(CONFIG_USB_SL811_HCD)	+= host/ - obj-$(CONFIG_USB_U132_HCD)	+= host/ - obj-$(CONFIG_USB_R8A66597_HCD)	+= host/ -+obj-$(CONFIG_USB_ADM5120_HCD)  	+= host/ -  - obj-$(CONFIG_USB_ACM)		+= class/ - obj-$(CONFIG_USB_PRINTER)	+= class/ diff --git a/target/linux/adm5120/patches-2.6.25/006-adm5120_leds.patch b/target/linux/adm5120/patches-2.6.25/006-adm5120_leds.patch deleted file mode 100644 index ac108e512..000000000 --- a/target/linux/adm5120/patches-2.6.25/006-adm5120_leds.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/drivers/leds/Kconfig -+++ b/drivers/leds/Kconfig -@@ -25,6 +25,21 @@ - 	  This option enables support for LEDs driven using outputs - 	  of the dedicated PWM controller found on newer Atmel SOCs. -  -+config LEDS_ADM5120 -+	tristate "LED Support for ADM5120 GPIO LEDs" -+	depends on LEDS_GPIO && MIPS_ADM5120 -+	help -+	  This option enables support for LEDs connected to GPIO lines -+	  on ADM5120 SoC based platforms. -+ -+config LEDS_ADM5120_EXPERIMENTAL -+	bool "Enable ADM5120 LEDs experimental code" -+	depends on LEDS_ADM5120 -+ -+config LEDS_ADM5120_DIAG -+	bool "Enable ADM5120 LEDs diagnostic mode" -+	depends on LEDS_ADM5120 -+ - config LEDS_CORGI - 	tristate "LED Support for the Sharp SL-C7x0 series" - 	depends on LEDS_CLASS && PXA_SHARP_C7xx ---- a/drivers/leds/Makefile -+++ b/drivers/leds/Makefile -@@ -5,6 +5,7 @@ - obj-$(CONFIG_LEDS_TRIGGERS)		+= led-triggers.o -  - # LED Platform Drivers -+obj-$(CONFIG_LEDS_ADM5120)		+= leds-adm5120.o - obj-$(CONFIG_LEDS_ATMEL_PWM)		+= leds-atmel-pwm.o - obj-$(CONFIG_LEDS_CORGI)		+= leds-corgi.o - obj-$(CONFIG_LEDS_LOCOMO)		+= leds-locomo.o diff --git a/target/linux/adm5120/patches-2.6.25/007-adm5120_pci.patch b/target/linux/adm5120/patches-2.6.25/007-adm5120_pci.patch deleted file mode 100644 index 571c87675..000000000 --- a/target/linux/adm5120/patches-2.6.25/007-adm5120_pci.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -48,3 +48,4 @@ - obj-$(CONFIG_VICTOR_MPC30X)	+= fixup-mpc30x.o - obj-$(CONFIG_ZAO_CAPCELLA)	+= fixup-capcella.o - obj-$(CONFIG_WR_PPMC)		+= fixup-wrppmc.o -+obj-$(CONFIG_PCI_ADM5120)	+= pci-adm5120.o ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -1704,6 +1704,9 @@ - #define PCI_VENDOR_ID_ESDGMBH		0x12fe - #define PCI_DEVICE_ID_ESDGMBH_CPCIASIO4 0x0111 -  -+#define PCI_VENDOR_ID_ADMTEK		0x1317 -+#define PCI_DEVICE_ID_ADMTEK_ADM5120	0x5120 -+ - #define PCI_VENDOR_ID_SIIG		0x131f - #define PCI_SUBVENDOR_ID_SIIG		0x131f - #define PCI_DEVICE_ID_SIIG_1S_10x_550	0x1000 diff --git a/target/linux/adm5120/patches-2.6.25/009-adm5120_leds_switch_trigger.patch b/target/linux/adm5120/patches-2.6.25/009-adm5120_leds_switch_trigger.patch deleted file mode 100644 index 18280ed85..000000000 --- a/target/linux/adm5120/patches-2.6.25/009-adm5120_leds_switch_trigger.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/drivers/leds/Kconfig -+++ b/drivers/leds/Kconfig -@@ -213,4 +213,12 @@ - 	  This allows LEDs to be initialised in the ON state. - 	  If unsure, say Y. -  -+config LEDS_TRIGGER_ADM5120_SWITCH -+	tristate "LED ADM5120 Switch Port Status Trigger" -+	depends on LEDS_TRIGGERS && LEDS_ADM5120 -+	help -+	  This allows LEDs to be controlled by the port states of -+	  the ADM5120 built-in Ethernet Switch -+	  If unsure, say N. -+ - endif # NEW_LEDS ---- a/drivers/leds/Makefile -+++ b/drivers/leds/Makefile -@@ -30,3 +30,4 @@ - obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o - obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o - obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o -+obj-$(CONFIG_LEDS_TRIGGER_ADM5120_SWITCH) += ledtrig-adm5120-switch.o diff --git a/target/linux/adm5120/patches-2.6.25/100-mtd_myloder_partition_parser.patch b/target/linux/adm5120/patches-2.6.25/100-mtd_myloder_partition_parser.patch deleted file mode 100644 index f5188936d..000000000 --- a/target/linux/adm5120/patches-2.6.25/100-mtd_myloder_partition_parser.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/drivers/mtd/Kconfig -+++ b/drivers/mtd/Kconfig -@@ -168,6 +168,22 @@ - 	  the partition map from the children of the flash node, - 	  as described in Documentation/powerpc/booting-without-of.txt. -  -+config MTD_MYLOADER_PARTS -+	tristate "MyLoader partition parsing" -+	depends on MIPS_ADM5120 && MTD_PARTITIONS -+	---help--- -+	  MyLoader is a bootloader which allows the user to define partitions -+	  in flash devices, by putting a table in the second erase block -+	  on the device, similar to a partition table. This table gives the  -+	  offsets and lengths of the user defined partitions. -+ -+	  If you need code which can detect and parse these tables, and -+	  register MTD 'partitions' corresponding to each image detected, -+	  enable this option. -+ -+	  You will still need the parsing functions to be called by the driver -+	  for your particular device. It won't happen automatically. -+ - comment "User Modules And Translation Layers" -  - config MTD_CHAR ---- a/drivers/mtd/Makefile -+++ b/drivers/mtd/Makefile -@@ -12,6 +12,7 @@ - obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o - obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o - obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o -+obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o -  - # 'Users' - code which presents functionality to userspace. - obj-$(CONFIG_MTD_CHAR)		+= mtdchar.o diff --git a/target/linux/adm5120/patches-2.6.25/101-cfi_fixup_macronix_bootloc.patch b/target/linux/adm5120/patches-2.6.25/101-cfi_fixup_macronix_bootloc.patch deleted file mode 100644 index 917908893..000000000 --- a/target/linux/adm5120/patches-2.6.25/101-cfi_fixup_macronix_bootloc.patch +++ /dev/null @@ -1,91 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -47,12 +47,19 @@ - #define MANUFACTURER_AMD	0x0001 - #define MANUFACTURER_ATMEL	0x001F - #define MANUFACTURER_SST	0x00BF -+#define MANUFACTURER_MACRONIX	0x00C2 - #define SST49LF004B	        0x0060 - #define SST49LF040B	        0x0050 - #define SST49LF008A		0x005a - #define AT49BV6416		0x00d6 - #define MANUFACTURER_SAMSUNG	0x00ec -  -+/* Macronix */ -+#define MX29LV160B	0x2249	/* MX29LV160 Bottom-boot chip */ -+#define MX29LV160T	0x22C4	/* MX29LV160 Top-boot chip */ -+#define MX29LV320B	0x22A8	/* MX29LV320 Bottom-boot chip */ -+#define MX29LV320T	0x22A7	/* MX29LV320 Top-boot chip */ -+ - static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); - static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); - static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -221,6 +228,41 @@ - 	mtd->flags |= MTD_POWERUP_LOCK; - } -  -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+/* -+ * Some Macronix chips has no/bad bootblock information in the CFI table -+ */ -+static void fixup_macronix_bootloc(struct mtd_info *mtd, void* param) -+{ -+	struct map_info *map = mtd->priv; -+	struct cfi_private *cfi = map->fldrv_priv; -+	struct cfi_pri_amdstd *extp = cfi->cmdset_priv; -+	__u8 t; -+ -+	switch (cfi->id) { -+	/* TODO: put affected chip ids here */ -+	case MX29LV160B: -+	case MX29LV320B: -+		t = 2;	/* Bottom boot */ -+		break; -+	case MX29LV160T: -+	case MX29LV320T: -+		t = 3;	/* Top boot */ -+		break; -+	default: -+		return; -+	} -+ -+	if (extp->TopBottom == t) -+		/* boot location detected by the CFI layer is correct */ -+		return; -+ -+	extp->TopBottom = t; -+	printk("%s: Macronix chip detected, id:0x%04X, boot location forced " -+		"to %s\n", map->name, cfi->id, (t == 2) ? "bottom" : "top"); -+} -+#endif /* CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC */ -+ - static struct cfi_fixup cfi_fixup_table[] = { - 	{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, - #ifdef AMD_BOOTLOC_BUG -@@ -252,6 +294,9 @@ - 	 */ - 	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip, NULL }, - 	{ CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock, NULL }, -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+	{ MANUFACTURER_MACRONIX, CFI_ID_ANY, fixup_macronix_bootloc, NULL, }, -+#endif - 	{ 0, 0, NULL, NULL } - }; -  ---- a/drivers/mtd/chips/Kconfig -+++ b/drivers/mtd/chips/Kconfig -@@ -196,6 +196,14 @@ - 	  provides support for one of those command sets, used on chips - 	  including the AMD Am29LV320. -  -+config MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+	bool "Fix boot-block location for Macronix flash chips" -+	depends on MTD_CFI_AMDSTD -+	help -+	  Some Macronix flash chips have no/wrong boot-block location in the -+	  CFI table, and the driver may detect the type incorrectly. Select -+	  this if your board has such chip. -+ - config MTD_CFI_STAA - 	tristate "Support for ST (Advanced Architecture) flash chips" - 	depends on MTD_GEN_PROBE diff --git a/target/linux/adm5120/patches-2.6.25/102-jedec_pmc_39lvxxx_chips.patch b/target/linux/adm5120/patches-2.6.25/102-jedec_pmc_39lvxxx_chips.patch deleted file mode 100644 index 7f352f67e..000000000 --- a/target/linux/adm5120/patches-2.6.25/102-jedec_pmc_39lvxxx_chips.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/drivers/mtd/chips/jedec_probe.c -+++ b/drivers/mtd/chips/jedec_probe.c -@@ -121,6 +121,10 @@ - #define UPD29F064115	0x221C -  - /* PMC */ -+#define PM39LV512	0x001B -+#define PM39LV010	0x001C -+#define PM39LV020	0x003D -+#define PM39LV040	0x003E - #define PM49FL002	0x006D - #define PM49FL004	0x006E - #define PM49FL008	0x006A -@@ -1170,6 +1174,54 @@ - 			ERASEINFO(0x02000,2), - 			ERASEINFO(0x04000,1), - 		} -+        }, { -+		.mfr_id		= MANUFACTURER_PMC, -+		.dev_id		= PM39LV512, -+		.name		= "PMC Pm39LV512", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_64KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,16), -+		} -+        }, { -+		.mfr_id		= MANUFACTURER_PMC, -+		.dev_id		= PM39LV010, -+		.name		= "PMC Pm39LV010", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_128KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,32), -+		} -+        }, { -+		.mfr_id		= MANUFACTURER_PMC, -+		.dev_id		= PM39LV020, -+		.name		= "PMC Pm39LV020", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_256KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,64), -+		} -+        }, { -+		.mfr_id		= MANUFACTURER_PMC, -+		.dev_id		= PM39LV040, -+		.name		= "PMC Pm39LV040", -+		.devtypes	= CFI_DEVICETYPE_X8, -+		.uaddr		= MTD_UADDR_0x0555_0x02AA, -+		.dev_size	= SIZE_512KiB, -+		.cmd_set	= P_ID_AMD_STD, -+		.nr_regions	= 1, -+		.regions	= { -+			ERASEINFO(0x01000,128), -+		} - 	}, { - 		.mfr_id		= MANUFACTURER_PMC, - 		.dev_id		= PM49FL002, diff --git a/target/linux/adm5120/patches-2.6.25/103-mtd_trxsplit.patch b/target/linux/adm5120/patches-2.6.25/103-mtd_trxsplit.patch deleted file mode 100644 index 267293aa5..000000000 --- a/target/linux/adm5120/patches-2.6.25/103-mtd_trxsplit.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/drivers/mtd/Kconfig -+++ b/drivers/mtd/Kconfig -@@ -57,6 +57,11 @@ - 	depends on MTD_PARTITIONS - 	default y -  -+config MTD_TRXSPLIT -+	bool "Automatically find and split TRX partitions" -+	depends on MTD_PARTITIONS -+	default n -+ - config MTD_REDBOOT_PARTS - 	tristate "RedBoot partition table parsing" - 	depends on MTD_PARTITIONS ---- a/drivers/mtd/Makefile -+++ b/drivers/mtd/Makefile -@@ -8,6 +8,7 @@ - mtd-$(CONFIG_MTD_PARTITIONS)	+= mtdpart.o -  - obj-$(CONFIG_MTD_CONCAT)	+= mtdconcat.o -+obj-$(CONFIG_MTD_TRXSPLIT)	+= trxsplit.o - obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o - obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o - obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o diff --git a/target/linux/adm5120/patches-2.6.25/120-rb153_cf_driver.patch b/target/linux/adm5120/patches-2.6.25/120-rb153_cf_driver.patch deleted file mode 100644 index 6f371e340..000000000 --- a/target/linux/adm5120/patches-2.6.25/120-rb153_cf_driver.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/ata/Makefile -+++ b/drivers/ata/Makefile -@@ -71,6 +71,7 @@ - obj-$(CONFIG_PATA_PLATFORM)	+= pata_platform.o - obj-$(CONFIG_PATA_OF_PLATFORM)	+= pata_of_platform.o - obj-$(CONFIG_PATA_ICSIDE)	+= pata_icside.o -+obj-$(CONFIG_PATA_RB153_CF)	+= pata_rb153_cf.o - # Should be last but two libata driver - obj-$(CONFIG_PATA_ACPI)		+= pata_acpi.o - # Should be last but one libata driver ---- a/drivers/ata/Kconfig -+++ b/drivers/ata/Kconfig -@@ -679,4 +679,13 @@ -  - 	  If unsure, say N. -  -+config PATA_RB153_CF -+	tristate "RouterBOARD 153 Compact Flash support" -+	depends on MIPS_ADM5120 -+	help -+	  This option enables support for a Compact Flash connected on -+	  the RouterBOARD 153. -+ -+	  If unsure, say N. -+ - endif # ATA diff --git a/target/linux/adm5120/patches-2.6.25/140-cmdline_hack.patch b/target/linux/adm5120/patches-2.6.25/140-cmdline_hack.patch deleted file mode 100644 index 1ced3f62d..000000000 --- a/target/linux/adm5120/patches-2.6.25/140-cmdline_hack.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/arch/mips/kernel/head.S -+++ b/arch/mips/kernel/head.S -@@ -126,7 +126,12 @@ - 	/* - 	 * Reserved space for exception handlers. - 	 * Necessary for machines which link their kernels at KSEG0. -+	 * Use as temporary storage for the kernel command line, so that it -+	 * can be updated easily without having to relink the kernel. - 	 */ -+ -+EXPORT(_image_cmdline) -+	.ascii "CMDLINE:" - 	.fill	0x400 - #endif -  diff --git a/target/linux/adm5120/patches-2.6.25/200-amba_pl010_hacks.patch b/target/linux/adm5120/patches-2.6.25/200-amba_pl010_hacks.patch deleted file mode 100644 index 97b06acec..000000000 --- a/target/linux/adm5120/patches-2.6.25/200-amba_pl010_hacks.patch +++ /dev/null @@ -1,293 +0,0 @@ ---- a/drivers/serial/amba-pl010.c -+++ b/drivers/serial/amba-pl010.c -@@ -52,11 +52,10 @@ -  - #include <asm/io.h> -  --#define UART_NR		8 -- - #define SERIAL_AMBA_MAJOR	204 - #define SERIAL_AMBA_MINOR	16 --#define SERIAL_AMBA_NR		UART_NR -+#define SERIAL_AMBA_NR		CONFIG_SERIAL_AMBA_PL010_NUMPORTS -+#define SERIAL_AMBA_NAME	CONFIG_SERIAL_AMBA_PL010_PORTNAME -  - #define AMBA_ISR_PASS_LIMIT	256 -  -@@ -82,7 +81,7 @@ - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = readl(uap->port.membase + UART010_CR); - 	cr &= ~UART010_CR_TIE; - 	writel(cr, uap->port.membase + UART010_CR); - } -@@ -92,7 +91,7 @@ - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = readl(uap->port.membase + UART010_CR); - 	cr |= UART010_CR_TIE; - 	writel(cr, uap->port.membase + UART010_CR); - } -@@ -102,7 +101,7 @@ - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = readl(uap->port.membase + UART010_CR); - 	cr &= ~(UART010_CR_RIE | UART010_CR_RTIE); - 	writel(cr, uap->port.membase + UART010_CR); - } -@@ -112,7 +111,7 @@ - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; - 	unsigned int cr; -  --	cr = readb(uap->port.membase + UART010_CR); -+	cr = readl(uap->port.membase + UART010_CR); - 	cr |= UART010_CR_MSIE; - 	writel(cr, uap->port.membase + UART010_CR); - } -@@ -122,9 +121,9 @@ - 	struct tty_struct *tty = uap->port.info->tty; - 	unsigned int status, ch, flag, rsr, max_count = 256; -  --	status = readb(uap->port.membase + UART01x_FR); -+	status = readl(uap->port.membase + UART01x_FR); - 	while (UART_RX_DATA(status) && max_count--) { --		ch = readb(uap->port.membase + UART01x_DR); -+		ch = readl(uap->port.membase + UART01x_DR); - 		flag = TTY_NORMAL; -  - 		uap->port.icount.rx++; -@@ -133,7 +132,7 @@ - 		 * Note that the error handling code is - 		 * out of the main execution path - 		 */ --		rsr = readb(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; -+		rsr = readl(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; - 		if (unlikely(rsr & UART01x_RSR_ANY)) { - 			writel(0, uap->port.membase + UART01x_ECR); -  -@@ -165,7 +164,7 @@ - 		uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); -  - 	ignore_char: --		status = readb(uap->port.membase + UART01x_FR); -+		status = readl(uap->port.membase + UART01x_FR); - 	} - 	spin_unlock(&uap->port.lock); - 	tty_flip_buffer_push(tty); -@@ -210,7 +209,7 @@ -  - 	writel(0, uap->port.membase + UART010_ICR); -  --	status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+	status = readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -  - 	delta = status ^ uap->old_status; - 	uap->old_status = status; -@@ -238,7 +237,7 @@ -  - 	spin_lock(&uap->port.lock); -  --	status = readb(uap->port.membase + UART010_IIR); -+	status = readl(uap->port.membase + UART010_IIR); - 	if (status) { - 		do { - 			if (status & (UART010_IIR_RTIS | UART010_IIR_RIS)) -@@ -251,7 +250,7 @@ - 			if (pass_counter-- == 0) - 				break; -  --			status = readb(uap->port.membase + UART010_IIR); -+			status = readl(uap->port.membase + UART010_IIR); - 		} while (status & (UART010_IIR_RTIS | UART010_IIR_RIS | - 				   UART010_IIR_TIS)); - 		handled = 1; -@@ -265,7 +264,7 @@ - static unsigned int pl010_tx_empty(struct uart_port *port) - { - 	struct uart_amba_port *uap = (struct uart_amba_port *)port; --	unsigned int status = readb(uap->port.membase + UART01x_FR); -+	unsigned int status = readl(uap->port.membase + UART01x_FR); - 	return status & UART01x_FR_BUSY ? 0 : TIOCSER_TEMT; - } -  -@@ -275,7 +274,7 @@ - 	unsigned int result = 0; - 	unsigned int status; -  --	status = readb(uap->port.membase + UART01x_FR); -+	status = readl(uap->port.membase + UART01x_FR); - 	if (status & UART01x_FR_DCD) - 		result |= TIOCM_CAR; - 	if (status & UART01x_FR_DSR) -@@ -301,7 +300,7 @@ - 	unsigned int lcr_h; -  - 	spin_lock_irqsave(&uap->port.lock, flags); --	lcr_h = readb(uap->port.membase + UART010_LCRH); -+	lcr_h = readl(uap->port.membase + UART010_LCRH); - 	if (break_state == -1) - 		lcr_h |= UART01x_LCRH_BRK; - 	else -@@ -334,7 +333,7 @@ - 	/* - 	 * initialise the old status of the modem signals - 	 */ --	uap->old_status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+	uap->old_status = readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -  - 	/* - 	 * Finally, enable interrupts -@@ -365,7 +364,7 @@ - 	writel(0, uap->port.membase + UART010_CR); -  - 	/* disable break condition and fifos */ --	writel(readb(uap->port.membase + UART010_LCRH) & -+	writel(readl(uap->port.membase + UART010_LCRH) & - 		~(UART01x_LCRH_BRK | UART01x_LCRH_FEN), - 	       uap->port.membase + UART010_LCRH); -  -@@ -387,7 +386,7 @@ - 	/* - 	 * Ask the core to calculate the divisor for us. - 	 */ --	baud = uart_get_baud_rate(port, termios, old, 0, uap->port.uartclk/16);  -+	baud = uart_get_baud_rate(port, termios, old, 0, uap->port.uartclk/16); - 	quot = uart_get_divisor(port, baud); -  - 	switch (termios->c_cflag & CSIZE) { -@@ -450,7 +449,7 @@ - 		uap->port.ignore_status_mask |= UART_DUMMY_RSR_RX; -  - 	/* first, disable everything */ --	old_cr = readb(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; -+	old_cr = readl(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; -  - 	if (UART_ENABLE_MS(port, termios->c_cflag)) - 		old_cr |= UART010_CR_MSIE; -@@ -540,7 +539,7 @@ - 	.verify_port	= pl010_verify_port, - }; -  --static struct uart_amba_port *amba_ports[UART_NR]; -+static struct uart_amba_port *amba_ports[SERIAL_AMBA_NR]; -  - #ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE -  -@@ -550,7 +549,7 @@ - 	unsigned int status; -  - 	do { --		status = readb(uap->port.membase + UART01x_FR); -+		status = readl(uap->port.membase + UART01x_FR); - 		barrier(); - 	} while (!UART_TX_READY(status)); - 	writel(ch, uap->port.membase + UART01x_DR); -@@ -567,7 +566,7 @@ - 	/* - 	 *	First save the CR then disable the interrupts - 	 */ --	old_cr = readb(uap->port.membase + UART010_CR); -+	old_cr = readl(uap->port.membase + UART010_CR); - 	writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); -  - 	uart_console_write(&uap->port, s, count, pl010_console_putchar); -@@ -577,7 +576,7 @@ - 	 *	and restore the TCR - 	 */ - 	do { --		status = readb(uap->port.membase + UART01x_FR); -+		status = readl(uap->port.membase + UART01x_FR); - 		barrier(); - 	} while (status & UART01x_FR_BUSY); - 	writel(old_cr, uap->port.membase + UART010_CR); -@@ -589,9 +588,9 @@ - pl010_console_get_options(struct uart_amba_port *uap, int *baud, - 			     int *parity, int *bits) - { --	if (readb(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { -+	if (readl(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { - 		unsigned int lcr_h, quot; --		lcr_h = readb(uap->port.membase + UART010_LCRH); -+		lcr_h = readl(uap->port.membase + UART010_LCRH); -  - 		*parity = 'n'; - 		if (lcr_h & UART01x_LCRH_PEN) { -@@ -606,8 +605,8 @@ - 		else - 			*bits = 8; -  --		quot = readb(uap->port.membase + UART010_LCRL) | --		       readb(uap->port.membase + UART010_LCRM) << 8; -+		quot = readl(uap->port.membase + UART010_LCRL) | -+		       readl(uap->port.membase + UART010_LCRM) << 8; - 		*baud = uap->port.uartclk / (16 * (quot + 1)); - 	} - } -@@ -625,7 +624,7 @@ - 	 * if so, search for the first available port that does have - 	 * console support. - 	 */ --	if (co->index >= UART_NR) -+	if (co->index >= SERIAL_AMBA_NR) - 		co->index = 0; - 	uap = amba_ports[co->index]; - 	if (!uap) -@@ -643,7 +642,7 @@ -  - static struct uart_driver amba_reg; - static struct console amba_console = { --	.name		= "ttyAM", -+	.name		= SERIAL_AMBA_NAME, - 	.write		= pl010_console_write, - 	.device		= uart_console_device, - 	.setup		= pl010_console_setup, -@@ -659,11 +658,11 @@ -  - static struct uart_driver amba_reg = { - 	.owner			= THIS_MODULE, --	.driver_name		= "ttyAM", --	.dev_name		= "ttyAM", -+	.driver_name		= SERIAL_AMBA_NAME, -+	.dev_name		= SERIAL_AMBA_NAME, - 	.major			= SERIAL_AMBA_MAJOR, - 	.minor			= SERIAL_AMBA_MINOR, --	.nr			= UART_NR, -+	.nr			= SERIAL_AMBA_NR, - 	.cons			= AMBA_CONSOLE, - }; -  ---- a/drivers/serial/Kconfig -+++ b/drivers/serial/Kconfig -@@ -287,10 +287,25 @@ - 	help - 	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have - 	  an Integrator/AP or Integrator/PP2 platform, or if you have a --	  Cirrus Logic EP93xx CPU, say Y or M here. -+	  Cirrus Logic EP93xx CPU or an Infineon ADM5120 SOC, say Y or M here. -  - 	  If unsure, say N. -  -+config SERIAL_AMBA_PL010_NUMPORTS -+	int "Maximum number of AMBA PL010 serial ports" -+	depends on SERIAL_AMBA_PL010 -+	default "8" -+	---help--- -+	  Set this to the number of serial ports you want the AMBA PL010 driver -+	  to support. -+ -+config SERIAL_AMBA_PL010_PORTNAME -+	string "Name of the AMBA PL010 serial ports" -+	depends on SERIAL_AMBA_PL010 -+	default "ttyAM" -+	---help--- -+	  ::: To be written ::: -+ - config SERIAL_AMBA_PL010_CONSOLE - 	bool "Support for console on AMBA serial port" - 	depends on SERIAL_AMBA_PL010=y diff --git a/target/linux/adm5120/patches-2.6.25/201-amba_bus_hacks.patch b/target/linux/adm5120/patches-2.6.25/201-amba_bus_hacks.patch deleted file mode 100644 index 299f21652..000000000 --- a/target/linux/adm5120/patches-2.6.25/201-amba_bus_hacks.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/drivers/amba/bus.c -+++ b/drivers/amba/bus.c -@@ -17,6 +17,10 @@ - #include <asm/io.h> - #include <asm/sizes.h> -  -+#ifndef NO_IRQ -+#define NO_IRQ		(-1) -+#endif -+ - #define to_amba_device(d)	container_of(d, struct amba_device, dev) - #define to_amba_driver(d)	container_of(d, struct amba_driver, drv) -  diff --git a/target/linux/adm5120/patches-2.6.25/202-pci_disable_common_quirks.patch b/target/linux/adm5120/patches-2.6.25/202-pci_disable_common_quirks.patch deleted file mode 100644 index 25149885a..000000000 --- a/target/linux/adm5120/patches-2.6.25/202-pci_disable_common_quirks.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/drivers/pci/Kconfig -+++ b/drivers/pci/Kconfig -@@ -42,6 +42,12 @@ -  - 	  When in doubt, say N. -  -+config PCI_DISABLE_COMMON_QUIRKS -+	bool "PCI disable common quirks" -+	depends on PCI -+	help -+	  If you don't know what to do here, say N. -+ - config HT_IRQ - 	bool "Interrupts on hypertransport devices" - 	default y ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -24,6 +24,7 @@ - #include <linux/kallsyms.h> - #include "pci.h" -  -+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS - /* The Mellanox Tavor device gives false positive parity errors -  * Mark this device with a broken_parity_status, to allow -  * PCI scanning code to "skip" this now blacklisted device. -@@ -1495,6 +1496,7 @@ - 	} - } - DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); -+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ -  - static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end) - { -@@ -1562,6 +1564,7 @@ - } - EXPORT_SYMBOL(pci_fixup_device); -  -+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS - /* Enable 1k I/O space granularity on the Intel P64H2 */ - static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) - { -@@ -1875,3 +1878,4 @@ - 			quirk_msi_intx_disable_bug); -  - #endif /* CONFIG_PCI_MSI */ -+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ diff --git a/target/linux/adm5120/patches-2.6.25/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches-2.6.25/203-gpio_leds_brightness.patch deleted file mode 100644 index 06394da29..000000000 --- a/target/linux/adm5120/patches-2.6.25/203-gpio_leds_brightness.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/leds/leds-gpio.c -+++ b/drivers/leds/leds-gpio.c -@@ -41,13 +41,17 @@ - 		container_of(led_cdev, struct gpio_led_data, cdev); - 	int level; -  --	if (value == LED_OFF) --		level = 0; --	else --		level = 1; -- --	if (led_dat->active_low) --		level = !level; -+	switch (value) { -+	case LED_OFF: -+		level = led_dat->active_low ? 1 : 0; -+		break; -+	case LED_FULL: -+		level = led_dat->active_low ? 0 : 1; -+		break; -+	default: -+		level = value; -+		break; -+	} -  - 	/* Setting GPIOs with I2C/etc requires a task context, and we don't - 	 * seem to have a reliable way to know if we're already in one; so diff --git a/target/linux/adm5120/patches-2.6.25/310-adm5120_wdt.patch b/target/linux/adm5120/patches-2.6.25/310-adm5120_wdt.patch deleted file mode 100644 index 78eb62862..000000000 --- a/target/linux/adm5120/patches-2.6.25/310-adm5120_wdt.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -619,6 +619,18 @@ -  - # MIPS Architecture -  -+config ADM5120_WDT -+	tristate "Infineon ADM5120 SoC hardware watchdog" -+	depends on WATCHDOG && MIPS_ADM5120 -+	help -+	  This is a driver for hardware watchdog integrated in Infineon -+	  ADM5120 SoC. This watchdog simply watches your kernel to make sure -+	  it doesn't freeze, and if it does, it reboots your computer after a -+	  certain amount of time. -+ -+	  To compile this driver as a module, choose M here: the module will be -+	  called adm5120_wdt. -+ - config INDYDOG - 	tristate "Indy/I2 Hardware Watchdog" - 	depends on SGI_HAS_INDYDOG ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -90,6 +90,7 @@ - # M68KNOMMU Architecture -  - # MIPS Architecture -+obj-$(CONFIG_ADM5120_WDT) += adm5120_wdt.o - obj-$(CONFIG_INDYDOG) += indydog.o - obj-$(CONFIG_WDT_MTX1)	+= mtx-1_wdt.o - obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o diff --git a/target/linux/adm5120/patches-2.6.25/900-usb_bump_version_number.patch b/target/linux/adm5120/patches-2.6.25/900-usb_bump_version_number.patch deleted file mode 100644 index d15c89c00..000000000 --- a/target/linux/adm5120/patches-2.6.25/900-usb_bump_version_number.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/usb/host/adm5120-hcd.c -+++ b/drivers/usb/host/adm5120-hcd.c -@@ -45,7 +45,7 @@ - #include "../core/hcd.h" - #include "../core/hub.h" -  --#define DRIVER_VERSION	"0.24.0" -+#define DRIVER_VERSION	"0.25.0" - #define DRIVER_AUTHOR	"Gabor Juhos <juhosg at openwrt.org>" - #define DRIVER_DESC	"ADMtek USB 1.1 Host Controller Driver" -  diff --git a/target/linux/adm5120/patches-2.6.25/901-usb_convert_from_class_device.patch b/target/linux/adm5120/patches-2.6.25/901-usb_convert_from_class_device.patch deleted file mode 100644 index da868ccba..000000000 --- a/target/linux/adm5120/patches-2.6.25/901-usb_convert_from_class_device.patch +++ /dev/null @@ -1,107 +0,0 @@ ---- a/drivers/usb/host/adm5120-dbg.c -+++ b/drivers/usb/host/adm5120-dbg.c -@@ -456,7 +456,7 @@ - } -  - static ssize_t --show_async(struct class_device *class_dev, char *buf) -+show_async(struct device *dev, struct device_attribute *attr, char *buf) - { - 	struct usb_bus		*bus; - 	struct usb_hcd		*hcd; -@@ -464,7 +464,7 @@ - 	size_t			temp; - 	unsigned long		flags; -  --	bus = class_get_devdata(class_dev); -+	bus = dev_get_drvdata(dev); - 	hcd = bus_to_hcd(bus); - 	ahcd = hcd_to_admhcd(hcd); -  -@@ -475,13 +475,13 @@ -  - 	return temp; - } --static CLASS_DEVICE_ATTR(async, S_IRUGO, show_async, NULL); -+static DEVICE_ATTR(async, S_IRUGO, show_async, NULL); -  -  - #define DBG_SCHED_LIMIT 64 -  - static ssize_t --show_periodic(struct class_device *class_dev, char *buf) -+show_periodic(struct device *dev, struct device_attribute *attr, char *buf) - { - 	struct usb_bus		*bus; - 	struct usb_hcd		*hcd; -@@ -496,7 +496,7 @@ - 		return 0; - 	seen_count = 0; -  --	bus = class_get_devdata(class_dev); -+	bus = dev_get_drvdata(dev); - 	hcd = bus_to_hcd(bus); - 	ahcd = hcd_to_admhcd(hcd); - 	next = buf; -@@ -574,13 +574,13 @@ -  - 	return PAGE_SIZE - size; - } --static CLASS_DEVICE_ATTR(periodic, S_IRUGO, show_periodic, NULL); -+static DEVICE_ATTR(periodic, S_IRUGO, show_periodic, NULL); -  -  - #undef DBG_SCHED_LIMIT -  - static ssize_t --show_registers(struct class_device *class_dev, char *buf) -+show_registers(struct device *dev, struct device_attribute *attr, char *buf) - { - 	struct usb_bus		*bus; - 	struct usb_hcd		*hcd; -@@ -591,7 +591,7 @@ - 	char			*next; - 	u32			rdata; -  --	bus = class_get_devdata(class_dev); -+	bus = dev_get_drvdata(dev); - 	hcd = bus_to_hcd(bus); - 	ahcd = hcd_to_admhcd(hcd); - 	regs = ahcd->regs; -@@ -656,27 +656,27 @@ - 	spin_unlock_irqrestore(&ahcd->lock, flags); - 	return PAGE_SIZE - size; - } --static CLASS_DEVICE_ATTR(registers, S_IRUGO, show_registers, NULL); -+static DEVICE_ATTR(registers, S_IRUGO, show_registers, NULL); -  -  - static inline void create_debug_files (struct admhcd *ahcd) - { --	struct class_device *cldev = admhcd_to_hcd(ahcd)->self.class_dev; -+	struct device *dev = admhcd_to_hcd(ahcd)->self.dev; - 	int retval; -  --	retval = class_device_create_file(cldev, &class_device_attr_async); --	retval = class_device_create_file(cldev, &class_device_attr_periodic); --	retval = class_device_create_file(cldev, &class_device_attr_registers); -+	retval = device_create_file(dev, &dev_attr_async); -+	retval = device_create_file(dev, &dev_attr_periodic); -+	retval = device_create_file(dev, &dev_attr_registers); - 	admhc_dbg(ahcd, "created debug files\n"); - } -  - static inline void remove_debug_files (struct admhcd *ahcd) - { --	struct class_device *cldev = admhcd_to_hcd(ahcd)->self.class_dev; -+	struct device *dev = admhcd_to_hcd(ahcd)->self.dev; -  --	class_device_remove_file(cldev, &class_device_attr_async); --	class_device_remove_file(cldev, &class_device_attr_periodic); --	class_device_remove_file(cldev, &class_device_attr_registers); -+	device_remove_file(dev, &dev_attr_async); -+	device_remove_file(dev, &dev_attr_periodic); -+	device_remove_file(dev, &dev_attr_registers); - } -  - #endif diff --git a/target/linux/adm5120/patches-2.6.25/902-usb_use_debugfs_instead_of_sysfs.patch b/target/linux/adm5120/patches-2.6.25/902-usb_use_debugfs_instead_of_sysfs.patch deleted file mode 100644 index 5b513c0f6..000000000 --- a/target/linux/adm5120/patches-2.6.25/902-usb_use_debugfs_instead_of_sysfs.patch +++ /dev/null @@ -1,357 +0,0 @@ ---- a/drivers/usb/host/adm5120.h -+++ b/drivers/usb/host/adm5120.h -@@ -431,6 +431,13 @@ - #define	OHCI_QUIRK_BE_MMIO	0x10			/* BE registers */ - #define	OHCI_QUIRK_ZFMICRO	0x20			/* Compaq ZFMicro chipset*/ - 	// there are also chip quirks/bugs in init logic -+ -+#ifdef DEBUG -+	struct dentry		*debug_dir; -+	struct dentry		*debug_async; -+	struct dentry		*debug_periodic; -+	struct dentry		*debug_registers; -+#endif - }; -  - /* convert between an hcd pointer and the corresponding ahcd_hcd */ ---- a/drivers/usb/host/adm5120-hcd.c -+++ b/drivers/usb/host/adm5120-hcd.c -@@ -35,6 +35,7 @@ - #include <linux/dma-mapping.h> - #include <linux/dmapool.h> - #include <linux/reboot.h> -+#include <linux/debugfs.h> -  - #include <asm/io.h> - #include <asm/irq.h> -@@ -804,6 +805,14 @@ - 	pr_info("%s: block sizes: ed %Zd td %Zd\n", hcd_name, - 		sizeof (struct ed), sizeof (struct td)); -  -+#ifdef DEBUG -+	admhc_debug_root = debugfs_create_dir("admhc", NULL); -+	if (!admhc_debug_root) { -+		ret = -ENOENT; -+		goto error_debug; -+	} -+#endif -+ - #ifdef PLATFORM_DRIVER - 	ret = platform_driver_register(&PLATFORM_DRIVER); - 	if (ret < 0) -@@ -816,6 +825,12 @@ - 	platform_driver_unregister(&PLATFORM_DRIVER); - error_platform: - #endif -+ -+#ifdef DEBUG -+	debugfs_remove(admhc_debug_root); -+	admhc_debug_root = NULL; -+error_debug: -+#endif - 	return ret; - } - module_init(admhc_hcd_mod_init); -@@ -823,6 +838,9 @@ - static void __exit admhc_hcd_mod_exit(void) - { - 	platform_driver_unregister(&PLATFORM_DRIVER); -+#ifdef DEBUG -+	debugfs_remove(admhc_debug_root); -+#endif - } - module_exit(admhc_hcd_mod_exit); -  ---- a/drivers/usb/host/adm5120-dbg.c -+++ b/drivers/usb/host/adm5120-dbg.c -@@ -390,6 +390,42 @@ -  - #else -  -+static int debug_async_open(struct inode *, struct file *); -+static int debug_periodic_open(struct inode *, struct file *); -+static int debug_registers_open(struct inode *, struct file *); -+static int debug_async_open(struct inode *, struct file *); -+static ssize_t debug_output(struct file*, char __user*, size_t, loff_t*); -+static int debug_close(struct inode *, struct file *); -+ -+static const struct file_operations debug_async_fops = { -+	.owner		= THIS_MODULE, -+	.open		= debug_async_open, -+	.read		= debug_output, -+	.release	= debug_close, -+}; -+static const struct file_operations debug_periodic_fops = { -+	.owner		= THIS_MODULE, -+	.open		= debug_periodic_open, -+	.read		= debug_output, -+	.release	= debug_close, -+}; -+static const struct file_operations debug_registers_fops = { -+	.owner		= THIS_MODULE, -+	.open		= debug_registers_open, -+	.read		= debug_output, -+	.release	= debug_close, -+}; -+ -+static struct dentry *admhc_debug_root; -+ -+struct debug_buffer { -+	ssize_t (*fill_func)(struct debug_buffer *);    /* fill method */ -+	struct device *dev; -+	struct mutex mutex;     /* protect filling of buffer */ -+	size_t count;           /* number of characters filled into buffer */ -+	char *page; -+}; -+ - static ssize_t - show_list(struct admhcd *ahcd, char *buf, size_t count, struct ed *ed) - { -@@ -455,8 +491,7 @@ - 	return count - size; - } -  --static ssize_t --show_async(struct device *dev, struct device_attribute *attr, char *buf) -+static ssize_t fill_async_buffer(struct debug_buffer *buf) - { - 	struct usb_bus		*bus; - 	struct usb_hcd		*hcd; -@@ -464,24 +499,22 @@ - 	size_t			temp; - 	unsigned long		flags; -  --	bus = dev_get_drvdata(dev); -+	bus = dev_get_drvdata(buf->dev); - 	hcd = bus_to_hcd(bus); - 	ahcd = hcd_to_admhcd(hcd); -  - 	/* display control and bulk lists together, for simplicity */ - 	spin_lock_irqsave(&ahcd->lock, flags); --	temp = show_list(ahcd, buf, PAGE_SIZE, ahcd->ed_head); -+	temp = show_list(ahcd, buf->page, buf->count, ahcd->ed_head); - 	spin_unlock_irqrestore(&ahcd->lock, flags); -  - 	return temp; - } --static DEVICE_ATTR(async, S_IRUGO, show_async, NULL); -  -  - #define DBG_SCHED_LIMIT 64 -  --static ssize_t --show_periodic(struct device *dev, struct device_attribute *attr, char *buf) -+static ssize_t fill_periodic_buffer(struct debug_buffer *buf) - { - 	struct usb_bus		*bus; - 	struct usb_hcd		*hcd; -@@ -496,10 +529,10 @@ - 		return 0; - 	seen_count = 0; -  --	bus = dev_get_drvdata(dev); -+	bus = dev_get_drvdata(buf->dev); - 	hcd = bus_to_hcd(bus); - 	ahcd = hcd_to_admhcd(hcd); --	next = buf; -+	next = buf->page; - 	size = PAGE_SIZE; -  - 	temp = scnprintf(next, size, "size = %d\n", NUM_INTS); -@@ -574,13 +607,11 @@ -  - 	return PAGE_SIZE - size; - } --static DEVICE_ATTR(periodic, S_IRUGO, show_periodic, NULL); -  -  - #undef DBG_SCHED_LIMIT -  --static ssize_t --show_registers(struct device *dev, struct device_attribute *attr, char *buf) -+static ssize_t fill_registers_buffer(struct debug_buffer *buf) - { - 	struct usb_bus		*bus; - 	struct usb_hcd		*hcd; -@@ -591,11 +622,11 @@ - 	char			*next; - 	u32			rdata; -  --	bus = dev_get_drvdata(dev); -+	bus = dev_get_drvdata(buf->dev); - 	hcd = bus_to_hcd(bus); - 	ahcd = hcd_to_admhcd(hcd); - 	regs = ahcd->regs; --	next = buf; -+	next = buf->page; - 	size = PAGE_SIZE; -  - 	spin_lock_irqsave(&ahcd->lock, flags); -@@ -656,27 +687,154 @@ - 	spin_unlock_irqrestore(&ahcd->lock, flags); - 	return PAGE_SIZE - size; - } --static DEVICE_ATTR(registers, S_IRUGO, show_registers, NULL); -  -  --static inline void create_debug_files (struct admhcd *ahcd) -+static struct debug_buffer *alloc_buffer(struct device *dev, -+				ssize_t (*fill_func)(struct debug_buffer *)) - { --	struct device *dev = admhcd_to_hcd(ahcd)->self.dev; --	int retval; -+	struct debug_buffer *buf; -  --	retval = device_create_file(dev, &dev_attr_async); --	retval = device_create_file(dev, &dev_attr_periodic); --	retval = device_create_file(dev, &dev_attr_registers); --	admhc_dbg(ahcd, "created debug files\n"); -+	buf = kzalloc(sizeof(struct debug_buffer), GFP_KERNEL); -+ -+	if (buf) { -+		buf->dev = dev; -+		buf->fill_func = fill_func; -+		mutex_init(&buf->mutex); -+	} -+ -+	return buf; -+} -+ -+static int fill_buffer(struct debug_buffer *buf) -+{ -+	int ret = 0; -+ -+	if (!buf->page) -+		buf->page = (char *)get_zeroed_page(GFP_KERNEL); -+ -+	if (!buf->page) { -+		ret = -ENOMEM; -+		goto out; -+	} -+ -+	ret = buf->fill_func(buf); -+ -+	if (ret >= 0) { -+		buf->count = ret; -+		ret = 0; -+	} -+ -+out: -+	return ret; -+} -+ -+static ssize_t debug_output(struct file *file, char __user *user_buf, -+			size_t len, loff_t *offset) -+{ -+	struct debug_buffer *buf = file->private_data; -+	int ret = 0; -+ -+	mutex_lock(&buf->mutex); -+	if (buf->count == 0) { -+		ret = fill_buffer(buf); -+		if (ret != 0) { -+			mutex_unlock(&buf->mutex); -+			goto out; -+		} -+	} -+	mutex_unlock(&buf->mutex); -+ -+	ret = simple_read_from_buffer(user_buf, len, offset, -+					buf->page, buf->count); -+ -+out: -+	return ret; -+} -+ -+static int debug_close(struct inode *inode, struct file *file) -+{ -+	struct debug_buffer *buf = file->private_data; -+ -+	if (buf) { -+		if (buf->page) -+			free_page((unsigned long)buf->page); -+		kfree(buf); -+	} -+ -+	return 0; - } -  --static inline void remove_debug_files (struct admhcd *ahcd) -+static int debug_async_open(struct inode *inode, struct file *file) - { --	struct device *dev = admhcd_to_hcd(ahcd)->self.dev; -+	file->private_data = alloc_buffer(inode->i_private, fill_async_buffer); -+ -+	return file->private_data ? 0 : -ENOMEM; -+} -+ -+static int debug_periodic_open(struct inode *inode, struct file *file) -+{ -+	file->private_data = alloc_buffer(inode->i_private, -+						fill_periodic_buffer); -+ -+	return file->private_data ? 0 : -ENOMEM; -+} -  --	device_remove_file(dev, &dev_attr_async); --	device_remove_file(dev, &dev_attr_periodic); --	device_remove_file(dev, &dev_attr_registers); -+static int debug_registers_open(struct inode *inode, struct file *file) -+{ -+	file->private_data = alloc_buffer(inode->i_private, -+						fill_registers_buffer); -+ -+	return file->private_data ? 0 : -ENOMEM; -+} -+ -+static inline void create_debug_files(struct admhcd *ahcd) -+{ -+	struct usb_bus *bus = &admhcd_to_hcd(ahcd)->self; -+	struct device *dev = bus->dev; -+ -+	ahcd->debug_dir = debugfs_create_dir(bus->bus_name, admhc_debug_root); -+	if (!ahcd->debug_dir) -+		goto dir_error; -+ -+	ahcd->debug_async = debugfs_create_file("async", S_IRUGO, -+						ahcd->debug_dir, dev, -+						&debug_async_fops); -+	if (!ahcd->debug_async) -+		goto async_error; -+ -+	ahcd->debug_periodic = debugfs_create_file("periodic", S_IRUGO, -+						ahcd->debug_dir, dev, -+						&debug_periodic_fops); -+	if (!ahcd->debug_periodic) -+		goto periodic_error; -+ -+	ahcd->debug_registers = debugfs_create_file("registers", S_IRUGO, -+						ahcd->debug_dir, dev, -+						&debug_registers_fops); -+	if (!ahcd->debug_registers) -+		goto registers_error; -+ -+	admhc_dbg(ahcd, "created debug files\n"); -+	return; -+ -+registers_error: -+	debugfs_remove(ahcd->debug_periodic); -+periodic_error: -+	debugfs_remove(ahcd->debug_async); -+async_error: -+	debugfs_remove(ahcd->debug_dir); -+dir_error: -+	ahcd->debug_periodic = NULL; -+	ahcd->debug_async = NULL; -+	ahcd->debug_dir = NULL; -+} -+ -+static inline void remove_debug_files(struct admhcd *ahcd) -+{ -+	debugfs_remove(ahcd->debug_registers); -+	debugfs_remove(ahcd->debug_periodic); -+	debugfs_remove(ahcd->debug_async); -+	debugfs_remove(ahcd->debug_dir); - } -  - #endif diff --git a/target/linux/adm5120/patches-2.6.25/910-pata_rb153_cf_fix_compiler_warning.patch b/target/linux/adm5120/patches-2.6.25/910-pata_rb153_cf_fix_compiler_warning.patch deleted file mode 100644 index 27ae067d9..000000000 --- a/target/linux/adm5120/patches-2.6.25/910-pata_rb153_cf_fix_compiler_warning.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/drivers/ata/pata_rb153_cf.c -+++ b/drivers/ata/pata_rb153_cf.c -@@ -68,20 +68,23 @@ - 	rb153_pata_finish_io(ap); - } -  --static void rb153_pata_data_xfer(struct ata_device *adev, unsigned char *buf, -+static unsigned int rb153_pata_data_xfer(struct ata_device *adev, unsigned char *buf, - 				unsigned int buflen, int write_data) - { - 	void __iomem *ioaddr = adev->link->ap->ioaddr.data_addr; -- -+	unsigned int t; -+	 -+	t = buflen;	 - 	if (write_data) { --		for (; buflen > 0; buflen--, buf++) -+		for (; t > 0; t--, buf++) - 			writeb(*buf, ioaddr); - 	} else { --		for (; buflen > 0; buflen--, buf++) -+		for (; t > 0; t--, buf++) - 			*buf = readb(ioaddr); - 	} -  - 	rb153_pata_finish_io(adev->link->ap); -+	return buflen; - } -  - static void rb153_pata_freeze(struct ata_port *ap) diff --git a/target/linux/adm5120/patches/001-adm5120.patch b/target/linux/adm5120/patches/001-adm5120.patch index 26c026504..84d0a8d2f 100644 --- a/target/linux/adm5120/patches/001-adm5120.patch +++ b/target/linux/adm5120/patches/001-adm5120.patch @@ -1,6 +1,6 @@  --- a/arch/mips/Kconfig  +++ b/arch/mips/Kconfig -@@ -16,6 +16,20 @@ +@@ -18,6 +18,20 @@   	prompt "System type"   	default SGI_IP22 @@ -21,17 +21,17 @@   config MACH_ALCHEMY   	bool "Alchemy processor based machines" -@@ -689,6 +703,7 @@ +@@ -683,6 +697,7 @@   endchoice  +source "arch/mips/adm5120/Kconfig"   source "arch/mips/au1000/Kconfig" + source "arch/mips/basler/excite/Kconfig"   source "arch/mips/jazz/Kconfig" - source "arch/mips/lasat/Kconfig"  --- a/arch/mips/Makefile  +++ b/arch/mips/Makefile -@@ -166,6 +166,16 @@ +@@ -174,6 +174,16 @@   load-$(CONFIG_MACH_JAZZ)	+= 0xffffffff80080000   # @@ -50,9 +50,9 @@   core-$(CONFIG_SOC_AU1X00)	+= arch/mips/au1000/common/  --- a/include/asm-mips/bootinfo.h  +++ b/include/asm-mips/bootinfo.h -@@ -198,6 +198,58 @@ - #define MACH_GROUP_BRCM		23	/* Broadcom			*/ - #define  MACH_BCM47XX		1	/* Broadcom BCM47XX		*/ +@@ -94,6 +94,58 @@ + #define MACH_MSP7120_FPGA       5	/* PMC-Sierra MSP7120 Emulation */ + #define MACH_MSP_OTHER        255	/* PMC-Sierra unknown board type */  +/*  + * Valid machtype for group ADMtek ADM5120 @@ -108,4 +108,4 @@  +   #define CL_SIZE			COMMAND_LINE_SIZE - const char *get_system_type(void); + extern char *system_type; diff --git a/target/linux/adm5120/patches/002-adm5120_flash.patch b/target/linux/adm5120/patches/002-adm5120_flash.patch index d2326fa95..143952321 100644 --- a/target/linux/adm5120/patches/002-adm5120_flash.patch +++ b/target/linux/adm5120/patches/002-adm5120_flash.patch @@ -1,6 +1,6 @@  --- a/drivers/mtd/maps/Kconfig  +++ b/drivers/mtd/maps/Kconfig -@@ -597,5 +597,9 @@ +@@ -590,5 +590,9 @@   	  This selection automatically selects the map_ram driver. @@ -12,7 +12,7 @@  --- a/drivers/mtd/maps/Makefile  +++ b/drivers/mtd/maps/Makefile -@@ -45,6 +45,7 @@ +@@ -44,6 +44,7 @@   obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o   obj-$(CONFIG_MTD_PCI)		+= pci.o   obj-$(CONFIG_MTD_ALCHEMY)       += alchemy-flash.o diff --git a/target/linux/adm5120/patches/003-adm5120_switch.patch b/target/linux/adm5120/patches/003-adm5120_switch.patch index 1d2e428dd..20718119f 100644 --- a/target/linux/adm5120/patches/003-adm5120_switch.patch +++ b/target/linux/adm5120/patches/003-adm5120_switch.patch @@ -1,6 +1,6 @@  --- a/drivers/net/Kconfig  +++ b/drivers/net/Kconfig -@@ -601,6 +601,10 @@ +@@ -606,6 +606,10 @@   	  If you have an Alchemy Semi AU1X00 based system   	  say Y.  Otherwise, say N. @@ -13,7 +13,7 @@   	depends on PCI && SGI_IP27  --- a/drivers/net/Makefile  +++ b/drivers/net/Makefile -@@ -183,6 +183,7 @@ +@@ -187,6 +187,7 @@   # This is also a 82596 and should probably be merged   obj-$(CONFIG_LP486E) += lp486e.o diff --git a/target/linux/adm5120/patches/005-adm5120_usb.patch b/target/linux/adm5120/patches/005-adm5120_usb.patch index ef9a4fd9d..4ab31dd98 100644 --- a/target/linux/adm5120/patches/005-adm5120_usb.patch +++ b/target/linux/adm5120/patches/005-adm5120_usb.patch @@ -1,6 +1,6 @@  --- a/drivers/usb/host/Kconfig  +++ b/drivers/usb/host/Kconfig -@@ -261,3 +261,6 @@ +@@ -260,3 +260,6 @@   	  To compile this driver as a module, choose M here: the   	  module will be called r8a66597-hcd. diff --git a/target/linux/adm5120/patches/006-adm5120_leds.patch b/target/linux/adm5120/patches/006-adm5120_leds.patch index 6c8886da5..ac108e512 100644 --- a/target/linux/adm5120/patches/006-adm5120_leds.patch +++ b/target/linux/adm5120/patches/006-adm5120_leds.patch @@ -1,8 +1,8 @@  --- a/drivers/leds/Kconfig  +++ b/drivers/leds/Kconfig -@@ -18,6 +18,21 @@ -  - comment "LED drivers" +@@ -25,6 +25,21 @@ + 	  This option enables support for LEDs driven using outputs + 	  of the dedicated PWM controller found on newer Atmel SOCs.  +config LEDS_ADM5120  +	tristate "LED Support for ADM5120 GPIO LEDs" @@ -29,6 +29,6 @@   # LED Platform Drivers  +obj-$(CONFIG_LEDS_ADM5120)		+= leds-adm5120.o + obj-$(CONFIG_LEDS_ATMEL_PWM)		+= leds-atmel-pwm.o   obj-$(CONFIG_LEDS_CORGI)		+= leds-corgi.o   obj-$(CONFIG_LEDS_LOCOMO)		+= leds-locomo.o - obj-$(CONFIG_LEDS_SPITZ)		+= leds-spitz.o diff --git a/target/linux/adm5120/patches/007-adm5120_pci.patch b/target/linux/adm5120/patches/007-adm5120_pci.patch index 540b7d90e..75d3be65c 100644 --- a/target/linux/adm5120/patches/007-adm5120_pci.patch +++ b/target/linux/adm5120/patches/007-adm5120_pci.patch @@ -7,7 +7,7 @@  +obj-$(CONFIG_PCI_ADM5120)	+= pci-adm5120.o  --- a/include/linux/pci_ids.h  +++ b/include/linux/pci_ids.h -@@ -1703,6 +1703,9 @@ +@@ -1705,6 +1705,9 @@   #define PCI_VENDOR_ID_ESDGMBH		0x12fe   #define PCI_DEVICE_ID_ESDGMBH_CPCIASIO4 0x0111 diff --git a/target/linux/adm5120/patches/009-adm5120_leds_switch_trigger.patch b/target/linux/adm5120/patches/009-adm5120_leds_switch_trigger.patch index bb0403875..18280ed85 100644 --- a/target/linux/adm5120/patches/009-adm5120_leds_switch_trigger.patch +++ b/target/linux/adm5120/patches/009-adm5120_leds_switch_trigger.patch @@ -1,6 +1,6 @@  --- a/drivers/leds/Kconfig  +++ b/drivers/leds/Kconfig -@@ -178,4 +178,12 @@ +@@ -213,4 +213,12 @@   	  This allows LEDs to be initialised in the ON state.   	  If unsure, say Y. @@ -15,7 +15,7 @@   endif # NEW_LEDS  --- a/drivers/leds/Makefile  +++ b/drivers/leds/Makefile -@@ -28,3 +28,4 @@ +@@ -30,3 +30,4 @@   obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o   obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o   obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o diff --git a/target/linux/adm5120/patches/100-mtd_myloder_partition_parser.patch b/target/linux/adm5120/patches/100-mtd_myloder_partition_parser.patch index fe9c45b09..f5188936d 100644 --- a/target/linux/adm5120/patches/100-mtd_myloder_partition_parser.patch +++ b/target/linux/adm5120/patches/100-mtd_myloder_partition_parser.patch @@ -1,8 +1,8 @@  --- a/drivers/mtd/Kconfig  +++ b/drivers/mtd/Kconfig -@@ -160,6 +160,22 @@ - 	  for your particular device. It won't happen automatically. The - 	  'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. +@@ -168,6 +168,22 @@ + 	  the partition map from the children of the flash node, + 	  as described in Documentation/powerpc/booting-without-of.txt.  +config MTD_MYLOADER_PARTS  +	tristate "MyLoader partition parsing" @@ -25,10 +25,10 @@   config MTD_CHAR  --- a/drivers/mtd/Makefile  +++ b/drivers/mtd/Makefile -@@ -11,6 +11,7 @@ - obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o +@@ -12,6 +12,7 @@   obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o   obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o + obj-$(CONFIG_MTD_OF_PARTS)      += ofpart.o  +obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o   # 'Users' - code which presents functionality to userspace. diff --git a/target/linux/adm5120/patches/101-cfi_fixup_macronix_bootloc.patch b/target/linux/adm5120/patches/101-cfi_fixup_macronix_bootloc.patch index 9acb626bb..917908893 100644 --- a/target/linux/adm5120/patches/101-cfi_fixup_macronix_bootloc.patch +++ b/target/linux/adm5120/patches/101-cfi_fixup_macronix_bootloc.patch @@ -20,8 +20,8 @@   static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);   static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);   static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -217,6 +224,41 @@ - 	mtd->flags |= MTD_STUPID_LOCK; +@@ -221,6 +228,41 @@ + 	mtd->flags |= MTD_POWERUP_LOCK;   }  +#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC @@ -60,18 +60,18 @@  +#endif /* CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC */  +   static struct cfi_fixup cfi_fixup_table[] = { - #ifdef AMD_BOOTLOC_BUG - 	{ CFI_MFR_AMD, CFI_ID_ANY, fixup_amd_bootblock, NULL }, -@@ -231,6 +273,9 @@ - 	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, }, - #endif   	{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, + #ifdef AMD_BOOTLOC_BUG +@@ -252,6 +294,9 @@ + 	 */ + 	{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip, NULL }, + 	{ CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock, NULL },  +#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC  +	{ MANUFACTURER_MACRONIX, CFI_ID_ANY, fixup_macronix_bootloc, NULL, },  +#endif   	{ 0, 0, NULL, NULL }   }; - static struct cfi_fixup jedec_fixup_table[] = { +   --- a/drivers/mtd/chips/Kconfig  +++ b/drivers/mtd/chips/Kconfig  @@ -196,6 +196,14 @@ diff --git a/target/linux/adm5120/patches/102-jedec_pmc_39lvxxx_chips.patch b/target/linux/adm5120/patches/102-jedec_pmc_39lvxxx_chips.patch index 0c512ea6a..7f352f67e 100644 --- a/target/linux/adm5120/patches/102-jedec_pmc_39lvxxx_chips.patch +++ b/target/linux/adm5120/patches/102-jedec_pmc_39lvxxx_chips.patch @@ -11,7 +11,7 @@   #define PM49FL002	0x006D   #define PM49FL004	0x006E   #define PM49FL008	0x006A -@@ -1264,6 +1268,58 @@ +@@ -1170,6 +1174,54 @@   			ERASEINFO(0x02000,2),   			ERASEINFO(0x04000,1),   		} @@ -19,12 +19,11 @@  +		.mfr_id		= MANUFACTURER_PMC,  +		.dev_id		= PM39LV512,  +		.name		= "PMC Pm39LV512", -+ 		.uaddr		= { -+			[0] = MTD_UADDR_0x0555_0x02AA /* x8 */ -+		}, -+		.DevSize	= SIZE_64KiB, -+		.CmdSet		= P_ID_AMD_STD, -+		.NumEraseRegions= 1, ++		.devtypes	= CFI_DEVICETYPE_X8, ++		.uaddr		= MTD_UADDR_0x0555_0x02AA, ++		.dev_size	= SIZE_64KiB, ++		.cmd_set	= P_ID_AMD_STD, ++		.nr_regions	= 1,  +		.regions	= {  +			ERASEINFO(0x01000,16),  +		} @@ -32,12 +31,11 @@  +		.mfr_id		= MANUFACTURER_PMC,  +		.dev_id		= PM39LV010,  +		.name		= "PMC Pm39LV010", -+ 		.uaddr		= { -+			[0] = MTD_UADDR_0x0555_0x02AA /* x8 */ -+		}, -+		.DevSize	= SIZE_128KiB, -+		.CmdSet		= P_ID_AMD_STD, -+		.NumEraseRegions= 1, ++		.devtypes	= CFI_DEVICETYPE_X8, ++		.uaddr		= MTD_UADDR_0x0555_0x02AA, ++		.dev_size	= SIZE_128KiB, ++		.cmd_set	= P_ID_AMD_STD, ++		.nr_regions	= 1,  +		.regions	= {  +			ERASEINFO(0x01000,32),  +		} @@ -45,12 +43,11 @@  +		.mfr_id		= MANUFACTURER_PMC,  +		.dev_id		= PM39LV020,  +		.name		= "PMC Pm39LV020", -+ 		.uaddr		= { -+			[0] = MTD_UADDR_0x0555_0x02AA /* x8 */ -+		}, -+		.DevSize	= SIZE_256KiB, -+		.CmdSet		= P_ID_AMD_STD, -+		.NumEraseRegions= 1, ++		.devtypes	= CFI_DEVICETYPE_X8, ++		.uaddr		= MTD_UADDR_0x0555_0x02AA, ++		.dev_size	= SIZE_256KiB, ++		.cmd_set	= P_ID_AMD_STD, ++		.nr_regions	= 1,  +		.regions	= {  +			ERASEINFO(0x01000,64),  +		} @@ -58,12 +55,11 @@  +		.mfr_id		= MANUFACTURER_PMC,  +		.dev_id		= PM39LV040,  +		.name		= "PMC Pm39LV040", -+ 		.uaddr		= { -+			[0] = MTD_UADDR_0x0555_0x02AA /* x8 */ -+		}, -+		.DevSize	= SIZE_512KiB, -+		.CmdSet		= P_ID_AMD_STD, -+		.NumEraseRegions= 1, ++		.devtypes	= CFI_DEVICETYPE_X8, ++		.uaddr		= MTD_UADDR_0x0555_0x02AA, ++		.dev_size	= SIZE_512KiB, ++		.cmd_set	= P_ID_AMD_STD, ++		.nr_regions	= 1,  +		.regions	= {  +			ERASEINFO(0x01000,128),  +		} diff --git a/target/linux/adm5120/patches/120-rb153_cf_driver.patch b/target/linux/adm5120/patches/120-rb153_cf_driver.patch index ad07b7a8a..6f371e340 100644 --- a/target/linux/adm5120/patches/120-rb153_cf_driver.patch +++ b/target/linux/adm5120/patches/120-rb153_cf_driver.patch @@ -1,6 +1,6 @@  --- a/drivers/ata/Makefile  +++ b/drivers/ata/Makefile -@@ -69,6 +69,7 @@ +@@ -71,6 +71,7 @@   obj-$(CONFIG_PATA_PLATFORM)	+= pata_platform.o   obj-$(CONFIG_PATA_OF_PLATFORM)	+= pata_of_platform.o   obj-$(CONFIG_PATA_ICSIDE)	+= pata_icside.o @@ -10,7 +10,7 @@   # Should be last but one libata driver  --- a/drivers/ata/Kconfig  +++ b/drivers/ata/Kconfig -@@ -660,4 +660,13 @@ +@@ -679,4 +679,13 @@   	  If unsure, say N. diff --git a/target/linux/adm5120/patches/202-pci_disable_common_quirks.patch b/target/linux/adm5120/patches/202-pci_disable_common_quirks.patch index 13142add3..25149885a 100644 --- a/target/linux/adm5120/patches/202-pci_disable_common_quirks.patch +++ b/target/linux/adm5120/patches/202-pci_disable_common_quirks.patch @@ -15,15 +15,15 @@   	default y  --- a/drivers/pci/quirks.c  +++ b/drivers/pci/quirks.c -@@ -23,6 +23,7 @@ - #include <linux/acpi.h> +@@ -24,6 +24,7 @@ + #include <linux/kallsyms.h>   #include "pci.h"  +#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS   /* The Mellanox Tavor device gives false positive parity errors    * Mark this device with a broken_parity_status, to allow    * PCI scanning code to "skip" this now blacklisted device. -@@ -1480,6 +1481,7 @@ +@@ -1495,6 +1496,7 @@   	}   }   DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); @@ -31,7 +31,7 @@   static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end)   { -@@ -1543,6 +1545,7 @@ +@@ -1562,6 +1564,7 @@   }   EXPORT_SYMBOL(pci_fixup_device); @@ -39,7 +39,7 @@   /* Enable 1k I/O space granularity on the Intel P64H2 */   static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)   { -@@ -1756,3 +1759,4 @@ +@@ -1875,3 +1878,4 @@   			quirk_msi_intx_disable_bug);   #endif /* CONFIG_PCI_MSI */ diff --git a/target/linux/adm5120/patches/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches/203-gpio_leds_brightness.patch index 3e9f5271c..06394da29 100644 --- a/target/linux/adm5120/patches/203-gpio_leds_brightness.patch +++ b/target/linux/adm5120/patches/203-gpio_leds_brightness.patch @@ -23,5 +23,5 @@  +		break;  +	} - 	/* setting GPIOs with I2C/etc requires a preemptible task context */ - 	if (led_dat->can_sleep) { + 	/* Setting GPIOs with I2C/etc requires a task context, and we don't + 	 * seem to have a reliable way to know if we're already in one; so diff --git a/target/linux/adm5120/patches/310-adm5120_wdt.patch b/target/linux/adm5120/patches/310-adm5120_wdt.patch index 1136ee8e6..78eb62862 100644 --- a/target/linux/adm5120/patches/310-adm5120_wdt.patch +++ b/target/linux/adm5120/patches/310-adm5120_wdt.patch @@ -1,6 +1,6 @@  --- a/drivers/watchdog/Kconfig  +++ b/drivers/watchdog/Kconfig -@@ -607,6 +607,18 @@ +@@ -619,6 +619,18 @@   # MIPS Architecture @@ -18,10 +18,10 @@  +   config INDYDOG   	tristate "Indy/I2 Hardware Watchdog" - 	depends on SGI_IP22 + 	depends on SGI_HAS_INDYDOG  --- a/drivers/watchdog/Makefile  +++ b/drivers/watchdog/Makefile -@@ -89,6 +89,7 @@ +@@ -90,6 +90,7 @@   # M68KNOMMU Architecture   # MIPS Architecture diff --git a/target/linux/adm5120/router_be/config-2.6.25 b/target/linux/adm5120/router_be/config-2.6.25 deleted file mode 100644 index b61be5cfe..000000000 --- a/target/linux/adm5120/router_be/config-2.6.25 +++ /dev/null @@ -1,269 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_64BIT is not set -CONFIG_ADM5120_CPU_OVERRIDES=y -CONFIG_ADM5120_WDT=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_ARCH_POPULATES_NODE_MAP=y -# CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_ARCH_SUPPORTS_OPROFILE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARM_AMBA=y -CONFIG_BASE_SMALL=0 -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -# CONFIG_BCM47XX is not set -CONFIG_BINFMT_MISC=m -CONFIG_BITREVERSE=y -CONFIG_CEVT_R4K=y -CONFIG_CIFS_DEBUG2=y -CONFIG_CIFS_EXPERIMENTAL=y -CONFIG_CIFS_STATS2=y -CONFIG_CIFS_WEAK_PW_HASH=y -CONFIG_CIFS_XATTR=y -CONFIG_CLASSIC_RCU=y -CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit" -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_CPU_HAS_LLSC=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -# CONFIG_CPU_LITTLE_ENDIAN is not set -# CONFIG_CPU_LOONGSON2 is not set -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R1=y -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -CONFIG_CPU_MIPSR1=y -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_VR41XX is not set -CONFIG_CRYPTO_AEAD=m -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CSRC_R4K=y -CONFIG_DEVPORT=y -# CONFIG_DM9000 is not set -CONFIG_DMA_NEED_PCI_MAP_STATE=y -CONFIG_DMA_NONCOHERENT=y -# CONFIG_E1000E_ENABLED is not set -CONFIG_EARLY_PRINTK=y -CONFIG_ELF_CORE=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -CONFIG_EXT3_FS_XATTR=y -CONFIG_FS_MBCACHE=m -CONFIG_FS_POSIX_ACL=y -CONFIG_GENERIC_ACL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_GPIO=y -# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_IDE=y -# CONFIG_HAVE_KPROBES is not set -# CONFIG_HAVE_KRETPROBES is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_HID=m -CONFIG_HID_SUPPORT=y -CONFIG_HW_HAS_PCI=y -CONFIG_HW_RANDOM=y -CONFIG_HZ=250 -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_I2C is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IDE is not set -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -CONFIG_INPUT=m -# CONFIG_INPUT_EVDEV is not set -CONFIG_IPV6_MIP6=m -CONFIG_IPV6_PRIVACY=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IRQ_CPU=y -# CONFIG_JOLIET is not set -CONFIG_LEDS_ADM5120=m -# CONFIG_LEDS_ADM5120_DIAG is not set -# CONFIG_LEDS_ADM5120_EXPERIMENTAL is not set -# CONFIG_LEDS_ALIX is not set -CONFIG_LEDS_GPIO=m -CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_LEMOTE_FULONG is not set -CONFIG_LZO_COMPRESS=m -CONFIG_LZO_DECOMPRESS=m -# CONFIG_MACH_ALCHEMY is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_MEMSTICK is not set -CONFIG_MII=m -# CONFIG_MINIX_FS is not set -CONFIG_MIPS=y -CONFIG_MIPS_ADM5120=y -CONFIG_MIPS_ADM5120_ENET=y -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_COBALT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MALTA is not set -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -# CONFIG_MIPS_SEAD is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -CONFIG_MTD_ADM5120=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_BLOCK2MTD=y -CONFIG_MTD_CFI=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_CFI_INTELEXT is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_MYLOADER_PARTS is not set -# CONFIG_MTD_ONENAND is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -CONFIG_MTD_TRXSPLIT=y -# CONFIG_NET_PCI is not set -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_NO_IOPORT is not set -# CONFIG_PAGE_SIZE_16KB is not set -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_PCI=y -# CONFIG_PCIPCWATCHDOG is not set -CONFIG_PCI_ADM5120=y -CONFIG_PCI_DISABLE_COMMON_QUIRKS=y -CONFIG_PCI_DOMAINS=y -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_RTC is not set -CONFIG_RTC_LIB=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -CONFIG_SCSI_WAIT_SCAN=m -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_AMBA_PL010=y -CONFIG_SERIAL_AMBA_PL010_CONSOLE=y -CONFIG_SERIAL_AMBA_PL010_NUMPORTS=2 -CONFIG_SERIAL_AMBA_PL010_PORTNAME="ttyS" -# CONFIG_SERIAL_AMBA_PL011 is not set -CONFIG_SERIO=y -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_I8042 is not set -# CONFIG_SERIO_LIBPS2 is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_RAW is not set -CONFIG_SERIO_SERPORT=y -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP28 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -CONFIG_SLABINFO=y -CONFIG_SOFT_WATCHDOG=m -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -CONFIG_SSB_POSSIBLE=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -# CONFIG_THERMAL is not set -CONFIG_TICK_ONESHOT=y -CONFIG_TMPFS_POSIX_ACL=y -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set -CONFIG_TRAD_SIGNALS=y -CONFIG_USB=m -# CONFIG_USBPCWATCHDOG is not set -CONFIG_USB_ADM5120_HCD=m -CONFIG_USB_DEBUG=y -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_VGASTATE is not set -CONFIG_VIDEO_V4L2_COMMON=m -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/adm5120/router_be/config-default b/target/linux/adm5120/router_be/config-default index 3d0c41fee..b61be5cfe 100644 --- a/target/linux/adm5120/router_be/config-default +++ b/target/linux/adm5120/router_be/config-default @@ -7,6 +7,7 @@ CONFIG_ADM5120_WDT=y  CONFIG_ARCH_POPULATES_NODE_MAP=y  # CONFIG_ARCH_SUPPORTS_MSI is not set  CONFIG_ARCH_SUPPORTS_OPROFILE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y  CONFIG_ARM_AMBA=y  CONFIG_BASE_SMALL=0  CONFIG_BAYCOM_SER_FDX=m @@ -20,6 +21,7 @@ CONFIG_CIFS_EXPERIMENTAL=y  CONFIG_CIFS_STATS2=y  CONFIG_CIFS_WEAK_PW_HASH=y  CONFIG_CIFS_XATTR=y +CONFIG_CLASSIC_RCU=y  CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/etc/preinit"  CONFIG_CPU_BIG_ENDIAN=y  CONFIG_CPU_HAS_LLSC=y @@ -50,12 +52,15 @@ CONFIG_CPU_SUPPORTS_HIGHMEM=y  # CONFIG_CPU_TX39XX is not set  # CONFIG_CPU_TX49XX is not set  # CONFIG_CPU_VR41XX is not set +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_GF128MUL=m  CONFIG_CSRC_R4K=y  CONFIG_DEVPORT=y  # CONFIG_DM9000 is not set  CONFIG_DMA_NEED_PCI_MAP_STATE=y  CONFIG_DMA_NONCOHERENT=y -# CONFIG_E1000E is not set +# CONFIG_E1000E_ENABLED is not set  CONFIG_EARLY_PRINTK=y  CONFIG_ELF_CORE=y  # CONFIG_EXT3_FS_POSIX_ACL is not set @@ -73,6 +78,10 @@ CONFIG_GENERIC_GPIO=y  CONFIG_HAS_DMA=y  CONFIG_HAS_IOMEM=y  CONFIG_HAS_IOPORT=y +CONFIG_HAVE_IDE=y +# CONFIG_HAVE_KPROBES is not set +# CONFIG_HAVE_KRETPROBES is not set +CONFIG_HAVE_OPROFILE=y  CONFIG_HID=m  CONFIG_HID_SUPPORT=y  CONFIG_HW_HAS_PCI=y @@ -92,7 +101,6 @@ CONFIG_INOTIFY=y  CONFIG_INOTIFY_USER=y  CONFIG_INPUT=m  # CONFIG_INPUT_EVDEV is not set -# CONFIG_IP1000 is not set  CONFIG_IPV6_MIP6=m  CONFIG_IPV6_PRIVACY=y  CONFIG_IPV6_ROUTE_INFO=y @@ -103,15 +111,19 @@ CONFIG_IRQ_CPU=y  CONFIG_LEDS_ADM5120=m  # CONFIG_LEDS_ADM5120_DIAG is not set  # CONFIG_LEDS_ADM5120_EXPERIMENTAL is not set +# CONFIG_LEDS_ALIX is not set  CONFIG_LEDS_GPIO=m  CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m  CONFIG_LEGACY_PTYS=y  CONFIG_LEGACY_PTY_COUNT=256  # CONFIG_LEMOTE_FULONG is not set +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m  # CONFIG_MACH_ALCHEMY is not set  # CONFIG_MACH_DECSTATION is not set  # CONFIG_MACH_JAZZ is not set  # CONFIG_MACH_VR41XX is not set +# CONFIG_MEMSTICK is not set  CONFIG_MII=m  # CONFIG_MINIX_FS is not set  CONFIG_MIPS=y @@ -174,7 +186,6 @@ CONFIG_MTD_PARTITIONS=y  # CONFIG_MTD_ROM is not set  # CONFIG_MTD_SLRAM is not set  CONFIG_MTD_TRXSPLIT=y -CONFIG_NETDEV_1000=y  # CONFIG_NET_PCI is not set  # CONFIG_NET_PKTGEN is not set  # CONFIG_NET_VENDOR_3COM is not set @@ -213,18 +224,17 @@ CONFIG_SERIO=y  CONFIG_SERIO_SERPORT=y  # CONFIG_SGI_IP22 is not set  # CONFIG_SGI_IP27 is not set +# CONFIG_SGI_IP28 is not set  # CONFIG_SGI_IP32 is not set  # CONFIG_SIBYTE_BIGSUR is not set  # CONFIG_SIBYTE_CARMEL is not set  # CONFIG_SIBYTE_CRHINE is not set  # CONFIG_SIBYTE_CRHONE is not set  # CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_PTSWARM is not set  # CONFIG_SIBYTE_RHONE is not set  # CONFIG_SIBYTE_SENTOSA is not set  # CONFIG_SIBYTE_SWARM is not set  CONFIG_SLABINFO=y -# CONFIG_SND_USB_AUDIO is not set  CONFIG_SOFT_WATCHDOG=m  # CONFIG_SPARSEMEM_STATIC is not set  # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set @@ -236,6 +246,7 @@ CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y  CONFIG_SYS_SUPPORTS_ARBIT_HZ=y  CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y  CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y +# CONFIG_THERMAL is not set  CONFIG_TICK_ONESHOT=y  CONFIG_TMPFS_POSIX_ACL=y  # CONFIG_TOSHIBA_JMR3927 is not set @@ -244,21 +255,15 @@ CONFIG_TMPFS_POSIX_ACL=y  CONFIG_TRAD_SIGNALS=y  CONFIG_USB=m  # CONFIG_USBPCWATCHDOG is not set -# CONFIG_USB_ACM is not set  CONFIG_USB_ADM5120_HCD=m -# CONFIG_USB_ATM is not set -# CONFIG_USB_CATC is not set -# CONFIG_USB_DEVICEFS is not set -# CONFIG_USB_EHCI_HCD is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_SERIAL is not set -# CONFIG_USB_STORAGE is not set +CONFIG_USB_DEBUG=y +CONFIG_USB_EHCI_HCD=m +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_R8A66597_HCD is not set  # CONFIG_USB_UHCI_HCD is not set -# CONFIG_USB_USBNET is not set -# CONFIG_USER_NS is not set  # CONFIG_VGASTATE is not set +CONFIG_VIDEO_V4L2_COMMON=m  CONFIG_VM_EVENT_COUNTERS=y -# CONFIG_ZD1211RW is not set  CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/adm5120/router_le/config-2.6.25 b/target/linux/adm5120/router_le/config-2.6.25 deleted file mode 100644 index 25ca729b1..000000000 --- a/target/linux/adm5120/router_le/config-2.6.25 +++ /dev/null @@ -1,291 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_64BIT is not set -CONFIG_ADM5120_CPU_OVERRIDES=y -CONFIG_ADM5120_WDT=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_ARCH_POPULATES_NODE_MAP=y -# CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_ARCH_SUPPORTS_OPROFILE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARM_AMBA=y -CONFIG_BASE_SMALL=0 -CONFIG_BAYCOM_SER_FDX=m -CONFIG_BAYCOM_SER_HDX=m -# CONFIG_BCM47XX is not set -CONFIG_BINFMT_MISC=m -CONFIG_BITREVERSE=y -CONFIG_CEVT_R4K=y -CONFIG_CIFS_DEBUG2=y -CONFIG_CIFS_EXPERIMENTAL=y -CONFIG_CIFS_STATS2=y -CONFIG_CIFS_WEAK_PW_HASH=y -CONFIG_CIFS_XATTR=y -CONFIG_CLASSIC_RCU=y -CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,yaffs2,jffs2 init=/etc/preinit" -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_HAS_LLSC=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -# CONFIG_CPU_LOONGSON2 is not set -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R1=y -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -CONFIG_CPU_MIPSR1=y -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_VR41XX is not set -CONFIG_CRYPTO_AEAD=m -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_GF128MUL=m -CONFIG_CSRC_R4K=y -CONFIG_DEVPORT=y -# CONFIG_DM9000 is not set -CONFIG_DMA_NEED_PCI_MAP_STATE=y -CONFIG_DMA_NONCOHERENT=y -# CONFIG_E1000E_ENABLED is not set -CONFIG_EARLY_PRINTK=y -CONFIG_ELF_CORE=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -CONFIG_EXT3_FS_XATTR=y -CONFIG_FS_MBCACHE=m -CONFIG_FS_POSIX_ACL=y -CONFIG_GENERIC_ACL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_GPIO=y -# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_IDE=y -# CONFIG_HAVE_KPROBES is not set -# CONFIG_HAVE_KRETPROBES is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_HID=m -CONFIG_HID_SUPPORT=y -CONFIG_HW_HAS_PCI=y -CONFIG_HW_RANDOM=y -CONFIG_HZ=250 -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_I2C is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IDE is not set -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -CONFIG_INPUT=m -# CONFIG_INPUT_EVDEV is not set -CONFIG_IPV6_MIP6=m -CONFIG_IPV6_PRIVACY=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IRQ_CPU=y -# CONFIG_JOLIET is not set -CONFIG_LEDS_ADM5120=m -# CONFIG_LEDS_ADM5120_DIAG is not set -# CONFIG_LEDS_ADM5120_EXPERIMENTAL is not set -# CONFIG_LEDS_ALIX is not set -CONFIG_LEDS_GPIO=m -CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_LEMOTE_FULONG is not set -CONFIG_LZO_COMPRESS=m -CONFIG_LZO_DECOMPRESS=m -# CONFIG_MACH_ALCHEMY is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_MEMSTICK is not set -CONFIG_MII=m -# CONFIG_MINIX_FS is not set -CONFIG_MIPS=y -CONFIG_MIPS_ADM5120=y -CONFIG_MIPS_ADM5120_ENET=y -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_COBALT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MALTA is not set -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -# CONFIG_MIPS_SEAD is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -CONFIG_MTD_ADM5120=y -# CONFIG_MTD_ALAUDA is not set -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_MTD_BLOCK2MTD is not set -CONFIG_MTD_CFI=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_CFI_INTELEXT is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_GEN_PROBE=y -CONFIG_MTD_JEDECPROBE=y -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -CONFIG_MTD_MYLOADER_PARTS=y -CONFIG_MTD_NAND=y -# CONFIG_MTD_NAND_CAFE is not set -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -# CONFIG_MTD_NAND_NANDSIM is not set -CONFIG_MTD_NAND_PLATFORM=y -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -CONFIG_MTD_TRXSPLIT=y -# CONFIG_NETFILTER_XT_TARGET_TARPIT is not set -# CONFIG_NET_PCI is not set -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_NO_IOPORT is not set -# CONFIG_PAGE_SIZE_16KB is not set -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_PCI=y -# CONFIG_PCIPCWATCHDOG is not set -CONFIG_PCI_ADM5120=y -CONFIG_PCI_DISABLE_COMMON_QUIRKS=y -CONFIG_PCI_DOMAINS=y -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_RTC is not set -CONFIG_RTC_LIB=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -CONFIG_SCSI_WAIT_SCAN=m -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_AMBA_PL010=y -CONFIG_SERIAL_AMBA_PL010_CONSOLE=y -CONFIG_SERIAL_AMBA_PL010_NUMPORTS=2 -CONFIG_SERIAL_AMBA_PL010_PORTNAME="ttyS" -# CONFIG_SERIAL_AMBA_PL011 is not set -CONFIG_SERIO=y -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_I8042 is not set -# CONFIG_SERIO_LIBPS2 is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_RAW is not set -CONFIG_SERIO_SERPORT=y -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP28 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -CONFIG_SLABINFO=y -CONFIG_SOFT_WATCHDOG=m -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -CONFIG_SSB_POSSIBLE=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -# CONFIG_THERMAL is not set -CONFIG_TICK_ONESHOT=y -CONFIG_TMPFS_POSIX_ACL=y -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set -CONFIG_TRAD_SIGNALS=y -CONFIG_USB=m -# CONFIG_USBPCWATCHDOG is not set -CONFIG_USB_ADM5120_HCD=m -CONFIG_USB_DEBUG=y -CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_VGASTATE is not set -CONFIG_VIDEO_V4L1=y -CONFIG_VIDEO_V4L2_COMMON=m -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_YAFFS_9BYTE_TAGS=y -# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set -CONFIG_YAFFS_AUTO_YAFFS2=y -CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=0 -# CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set -# CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set -CONFIG_YAFFS_FS=y -CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y -CONFIG_YAFFS_YAFFS1=y -CONFIG_YAFFS_YAFFS2=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/adm5120/router_le/config-default b/target/linux/adm5120/router_le/config-default index cf4044a5d..25ca729b1 100644 --- a/target/linux/adm5120/router_le/config-default +++ b/target/linux/adm5120/router_le/config-default @@ -7,6 +7,7 @@ CONFIG_ADM5120_WDT=y  CONFIG_ARCH_POPULATES_NODE_MAP=y  # CONFIG_ARCH_SUPPORTS_MSI is not set  CONFIG_ARCH_SUPPORTS_OPROFILE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y  CONFIG_ARM_AMBA=y  CONFIG_BASE_SMALL=0  CONFIG_BAYCOM_SER_FDX=m @@ -20,6 +21,7 @@ CONFIG_CIFS_EXPERIMENTAL=y  CONFIG_CIFS_STATS2=y  CONFIG_CIFS_WEAK_PW_HASH=y  CONFIG_CIFS_XATTR=y +CONFIG_CLASSIC_RCU=y  CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,yaffs2,jffs2 init=/etc/preinit"  # CONFIG_CPU_BIG_ENDIAN is not set  CONFIG_CPU_HAS_LLSC=y @@ -50,11 +52,15 @@ CONFIG_CPU_SUPPORTS_HIGHMEM=y  # CONFIG_CPU_TX39XX is not set  # CONFIG_CPU_TX49XX is not set  # CONFIG_CPU_VR41XX is not set +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_GF128MUL=m  CONFIG_CSRC_R4K=y  CONFIG_DEVPORT=y  # CONFIG_DM9000 is not set  CONFIG_DMA_NEED_PCI_MAP_STATE=y  CONFIG_DMA_NONCOHERENT=y +# CONFIG_E1000E_ENABLED is not set  CONFIG_EARLY_PRINTK=y  CONFIG_ELF_CORE=y  # CONFIG_EXT3_FS_POSIX_ACL is not set @@ -72,6 +78,10 @@ CONFIG_GENERIC_GPIO=y  CONFIG_HAS_DMA=y  CONFIG_HAS_IOMEM=y  CONFIG_HAS_IOPORT=y +CONFIG_HAVE_IDE=y +# CONFIG_HAVE_KPROBES is not set +# CONFIG_HAVE_KRETPROBES is not set +CONFIG_HAVE_OPROFILE=y  CONFIG_HID=m  CONFIG_HID_SUPPORT=y  CONFIG_HW_HAS_PCI=y @@ -101,15 +111,19 @@ CONFIG_IRQ_CPU=y  CONFIG_LEDS_ADM5120=m  # CONFIG_LEDS_ADM5120_DIAG is not set  # CONFIG_LEDS_ADM5120_EXPERIMENTAL is not set +# CONFIG_LEDS_ALIX is not set  CONFIG_LEDS_GPIO=m  CONFIG_LEDS_TRIGGER_ADM5120_SWITCH=m  CONFIG_LEGACY_PTYS=y  CONFIG_LEGACY_PTY_COUNT=256  # CONFIG_LEMOTE_FULONG is not set +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m  # CONFIG_MACH_ALCHEMY is not set  # CONFIG_MACH_DECSTATION is not set  # CONFIG_MACH_JAZZ is not set  # CONFIG_MACH_VR41XX is not set +# CONFIG_MEMSTICK is not set  CONFIG_MII=m  # CONFIG_MINIX_FS is not set  CONFIG_MIPS=y @@ -221,13 +235,13 @@ CONFIG_SERIO=y  CONFIG_SERIO_SERPORT=y  # CONFIG_SGI_IP22 is not set  # CONFIG_SGI_IP27 is not set +# CONFIG_SGI_IP28 is not set  # CONFIG_SGI_IP32 is not set  # CONFIG_SIBYTE_BIGSUR is not set  # CONFIG_SIBYTE_CARMEL is not set  # CONFIG_SIBYTE_CRHINE is not set  # CONFIG_SIBYTE_CRHONE is not set  # CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_PTSWARM is not set  # CONFIG_SIBYTE_RHONE is not set  # CONFIG_SIBYTE_SENTOSA is not set  # CONFIG_SIBYTE_SWARM is not set @@ -243,6 +257,7 @@ CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y  CONFIG_SYS_SUPPORTS_ARBIT_HZ=y  CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y  CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y +# CONFIG_THERMAL is not set  CONFIG_TICK_ONESHOT=y  CONFIG_TMPFS_POSIX_ACL=y  # CONFIG_TOSHIBA_JMR3927 is not set @@ -252,26 +267,16 @@ CONFIG_TRAD_SIGNALS=y  CONFIG_USB=m  # CONFIG_USBPCWATCHDOG is not set  CONFIG_USB_ADM5120_HCD=m -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set -# CONFIG_USB_CATC is not set  CONFIG_USB_DEBUG=y  CONFIG_USB_EHCI_HCD=m -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_GL620A is not set -# CONFIG_USB_NET_MCS7830 is not set -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_RNDIS_HOST is not set  # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set  # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set  CONFIG_USB_OHCI_HCD=m -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_SERIAL is not set +# CONFIG_USB_R8A66597_HCD is not set  # CONFIG_USB_UHCI_HCD is not set -# CONFIG_USER_NS is not set  # CONFIG_VGASTATE is not set  CONFIG_VIDEO_V4L1=y +CONFIG_VIDEO_V4L2_COMMON=m  CONFIG_VM_EVENT_COUNTERS=y  CONFIG_YAFFS_9BYTE_TAGS=y  # CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set @@ -283,5 +288,4 @@ CONFIG_YAFFS_FS=y  CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y  CONFIG_YAFFS_YAFFS1=y  CONFIG_YAFFS_YAFFS2=y -# CONFIG_ZD1211RW is not set  CONFIG_ZONE_DMA_FLAG=0  | 
