From fe8efb72caf61af060e9d3aa451ac5b112032258 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Mon, 17 Dec 2012 22:28:11 +0000 Subject: [PATCH] ramips: nuke 3.3 support Signed-off-by: Gabor Juhos SVN-Revision: 34744 --- ...01-mips-add-cp0-compare-irq-function.patch | 29 ---- ...x_cfi_cmdset_0002_erase_status_check.patch | 20 --- ...mtd-cfi_cmdset_0002-force-word-write.patch | 61 -------- .../patches-3.3/100-mips-ralink-core.patch | 39 ----- .../101-rt288x_serial_driver_hack.patch | 91 ----------- .../102-rt288x-pci-driver-hook.patch | 10 -- .../ramips/patches-3.3/103-ethernet.patch | 20 --- .../104-ramips-watchdog-driver.patch | 26 ---- .../patches-3.3/105-ramips-spi-driver.patch | 25 --- .../ramips/patches-3.3/105-usb_dwc_otg.patch | 20 --- .../patches-3.3/106-rt3883-pci-support.patch | 10 -- .../patches-3.3/200-rt3883-ehci-glue.patch | 32 ---- .../patches-3.3/201-rt3883-ohci-glue.patch | 31 ---- target/linux/ramips/rt288x/config-3.3 | 115 -------------- target/linux/ramips/rt305x/config-3.3 | 146 ------------------ target/linux/ramips/rt3883/config-3.3 | 122 --------------- 16 files changed, 797 deletions(-) delete mode 100644 target/linux/ramips/patches-3.3/001-mips-add-cp0-compare-irq-function.patch delete mode 100644 target/linux/ramips/patches-3.3/010-mtd_fix_cfi_cmdset_0002_erase_status_check.patch delete mode 100644 target/linux/ramips/patches-3.3/011-mtd-cfi_cmdset_0002-force-word-write.patch delete mode 100644 target/linux/ramips/patches-3.3/100-mips-ralink-core.patch delete mode 100644 target/linux/ramips/patches-3.3/101-rt288x_serial_driver_hack.patch delete mode 100644 target/linux/ramips/patches-3.3/102-rt288x-pci-driver-hook.patch delete mode 100644 target/linux/ramips/patches-3.3/103-ethernet.patch delete mode 100644 target/linux/ramips/patches-3.3/104-ramips-watchdog-driver.patch delete mode 100644 target/linux/ramips/patches-3.3/105-ramips-spi-driver.patch delete mode 100644 target/linux/ramips/patches-3.3/105-usb_dwc_otg.patch delete mode 100644 target/linux/ramips/patches-3.3/106-rt3883-pci-support.patch delete mode 100644 target/linux/ramips/patches-3.3/200-rt3883-ehci-glue.patch delete mode 100644 target/linux/ramips/patches-3.3/201-rt3883-ohci-glue.patch delete mode 100644 target/linux/ramips/rt288x/config-3.3 delete mode 100644 target/linux/ramips/rt305x/config-3.3 delete mode 100644 target/linux/ramips/rt3883/config-3.3 diff --git a/target/linux/ramips/patches-3.3/001-mips-add-cp0-compare-irq-function.patch b/target/linux/ramips/patches-3.3/001-mips-add-cp0-compare-irq-function.patch deleted file mode 100644 index fde9869f12e..00000000000 --- a/target/linux/ramips/patches-3.3/001-mips-add-cp0-compare-irq-function.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/arch/mips/kernel/traps.c -+++ b/arch/mips/kernel/traps.c -@@ -54,6 +54,7 @@ - #include - #include - #include -+#include - - extern void check_wait(void); - extern asmlinkage void r4k_wait(void); -@@ -1593,6 +1594,8 @@ void __cpuinit per_cpu_trap_init(void) - if (cpu_has_mips_r2) { - cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP; - cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7; -+ if (get_c0_compare_irq) -+ cp0_compare_irq = get_c0_compare_irq(); - cp0_perfcount_irq = (read_c0_intctl() >> INTCTLB_IPPCI) & 7; - if (cp0_perfcount_irq == cp0_compare_irq) - cp0_perfcount_irq = -1; ---- a/arch/mips/include/asm/time.h -+++ b/arch/mips/include/asm/time.h -@@ -52,6 +52,7 @@ extern int (*perf_irq)(void); - */ - #ifdef CONFIG_CEVT_R4K_LIB - extern unsigned int __weak get_c0_compare_int(void); -+extern unsigned int __weak get_c0_compare_irq(void); - extern int r4k_clockevent_init(void); - #endif - diff --git a/target/linux/ramips/patches-3.3/010-mtd_fix_cfi_cmdset_0002_erase_status_check.patch b/target/linux/ramips/patches-3.3/010-mtd_fix_cfi_cmdset_0002_erase_status_check.patch deleted file mode 100644 index 494b790ae2e..00000000000 --- a/target/linux/ramips/patches-3.3/010-mtd_fix_cfi_cmdset_0002_erase_status_check.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -1627,7 +1627,7 @@ static int __xipram do_erase_chip(struct - chip->erase_suspended = 0; - } - -- if (chip_ready(map, adr)) -+ if (chip_good(map, adr, map_word_ff(map))) - break; - - if (time_after(jiffies, timeo)) { -@@ -1715,7 +1715,7 @@ static int __xipram do_erase_oneblock(st - chip->erase_suspended = 0; - } - -- if (chip_ready(map, adr)) { -+ if (chip_good(map, adr, map_word_ff(map))) { - xip_enable(map, chip, adr); - break; - } diff --git a/target/linux/ramips/patches-3.3/011-mtd-cfi_cmdset_0002-force-word-write.patch b/target/linux/ramips/patches-3.3/011-mtd-cfi_cmdset_0002-force-word-write.patch deleted file mode 100644 index d2aa0858b93..00000000000 --- a/target/linux/ramips/patches-3.3/011-mtd-cfi_cmdset_0002-force-word-write.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -39,7 +39,7 @@ - #include - - #define AMD_BOOTLOC_BUG --#define FORCE_WORD_WRITE 0 -+#define FORCE_WORD_WRITE 1 - - #define MAX_WORD_RETRIES 3 - -@@ -50,7 +50,9 @@ - - 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 *); -+#if !FORCE_WORD_WRITE - static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -+#endif - static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *); - static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *); - static void cfi_amdstd_sync (struct mtd_info *); -@@ -183,6 +185,7 @@ static void fixup_amd_bootblock(struct m - } - #endif - -+#if !FORCE_WORD_WRITE - static void fixup_use_write_buffers(struct mtd_info *mtd) - { - struct map_info *map = mtd->priv; -@@ -192,6 +195,7 @@ static void fixup_use_write_buffers(stru - mtd->write = cfi_amdstd_write_buffers; - } - } -+#endif /* !FORCE_WORD_WRITE */ - - /* Atmel chips don't use the same PRI format as AMD chips */ - static void fixup_convert_atmel_pri(struct mtd_info *mtd) -@@ -1372,6 +1376,7 @@ static int cfi_amdstd_write_words(struct - /* - * FIXME: interleaved mode not tested, and probably not supported! - */ -+#if !FORCE_WORD_WRITE - static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, - unsigned long adr, const u_char *buf, - int len) -@@ -1483,7 +1488,6 @@ static int __xipram do_write_buffer(stru - return ret; - } - -- - static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, - size_t *retlen, const u_char *buf) - { -@@ -1562,6 +1566,7 @@ static int cfi_amdstd_write_buffers(stru - - return 0; - } -+#endif /* !FORCE_WORD_WRITE */ - - - /* diff --git a/target/linux/ramips/patches-3.3/100-mips-ralink-core.patch b/target/linux/ramips/patches-3.3/100-mips-ralink-core.patch deleted file mode 100644 index 43a28563196..00000000000 --- a/target/linux/ramips/patches-3.3/100-mips-ralink-core.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -90,6 +90,9 @@ config ATH79 - help - Support for the Atheros AR71XX/AR724X/AR913X SoCs. - -+config MIPS_RALINK -+ bool "Ralink MIPS SoC based boards" -+ - config BCM47XX - bool "Broadcom BCM47XX based boards" - select CEVT_R4K -@@ -822,6 +825,7 @@ source "arch/mips/jz4740/Kconfig" - source "arch/mips/lantiq/Kconfig" - source "arch/mips/lasat/Kconfig" - source "arch/mips/pmc-sierra/Kconfig" -+source "arch/mips/ralink/Kconfig" - source "arch/mips/powertv/Kconfig" - source "arch/mips/sgi-ip27/Kconfig" - source "arch/mips/sibyte/Kconfig" -@@ -1171,7 +1175,7 @@ config BOOT_ELF32 - - config MIPS_L1_CACHE_SHIFT - int -- default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL -+ default "4" if MACH_DECSTATION || MIKROTIK_RB532 || PMC_MSP4200_EVAL || RALINK_RT288X - default "6" if MIPS_CPU_SCACHE - default "7" if SGI_IP22 || SGI_IP27 || SGI_IP28 || SNI_RM || CPU_CAVIUM_OCTEON - default "5" ---- a/arch/mips/Kbuild.platforms -+++ b/arch/mips/Kbuild.platforms -@@ -21,6 +21,7 @@ platforms += pmc-sierra - platforms += pnx833x - platforms += pnx8550 - platforms += powertv -+platforms += ralink - platforms += rb532 - platforms += sgi-ip22 - platforms += sgi-ip27 diff --git a/target/linux/ramips/patches-3.3/101-rt288x_serial_driver_hack.patch b/target/linux/ramips/patches-3.3/101-rt288x_serial_driver_hack.patch deleted file mode 100644 index 3aac8e8982f..00000000000 --- a/target/linux/ramips/patches-3.3/101-rt288x_serial_driver_hack.patch +++ /dev/null @@ -1,91 +0,0 @@ ---- a/drivers/tty/serial/8250/Kconfig -+++ b/drivers/tty/serial/8250/Kconfig -@@ -258,6 +258,14 @@ config SERIAL_8250_ACORN - system, say Y to this option. The driver can handle 1, 2, or 3 port - cards. If unsure, say N. - -+config SERIAL_8250_RT288X -+ bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support" -+ depends on SERIAL_8250 != n && (SOC_RT288X || SOC_RT305X || SOC_RT3883) -+ help -+ If you have a Ralink RT288x/RT305x SoC based board and want to use the -+ serial port, say Y to this option. The driver can handle up to 2 serial -+ ports. If unsure, say N. -+ - config SERIAL_8250_RM9K - bool "Support for MIPS RM9xxx integrated serial port" - depends on SERIAL_8250 != n && SERIAL_RM9000 ---- a/include/linux/serial_core.h -+++ b/include/linux/serial_core.h -@@ -321,7 +321,7 @@ struct uart_port { - #define UPIO_HUB6 (1) - #define UPIO_MEM (2) - #define UPIO_MEM32 (3) --#define UPIO_AU (4) /* Au1x00 type IO */ -+#define UPIO_AU (4) /* Au1x00 and RT288x type IO */ - #define UPIO_TSI (5) /* Tsi108/109 type IO */ - #define UPIO_RM9000 (6) /* RM9000 type IO */ - ---- a/drivers/tty/serial/8250/8250.c -+++ b/drivers/tty/serial/8250/8250.c -@@ -292,9 +292,9 @@ static const struct serial8250_config ua - }, - }; - --#if defined(CONFIG_MIPS_ALCHEMY) -+#if defined(CONFIG_MIPS_ALCHEMY) || defined (CONFIG_SERIAL_8250_RT288X) - --/* Au1x00 UART hardware has a weird register layout */ -+/* Au1x00 and RT288x UART hardware has a weird register layout */ - static const u8 au_io_in_map[] = { - [UART_RX] = 0, - [UART_IER] = 2, -@@ -516,8 +516,8 @@ static inline void _serial_dl_write(stru - serial_outp(up, UART_DLM, value >> 8 & 0xff); - } - --#if defined(CONFIG_MIPS_ALCHEMY) --/* Au1x00 haven't got a standard divisor latch */ -+#if defined(CONFIG_MIPS_ALCHEMY) || defined (CONFIG_SERIAL_8250_RT288X) -+/* Au1x00 and RT288x haven't got a standard divisor latch */ - static int serial_dl_read(struct uart_8250_port *up) - { - if (up->port.iotype == UPIO_AU) -@@ -724,22 +724,19 @@ static int size_fifo(struct uart_8250_po - */ - static unsigned int autoconfig_read_divisor_id(struct uart_8250_port *p) - { -- unsigned char old_dll, old_dlm, old_lcr; -+ unsigned char old_lcr; -+ unsigned int old_dl; - unsigned int id; - - old_lcr = serial_inp(p, UART_LCR); - serial_outp(p, UART_LCR, UART_LCR_CONF_MODE_A); - -- old_dll = serial_inp(p, UART_DLL); -- old_dlm = serial_inp(p, UART_DLM); -+ old_dl = serial_dl_read(p); - -- serial_outp(p, UART_DLL, 0); -- serial_outp(p, UART_DLM, 0); -+ serial_dl_write(p, 0); -+ id = serial_dl_read(p); - -- id = serial_inp(p, UART_DLL) | serial_inp(p, UART_DLM) << 8; -- -- serial_outp(p, UART_DLL, old_dll); -- serial_outp(p, UART_DLM, old_dlm); -+ serial_dl_write(p, old_dl); - serial_outp(p, UART_LCR, old_lcr); - - return id; -@@ -865,7 +862,7 @@ static int broken_efr(struct uart_8250_p - /* - * Exar ST16C2550 "A2" devices incorrectly detect as - * having an EFR, and report an ID of 0x0201. See -- * http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-11/4812.html -+ * http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-11/4812.html - */ - if (autoconfig_read_divisor_id(up) == 0x0201 && size_fifo(up) == 16) - return 1; diff --git a/target/linux/ramips/patches-3.3/102-rt288x-pci-driver-hook.patch b/target/linux/ramips/patches-3.3/102-rt288x-pci-driver-hook.patch deleted file mode 100644 index 3987ef2e8be..00000000000 --- a/target/linux/ramips/patches-3.3/102-rt288x-pci-driver-hook.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -20,6 +20,7 @@ obj-$(CONFIG_BCM63XX) += pci-bcm63xx.o - ops-bcm63xx.o - obj-$(CONFIG_MIPS_ALCHEMY) += pci-alchemy.o - obj-$(CONFIG_SOC_AR724X) += pci-ath724x.o -+obj-$(CONFIG_SOC_RT288X) += pci-rt288x.o - - # - # These are still pretty much in the old state, watch, go blind. diff --git a/target/linux/ramips/patches-3.3/103-ethernet.patch b/target/linux/ramips/patches-3.3/103-ethernet.patch deleted file mode 100644 index e13248780bd..00000000000 --- a/target/linux/ramips/patches-3.3/103-ethernet.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/net/ethernet/Kconfig -+++ b/drivers/net/ethernet/Kconfig -@@ -144,6 +144,7 @@ source "drivers/net/ethernet/packetengin - source "drivers/net/ethernet/pasemi/Kconfig" - source "drivers/net/ethernet/qlogic/Kconfig" - source "drivers/net/ethernet/racal/Kconfig" -+source "drivers/net/ethernet/ramips/Kconfig" - source "drivers/net/ethernet/realtek/Kconfig" - source "drivers/net/ethernet/renesas/Kconfig" - source "drivers/net/ethernet/rdc/Kconfig" ---- a/drivers/net/ethernet/Makefile -+++ b/drivers/net/ethernet/Makefile -@@ -54,6 +54,7 @@ obj-$(CONFIG_NET_PACKET_ENGINE) += packe - obj-$(CONFIG_NET_VENDOR_PASEMI) += pasemi/ - obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/ - obj-$(CONFIG_NET_VENDOR_RACAL) += racal/ -+obj-$(CONFIG_NET_RAMIPS) += ramips/ - obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/ - obj-$(CONFIG_SH_ETH) += renesas/ - obj-$(CONFIG_NET_VENDOR_RDC) += rdc/ diff --git a/target/linux/ramips/patches-3.3/104-ramips-watchdog-driver.patch b/target/linux/ramips/patches-3.3/104-ramips-watchdog-driver.patch deleted file mode 100644 index 6a9cefa8627..00000000000 --- a/target/linux/ramips/patches-3.3/104-ramips-watchdog-driver.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -1033,6 +1033,13 @@ config LANTIQ_WDT - help - Hardware driver for the Lantiq SoC Watchdog Timer. - -+config RAMIPS_WDT -+ tristate "Ralink RT288X/RT305X Watchdog Timer" -+ depends on (SOC_RT288X || SOC_RT305X || SOC_RT3883) -+ help -+ Hardware driver for the built-in watchdog timer on the -+ Ralink RT288X/RT305X SoCs. -+ - # PARISC Architecture - - # POWERPC Architecture ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -132,6 +132,7 @@ obj-$(CONFIG_TXX9_WDT) += txx9wdt.o - obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o - octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o - obj-$(CONFIG_LANTIQ_WDT) += lantiq_wdt.o -+obj-$(CONFIG_RAMIPS_WDT) += ramips_wdt.o - - # PARISC Architecture - diff --git a/target/linux/ramips/patches-3.3/105-ramips-spi-driver.patch b/target/linux/ramips/patches-3.3/105-ramips-spi-driver.patch deleted file mode 100644 index 28cb13af1db..00000000000 --- a/target/linux/ramips/patches-3.3/105-ramips-spi-driver.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/drivers/spi/Kconfig -+++ b/drivers/spi/Kconfig -@@ -288,6 +288,12 @@ config SPI_PXA2XX - config SPI_PXA2XX_PCI - def_bool SPI_PXA2XX && X86_32 && PCI - -+config SPI_RAMIPS -+ tristate "Ralink RT288x/RT305x/RT3662 SPI Controller" -+ depends on (SOC_RT288X || SOC_RT305X || SOC_RT3883) -+ help -+ This selects a driver for the Ralink RT288x/RT305x SPI Controller. -+ - config SPI_S3C24XX - tristate "Samsung S3C24XX series SPI" - depends on ARCH_S3C2410 && EXPERIMENTAL ---- a/drivers/spi/Makefile -+++ b/drivers/spi/Makefile -@@ -45,6 +45,7 @@ obj-$(CONFIG_SPI_PL022) += spi-pl022.o - obj-$(CONFIG_SPI_PPC4xx) += spi-ppc4xx.o - obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx.o - obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o -+obj-$(CONFIG_SPI_RAMIPS) += spi-ramips.o - obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o - spi-s3c24xx-hw-y := spi-s3c24xx.o - spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o diff --git a/target/linux/ramips/patches-3.3/105-usb_dwc_otg.patch b/target/linux/ramips/patches-3.3/105-usb_dwc_otg.patch deleted file mode 100644 index 1d9ecd920b6..00000000000 --- a/target/linux/ramips/patches-3.3/105-usb_dwc_otg.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/usb/Kconfig -+++ b/drivers/usb/Kconfig -@@ -182,4 +182,6 @@ source "drivers/usb/gadget/Kconfig" - - source "drivers/usb/otg/Kconfig" - -+source "drivers/usb/dwc_otg/Kconfig" -+ - endif # USB_SUPPORT ---- a/drivers/usb/Makefile -+++ b/drivers/usb/Makefile -@@ -51,6 +51,8 @@ obj-$(CONFIG_EARLY_PRINTK_DBGP) += early - obj-$(CONFIG_USB_ATM) += atm/ - obj-$(CONFIG_USB_SPEEDTOUCH) += atm/ - -+obj-$(CONFIG_DWC_OTG) += dwc_otg/ -+ - obj-$(CONFIG_USB_MUSB_HDRC) += musb/ - obj-$(CONFIG_USB_RENESAS_USBHS) += renesas_usbhs/ - obj-$(CONFIG_USB_GADGET) += gadget/ diff --git a/target/linux/ramips/patches-3.3/106-rt3883-pci-support.patch b/target/linux/ramips/patches-3.3/106-rt3883-pci-support.patch deleted file mode 100644 index 5f049a2af53..00000000000 --- a/target/linux/ramips/patches-3.3/106-rt3883-pci-support.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -21,6 +21,7 @@ obj-$(CONFIG_BCM63XX) += pci-bcm63xx.o - obj-$(CONFIG_MIPS_ALCHEMY) += pci-alchemy.o - obj-$(CONFIG_SOC_AR724X) += pci-ath724x.o - obj-$(CONFIG_SOC_RT288X) += pci-rt288x.o -+obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o - - # - # These are still pretty much in the old state, watch, go blind. diff --git a/target/linux/ramips/patches-3.3/200-rt3883-ehci-glue.patch b/target/linux/ramips/patches-3.3/200-rt3883-ehci-glue.patch deleted file mode 100644 index 7fbcc94b0fc..00000000000 --- a/target/linux/ramips/patches-3.3/200-rt3883-ehci-glue.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -226,6 +226,15 @@ config USB_EHCI_ATH79 - Enables support for the built-in EHCI controller present - on the Atheros AR7XXX/AR9XXX SoCs. - -+config USB_EHCI_RT3883 -+ bool "EHCI support for Ralink RT3662/RT3883 SoCs" -+ depends on USB_EHCI_HCD && ( SOC_RT3883 || SOC_RT305X ) -+ select USB_EHCI_ROOT_HUB_TT -+ default y -+ ---help--- -+ Enables support for the built-in EHCI controller present -+ on the Ralink RT3883 SoC. -+ - config USB_OXU210HP_HCD - tristate "OXU210HP HCD support" - depends on USB ---- a/drivers/usb/host/ehci-hcd.c -+++ b/drivers/usb/host/ehci-hcd.c -@@ -1381,6 +1381,11 @@ MODULE_LICENSE ("GPL"); - #define PLATFORM_DRIVER ehci_mv_driver - #endif - -+#ifdef CONFIG_USB_EHCI_RT3883 -+#include "ehci-rt3883.c" -+#define PLATFORM_DRIVER ehci_rt3883_driver -+#endif -+ - #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \ - !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \ - !defined(XILINX_OF_PLATFORM_DRIVER) diff --git a/target/linux/ramips/patches-3.3/201-rt3883-ohci-glue.patch b/target/linux/ramips/patches-3.3/201-rt3883-ohci-glue.patch deleted file mode 100644 index ba1aa58516e..00000000000 --- a/target/linux/ramips/patches-3.3/201-rt3883-ohci-glue.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -328,6 +328,14 @@ config USB_OHCI_ATH79 - Enables support for the built-in OHCI controller present on the - Atheros AR71XX/AR7240 SoCs. - -+config USB_OHCI_RT3883 -+ bool "USB OHCI support for the Ralink RT3883 SoCs" -+ depends on USB_OHCI_HCD && ( SOC_RT3883 || SOC_RT305X ) -+ default y -+ help -+ Enables support for the built-in OHCI controller present on the -+ Ralink RT3883 SoC. -+ - config USB_OHCI_HCD_PPC_SOC - bool "OHCI support for on-chip PPC USB controller" - depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx) ---- a/drivers/usb/host/ohci-hcd.c -+++ b/drivers/usb/host/ohci-hcd.c -@@ -1121,6 +1121,11 @@ MODULE_LICENSE ("GPL"); - #define PLATFORM_DRIVER ohci_xls_driver - #endif - -+#ifdef CONFIG_USB_OHCI_RT3883 -+#include "ohci-rt3883.c" -+#define PLATFORM_DRIVER ohci_rt3883_driver -+#endif -+ - #if !defined(PCI_DRIVER) && \ - !defined(PLATFORM_DRIVER) && \ - !defined(OMAP1_PLATFORM_DRIVER) && \ diff --git a/target/linux/ramips/rt288x/config-3.3 b/target/linux/ramips/rt288x/config-3.3 deleted file mode 100644 index 79a6cc19fef..00000000000 --- a/target/linux/ramips/rt288x/config-3.3 +++ /dev/null @@ -1,115 +0,0 @@ -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_CEVT_R4K=y -CONFIG_CEVT_R4K_LIB=y -CONFIG_CMDLINE="rootfstype=squashfs,jffs2" -CONFIG_CMDLINE_BOOL=y -# CONFIG_CMDLINE_OVERRIDE is not set -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -# CONFIG_CPU_MIPS32_R1 is not set -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CSRC_R4K=y -CONFIG_CSRC_R4K_LIB=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_GENERIC_HARDIRQS=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_IRQ_WORK=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HW_HAS_PCI=y -CONFIG_HW_RANDOM=m -CONFIG_IMAGE_CMDLINE_HACK=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IP17XX_PHY=y -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_MDIO_BOARDINFO=y -# CONFIG_MII is not set -CONFIG_MIPS=y -CONFIG_MIPS_L1_CACHE_SHIFT=4 -CONFIG_MIPS_MACHINE=y -CONFIG_MIPS_MT_DISABLED=y -CONFIG_MIPS_RALINK=y -# CONFIG_MTD_CFI_INTELEXT is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_PHYSMAP=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NET_RAMIPS=y -# CONFIG_NET_RAMIPS_DEBUG is not set -# CONFIG_NET_RAMIPS_DEBUG_FS is not set -CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PCI=y -CONFIG_PCI_DOMAINS=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -# CONFIG_PREEMPT_RCU is not set -CONFIG_RALINK_DEV_GPIO_BUTTONS=y -CONFIG_RALINK_DEV_GPIO_LEDS=y -CONFIG_RALINK_RT288X=y -# CONFIG_RALINK_RT305X is not set -# CONFIG_RALINK_RT3883 is not set -CONFIG_RAMIPS_WDT=y -CONFIG_RT288X_MACH_F5D8235_V1=y -CONFIG_RT288X_MACH_RT_N15=y -CONFIG_RT288X_MACH_V11ST_FE=y -CONFIG_RT288X_MACH_WLI_TX4_AG300N=y -CONFIG_RT288X_MACH_WZR_AGL300NH=y -CONFIG_RTL8366S_PHY=y -CONFIG_RTL8366_SMI=y -# CONFIG_SCSI_DMA is not set -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RT288X=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SOC_RT288X=y -CONFIG_SWCONFIG=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_USB_ARCH_HAS_XHCI=y -CONFIG_USB_SUPPORT=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/ramips/rt305x/config-3.3 b/target/linux/ramips/rt305x/config-3.3 deleted file mode 100644 index 8105b0fa6f2..00000000000 --- a/target/linux/ramips/rt305x/config-3.3 +++ /dev/null @@ -1,146 +0,0 @@ -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_CEVT_R4K=y -CONFIG_CEVT_R4K_LIB=y -CONFIG_CMDLINE="rootfstype=squashfs,jffs2" -CONFIG_CMDLINE_BOOL=y -# CONFIG_CMDLINE_OVERRIDE is not set -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -# CONFIG_CPU_MIPS32_R1 is not set -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CSRC_R4K=y -CONFIG_CSRC_R4K_LIB=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DMA_NONCOHERENT=y -# CONFIG_DWC_OTG is not set -CONFIG_EARLY_PRINTK=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_GENERIC_HARDIRQS=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_IRQ_WORK=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HW_RANDOM=m -CONFIG_IMAGE_CMDLINE_HACK=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_M25PXX_USE_FAST_READ=y -CONFIG_MDIO_BOARDINFO=y -# CONFIG_MII is not set -CONFIG_MIPS=y -CONFIG_MIPS_L1_CACHE_SHIFT=5 -CONFIG_MIPS_MACHINE=y -CONFIG_MIPS_MT_DISABLED=y -CONFIG_MIPS_RALINK=y -# CONFIG_MTD_CFI_INTELEXT is not set -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_M25P80=y -CONFIG_MTD_PHYSMAP=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NET_RAMIPS=y -# CONFIG_NET_RAMIPS_DEBUG is not set -# CONFIG_NET_RAMIPS_DEBUG_FS is not set -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -# CONFIG_PREEMPT_RCU is not set -CONFIG_RALINK_DEV_GPIO_BUTTONS=y -CONFIG_RALINK_DEV_GPIO_LEDS=y -# CONFIG_RALINK_RT288X is not set -CONFIG_RALINK_RT305X=y -# CONFIG_RALINK_RT3883 is not set -CONFIG_RAMIPS_WDT=y -CONFIG_RT305X_MACH_3G_6200N=y -CONFIG_RT305X_MACH_ALL0256N=y -CONFIG_RT305X_MACH_ALL5002=y -CONFIG_RT305X_MACH_ARGUS_ATP52B=y -CONFIG_RT305X_MACH_BC2=y -CONFIG_RT305X_MACH_BROADWAY=y -CONFIG_RT305X_MACH_CARAMBOLA=y -CONFIG_RT305X_MACH_DAP_1350=y -CONFIG_RT305X_MACH_DIR_300_REVB=y -CONFIG_RT305X_MACH_DIR_615_H1=y -CONFIG_RT305X_MACH_ESR_9753=y -CONFIG_RT305X_MACH_F5D8235_V2=y -CONFIG_RT305X_MACH_FONERA20N=y -CONFIG_RT305X_MACH_FREESTATION5=y -CONFIG_RT305X_MACH_HW550_3G=y -CONFIG_RT305X_MACH_MOFI3500_3GN=y -CONFIG_RT305X_MACH_NBG_419N=y -CONFIG_RT305X_MACH_NW718=y -CONFIG_RT305X_MACH_OMNI_EMB=y -CONFIG_RT305X_MACH_PSR_680W=y -CONFIG_RT305X_MACH_PWH2004=y -CONFIG_RT305X_MACH_RT_G32_REVB=y -CONFIG_RT305X_MACH_RT_N10_PLUS=y -CONFIG_RT305X_MACH_RT_N13U=y -CONFIG_RT305X_MACH_SL_R7205=y -CONFIG_RT305X_MACH_UR_336UN=y -CONFIG_RT305X_MACH_V22RW_2X2=y -CONFIG_RT305X_MACH_W306R_V20=y -CONFIG_RT305X_MACH_W502U=y -CONFIG_RT305X_MACH_WCR150GN=y -CONFIG_RT305X_MACH_WHR_G300N=y -CONFIG_RT305X_MACH_WL341V3=y -CONFIG_RT305X_MACH_WL351=y -CONFIG_RT305X_MACH_WL_330N=y -CONFIG_RT305X_MACH_WL_330N3G=y -CONFIG_RT305X_MACH_WR512_3GN=y -CONFIG_RT305X_MACH_WR6202=y -CONFIG_RT305X_MACH_XDX_RN502J=y -# CONFIG_SCSI_DMA is not set -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RT288X=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SOC_RT305X=y -CONFIG_SPI=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_RAMIPS=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USB_ARCH_HAS_XHCI is not set -CONFIG_USB_SUPPORT=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/ramips/rt3883/config-3.3 b/target/linux/ramips/rt3883/config-3.3 deleted file mode 100644 index 573733025d9..00000000000 --- a/target/linux/ramips/rt3883/config-3.3 +++ /dev/null @@ -1,122 +0,0 @@ -CONFIG_AR8216_PHY=y -CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_CEVT_R4K=y -CONFIG_CEVT_R4K_LIB=y -CONFIG_CMDLINE="rootfstype=squashfs,jffs2" -CONFIG_CMDLINE_BOOL=y -# CONFIG_CMDLINE_OVERRIDE is not set -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_CPU_MIPS32=y -# CONFIG_CPU_MIPS32_R1 is not set -CONFIG_CPU_MIPS32_R2=y -CONFIG_CPU_MIPSR2=y -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CSRC_R4K=y -CONFIG_CSRC_R4K_LIB=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_ETHERNET_PACKET_MANGLE=y -CONFIG_GENERIC_ATOMIC64=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_SYSFS=y -CONFIG_HARDWARE_WATCHPOINTS=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_HAVE_GENERIC_HARDIRQS=y -CONFIG_HAVE_IDE=y -CONFIG_HAVE_IRQ_WORK=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_HAVE_OPROFILE=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_HW_HAS_PCI=y -CONFIG_HW_RANDOM=m -CONFIG_IMAGE_CMDLINE_HACK=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_M25PXX_USE_FAST_READ=y -CONFIG_MDIO_BOARDINFO=y -# CONFIG_MII is not set -CONFIG_MIPS=y -CONFIG_MIPS_L1_CACHE_SHIFT=5 -CONFIG_MIPS_MACHINE=y -CONFIG_MIPS_MT_DISABLED=y -CONFIG_MIPS_RALINK=y -# CONFIG_MTD_CFI_INTELEXT is not set -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_M25P80=y -CONFIG_MTD_PHYSMAP=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NET_RAMIPS=y -# CONFIG_NET_RAMIPS_DEBUG is not set -# CONFIG_NET_RAMIPS_DEBUG_FS is not set -CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_PCI=y -CONFIG_PCI_DISABLE_COMMON_QUIRKS=y -CONFIG_PCI_DOMAINS=y -CONFIG_PERF_USE_VMALLOC=y -CONFIG_PHYLIB=y -# CONFIG_PREEMPT_RCU is not set -CONFIG_RALINK_DEV_GPIO_BUTTONS=y -CONFIG_RALINK_DEV_GPIO_LEDS=y -# CONFIG_RALINK_RT288X is not set -# CONFIG_RALINK_RT305X is not set -CONFIG_RALINK_RT3883=y -CONFIG_RAMIPS_WDT=y -CONFIG_RT3883_MACH_DIR_645=y -CONFIG_RT3883_MACH_RT_N56U=y -CONFIG_RT3883_MACH_TEW_691GR=y -CONFIG_RT3883_MACH_TEW_692GR=y -CONFIG_RTL8366_SMI=y -CONFIG_RTL8367B_PHY=y -CONFIG_RTL8367_PHY=y -# CONFIG_SCSI_DMA is not set -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RT288X=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SOC_RT3883=y -CONFIG_SPI=y -CONFIG_SPI_MASTER=y -CONFIG_SPI_RAMIPS=y -CONFIG_SWCONFIG=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_CPU_MIPS32_R2=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_USB_ARCH_HAS_XHCI=y -CONFIG_USB_SUPPORT=y -CONFIG_WATCHDOG_CORE=y -CONFIG_ZONE_DMA_FLAG=0