diff options
Diffstat (limited to 'target/linux/adm5120/patches-2.6.38')
20 files changed, 0 insertions, 1127 deletions
diff --git a/target/linux/adm5120/patches-2.6.38/001-adm5120.patch b/target/linux/adm5120/patches-2.6.38/001-adm5120.patch deleted file mode 100644 index b4ea18a..0000000 --- a/target/linux/adm5120/patches-2.6.38/001-adm5120.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -33,6 +33,21 @@ choice - prompt "System type" - default SGI_IP22 - -+config ADM5120 -+ bool "Infineon/ADMtek 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 IRQ_CPU -+ select SYS_SUPPORTS_LITTLE_ENDIAN -+ select SYS_SUPPORTS_BIG_ENDIAN -+ select SYS_SUPPORTS_32BIT_KERNEL -+ select ARCH_REQUIRE_GPIOLIB -+ select SWAP_IO_SPACE if CPU_BIG_ENDIAN -+ select MIPS_MACHINE -+ - config MIPS_ALCHEMY - bool "Alchemy processor based machines" - select 64BIT_PHYS_ADDR -@@ -737,6 +752,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD - - endchoice - -+source "arch/mips/adm5120/Kconfig" - source "arch/mips/alchemy/Kconfig" - source "arch/mips/ath79/Kconfig" - source "arch/mips/bcm63xx/Kconfig" diff --git a/target/linux/adm5120/patches-2.6.38/002-adm5120_flash.patch b/target/linux/adm5120/patches-2.6.38/002-adm5120_flash.patch deleted file mode 100644 index 3df59fd..0000000 --- a/target/linux/adm5120/patches-2.6.38/002-adm5120_flash.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/drivers/mtd/maps/Kconfig -+++ b/drivers/mtd/maps/Kconfig -@@ -552,4 +552,8 @@ config MTD_PISMO - - When built as a module, it will be called pismo.ko - -+config MTD_ADM5120 -+ tristate "Map driver for ADM5120 based boards" -+ depends on ADM5120 -+ - endmenu ---- a/drivers/mtd/maps/Makefile -+++ b/drivers/mtd/maps/Makefile -@@ -40,6 +40,7 @@ obj-$(CONFIG_MTD_SCx200_DOCFLASH)+= scx2 - obj-$(CONFIG_MTD_DBOX2) += dbox2-flash.o - obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o - obj-$(CONFIG_MTD_PCI) += pci.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.38/003-adm5120_switch.patch b/target/linux/adm5120/patches-2.6.38/003-adm5120_switch.patch deleted file mode 100644 index 90c4a37..0000000 --- a/target/linux/adm5120/patches-2.6.38/003-adm5120_switch.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -494,6 +494,10 @@ config MIPS_AU1X00_ENET - If you have an Alchemy Semi AU1X00 based system - say Y. Otherwise, say N. - -+config ADM5120_ENET -+ tristate "ADM5120 Ethernet switch support" -+ depends on ADM5120 -+ - config SGI_IOC3_ETH - bool "SGI IOC3 Ethernet" - depends on PCI && SGI_IP27 ---- a/drivers/net/Makefile -+++ b/drivers/net/Makefile -@@ -216,6 +216,7 @@ obj-$(CONFIG_SC92031) += sc92031.o - # This is also a 82596 and should probably be merged - obj-$(CONFIG_LP486E) += lp486e.o - -+obj-$(CONFIG_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.38/005-adm5120_usb.patch b/target/linux/adm5120/patches-2.6.38/005-adm5120_usb.patch deleted file mode 100644 index 8b5a553..0000000 --- a/target/linux/adm5120/patches-2.6.38/005-adm5120_usb.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/drivers/usb/Makefile -+++ b/drivers/usb/Makefile -@@ -9,6 +9,7 @@ obj-$(CONFIG_USB) += core/ - obj-$(CONFIG_USB_MON) += mon/ - - obj-$(CONFIG_PCI) += host/ -+obj-$(CONFIG_USB_ADM5120_HCD) += host/ - obj-$(CONFIG_USB_EHCI_HCD) += host/ - obj-$(CONFIG_USB_ISP116X_HCD) += host/ - obj-$(CONFIG_USB_OHCI_HCD) += host/ ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -4,6 +4,10 @@ - comment "USB Host Controller Drivers" - depends on USB - -+config USB_ADM5120_HCD -+ tristate "ADM5120 HCD support (EXPERIMENTAL)" -+ depends on USB && ADM5120 && EXPERIMENTAL -+ - config USB_C67X00_HCD - tristate "Cypress C67x00 HCD support" - depends on USB ---- a/drivers/usb/host/Makefile -+++ b/drivers/usb/host/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_USB_WHCI_HCD) += whci/ - - 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_OXU210HP_HCD) += oxu210hp-hcd.o - obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o diff --git a/target/linux/adm5120/patches-2.6.38/007-adm5120_pci.patch b/target/linux/adm5120/patches-2.6.38/007-adm5120_pci.patch deleted file mode 100644 index 8a9a2d4..0000000 --- a/target/linux/adm5120/patches-2.6.38/007-adm5120_pci.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -55,6 +55,7 @@ obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capc - obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o - obj-$(CONFIG_MIKROTIK_RB532) += pci-rc32434.o ops-rc32434.o fixup-rc32434.o - obj-$(CONFIG_CPU_CAVIUM_OCTEON) += pci-octeon.o pcie-octeon.o -+obj-$(CONFIG_ADM5120) += pci-adm5120.o - - ifdef CONFIG_PCI_MSI - obj-$(CONFIG_CPU_CAVIUM_OCTEON) += msi-octeon.o ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -1773,6 +1773,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.38/009-adm5120_leds_switch_trigger.patch b/target/linux/adm5120/patches-2.6.38/009-adm5120_leds_switch_trigger.patch deleted file mode 100644 index 929becb..0000000 --- a/target/linux/adm5120/patches-2.6.38/009-adm5120_leds_switch_trigger.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/drivers/leds/Kconfig -+++ b/drivers/leds/Kconfig -@@ -457,4 +457,12 @@ config LEDS_TRIGGER_USBDEV - This allows LEDs to be controlled by the presence/activity of - an USB device. If unsure, say N. - -+config LEDS_TRIGGER_ADM5120_SWITCH -+ tristate "LED ADM5120 Switch Port Status Trigger" -+ depends on LEDS_TRIGGERS && 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 -@@ -55,3 +55,4 @@ obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += - obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o - obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o - obj-$(CONFIG_LEDS_TRIGGER_USBDEV) += ledtrig-usbdev.o -+obj-$(CONFIG_LEDS_TRIGGER_ADM5120_SWITCH) += ledtrig-adm5120-switch.o diff --git a/target/linux/adm5120/patches-2.6.38/010-adm5120_usb_new_api.patch b/target/linux/adm5120/patches-2.6.38/010-adm5120_usb_new_api.patch deleted file mode 100644 index 14c54bb..0000000 --- a/target/linux/adm5120/patches-2.6.38/010-adm5120_usb_new_api.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- a/drivers/usb/host/adm5120-hcd.c -+++ b/drivers/usb/host/adm5120-hcd.c -@@ -32,6 +32,7 @@ - #include <linux/list.h> - #include <linux/usb.h> - #include <linux/usb/otg.h> -+#include <linux/usb/hcd.h> - #include <linux/dma-mapping.h> - #include <linux/dmapool.h> - #include <linux/reboot.h> -@@ -43,8 +44,6 @@ - #include <asm/unaligned.h> - #include <asm/byteorder.h> - --#include "../core/hcd.h" --#include "../core/hub.h" - - #define DRIVER_VERSION "0.27.0" - #define DRIVER_AUTHOR "Gabor Juhos <juhosg@openwrt.org>" -@@ -571,7 +570,7 @@ static int admhc_run(struct admhcd *ahcd - periodic_reinit(ahcd); - - /* use rhsc irqs after khubd is fully initialized */ -- hcd->poll_rh = 1; -+ set_bit(HCD_FLAG_POLL_RH, &hcd->flags); - hcd->uses_new_polling = 1; - - #if 0 -@@ -688,7 +687,7 @@ static irqreturn_t admhc_irq(struct usb_ - */ - admhc_vdbg(ahcd, "Resume Detect\n"); - admhc_intr_ack(ahcd, ADMHC_INTR_RESI); -- hcd->poll_rh = 1; -+ set_bit(HCD_FLAG_POLL_RH, &hcd->flags); - if (ahcd->autostop) { - spin_lock(&ahcd->lock); - admhc_rh_resume(ahcd); ---- a/drivers/usb/host/adm5120-hub.c -+++ b/drivers/usb/host/adm5120-hub.c -@@ -106,8 +106,11 @@ admhc_hub_status_data(struct usb_hcd *hc - } - } - -- hcd->poll_rh = admhc_root_hub_state_changes(ahcd, changed, -- any_connected); -+ if (admhc_root_hub_state_changes(ahcd, changed, -+ any_connected)) -+ set_bit(HCD_FLAG_POLL_RH, &hcd->flags); -+ else -+ clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); - - done: - spin_unlock_irqrestore(&ahcd->lock, flags); diff --git a/target/linux/adm5120/patches-2.6.38/101-cfi_fixup_macronix_bootloc.patch b/target/linux/adm5120/patches-2.6.38/101-cfi_fixup_macronix_bootloc.patch deleted file mode 100644 index c9693c0..0000000 --- a/target/linux/adm5120/patches-2.6.38/101-cfi_fixup_macronix_bootloc.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -48,6 +48,12 @@ - #define SST49LF008A 0x005a - #define AT49BV6416 0x00d6 - -+/* 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 *); -@@ -345,6 +351,41 @@ static struct cfi_fixup cfi_nopri_fixup_ - { 0, 0, NULL } - }; - -+#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 }, - #ifdef AMD_BOOTLOC_BUG -@@ -385,6 +426,9 @@ static struct cfi_fixup fixup_table[] = - */ - { CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip }, - { CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock }, -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+ { CFI_MFR_MACRONIX, CFI_ID_ANY, fixup_macronix_bootloc, NULL, }, -+#endif - { 0, 0, NULL } - }; - ---- a/drivers/mtd/chips/Kconfig -+++ b/drivers/mtd/chips/Kconfig -@@ -196,6 +196,14 @@ config MTD_CFI_AMDSTD - 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.38/102-jedec_pmc_39lvxxx_chips.patch b/target/linux/adm5120/patches-2.6.38/102-jedec_pmc_39lvxxx_chips.patch deleted file mode 100644 index 00148fa..0000000 --- a/target/linux/adm5120/patches-2.6.38/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 -@@ -115,6 +115,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 -@@ -1259,6 +1263,54 @@ static const struct amd_flash_info jedec - ERASEINFO(0x02000,2), - ERASEINFO(0x04000,1), - } -+ }, { -+ .mfr_id = CFI_MFR_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 = CFI_MFR_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 = CFI_MFR_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 = CFI_MFR_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 = CFI_MFR_PMC, - .dev_id = PM49FL002, diff --git a/target/linux/adm5120/patches-2.6.38/103-mtd_trxsplit.patch b/target/linux/adm5120/patches-2.6.38/103-mtd_trxsplit.patch deleted file mode 100644 index 6992c9c..0000000 --- a/target/linux/adm5120/patches-2.6.38/103-mtd_trxsplit.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/drivers/mtd/Kconfig -+++ b/drivers/mtd/Kconfig -@@ -65,6 +65,11 @@ config MTD_ROOTFS_SPLIT - 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" - ---help--- ---- a/drivers/mtd/Makefile -+++ b/drivers/mtd/Makefile -@@ -9,6 +9,7 @@ mtd-$(CONFIG_MTD_PARTITIONS) += mtdpart. - mtd-$(CONFIG_MTD_OF_PARTS) += ofpart.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.38/120-rb153_cf_driver.patch b/target/linux/adm5120/patches-2.6.38/120-rb153_cf_driver.patch deleted file mode 100644 index 9525513..0000000 --- a/target/linux/adm5120/patches-2.6.38/120-rb153_cf_driver.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/ata/Makefile -+++ b/drivers/ata/Makefile -@@ -87,6 +87,7 @@ obj-$(CONFIG_PATA_PALMLD) += pata_palmld - obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o - obj-$(CONFIG_PATA_OF_PLATFORM) += pata_of_platform.o - obj-$(CONFIG_PATA_QDI) += pata_qdi.o -+obj-$(CONFIG_PATA_RB153_CF) += pata_rb153_cf.o - obj-$(CONFIG_PATA_RB532) += pata_rb532_cf.o - obj-$(CONFIG_PATA_RZ1000) += pata_rz1000.o - obj-$(CONFIG_PATA_SAMSUNG_CF) += pata_samsung_cf.o ---- a/drivers/ata/Kconfig -+++ b/drivers/ata/Kconfig -@@ -806,6 +806,15 @@ config PATA_QDI - help - Support for QDI 6500 and 6580 PATA controllers on VESA local bus. - -+config PATA_RB153_CF -+ tristate "RouterBOARD 153 Compact Flash support" -+ depends on ADM5120_MACH_RB_153 -+ help -+ This option enables support for a Compact Flash connected on -+ the RouterBOARD 153. -+ -+ If unsure, say N. -+ - config PATA_RB532 - tristate "RouterBoard 532 PATA CompactFlash support" - depends on MIKROTIK_RB532 diff --git a/target/linux/adm5120/patches-2.6.38/200-amba_pl010_hacks.patch b/target/linux/adm5120/patches-2.6.38/200-amba_pl010_hacks.patch deleted file mode 100644 index b1de1b3..0000000 --- a/target/linux/adm5120/patches-2.6.38/200-amba_pl010_hacks.patch +++ /dev/null @@ -1,378 +0,0 @@ ---- a/drivers/tty/serial/amba-pl010.c -+++ b/drivers/tty/serial/amba-pl010.c -@@ -51,11 +51,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 - -@@ -81,9 +80,9 @@ static void pl010_stop_tx(struct uart_po - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr &= ~UART010_CR_TIE; -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_start_tx(struct uart_port *port) -@@ -91,9 +90,9 @@ static void pl010_start_tx(struct uart_p - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr |= UART010_CR_TIE; -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_stop_rx(struct uart_port *port) -@@ -101,9 +100,9 @@ static void pl010_stop_rx(struct uart_po - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr &= ~(UART010_CR_RIE | UART010_CR_RTIE); -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_enable_ms(struct uart_port *port) -@@ -111,9 +110,9 @@ static void pl010_enable_ms(struct uart_ - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr |= UART010_CR_MSIE; -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_rx_chars(struct uart_amba_port *uap) -@@ -121,9 +120,9 @@ static void pl010_rx_chars(struct uart_a - struct tty_struct *tty = uap->port.state->port.tty; - unsigned int status, ch, flag, rsr, max_count = 256; - -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - while (UART_RX_DATA(status) && max_count--) { -- ch = readb(uap->port.membase + UART01x_DR); -+ ch = __raw_readl(uap->port.membase + UART01x_DR); - flag = TTY_NORMAL; - - uap->port.icount.rx++; -@@ -132,9 +131,9 @@ static void pl010_rx_chars(struct uart_a - * 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 = __raw_readl(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; - if (unlikely(rsr & UART01x_RSR_ANY)) { -- writel(0, uap->port.membase + UART01x_ECR); -+ __raw_writel(0, uap->port.membase + UART01x_ECR); - - if (rsr & UART01x_RSR_BE) { - rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE); -@@ -164,7 +163,7 @@ static void pl010_rx_chars(struct uart_a - uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); - - ignore_char: -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - } - spin_unlock(&uap->port.lock); - tty_flip_buffer_push(tty); -@@ -177,7 +176,7 @@ static void pl010_tx_chars(struct uart_a - int count; - - if (uap->port.x_char) { -- writel(uap->port.x_char, uap->port.membase + UART01x_DR); -+ __raw_writel(uap->port.x_char, uap->port.membase + UART01x_DR); - uap->port.icount.tx++; - uap->port.x_char = 0; - return; -@@ -189,7 +188,7 @@ static void pl010_tx_chars(struct uart_a - - count = uap->port.fifosize >> 1; - do { -- writel(xmit->buf[xmit->tail], uap->port.membase + UART01x_DR); -+ __raw_writel(xmit->buf[xmit->tail], uap->port.membase + UART01x_DR); - xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); - uap->port.icount.tx++; - if (uart_circ_empty(xmit)) -@@ -207,9 +206,9 @@ static void pl010_modem_status(struct ua - { - unsigned int status, delta; - -- writel(0, uap->port.membase + UART010_ICR); -+ __raw_writel(0, uap->port.membase + UART010_ICR); - -- status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+ status = __raw_readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; - - delta = status ^ uap->old_status; - uap->old_status = status; -@@ -237,7 +236,7 @@ static irqreturn_t pl010_int(int irq, vo - - spin_lock(&uap->port.lock); - -- status = readb(uap->port.membase + UART010_IIR); -+ status = __raw_readl(uap->port.membase + UART010_IIR); - if (status) { - do { - if (status & (UART010_IIR_RTIS | UART010_IIR_RIS)) -@@ -250,7 +249,7 @@ static irqreturn_t pl010_int(int irq, vo - if (pass_counter-- == 0) - break; - -- status = readb(uap->port.membase + UART010_IIR); -+ status = __raw_readl(uap->port.membase + UART010_IIR); - } while (status & (UART010_IIR_RTIS | UART010_IIR_RIS | - UART010_IIR_TIS)); - handled = 1; -@@ -264,7 +263,7 @@ static irqreturn_t pl010_int(int irq, vo - 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 = __raw_readl(uap->port.membase + UART01x_FR); - return status & UART01x_FR_BUSY ? 0 : TIOCSER_TEMT; - } - -@@ -274,7 +273,7 @@ static unsigned int pl010_get_mctrl(stru - unsigned int result = 0; - unsigned int status; - -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - if (status & UART01x_FR_DCD) - result |= TIOCM_CAR; - if (status & UART01x_FR_DSR) -@@ -300,12 +299,12 @@ static void pl010_break_ctl(struct uart_ - unsigned int lcr_h; - - spin_lock_irqsave(&uap->port.lock, flags); -- lcr_h = readb(uap->port.membase + UART010_LCRH); -+ lcr_h = __raw_readl(uap->port.membase + UART010_LCRH); - if (break_state == -1) - lcr_h |= UART01x_LCRH_BRK; - else - lcr_h &= ~UART01x_LCRH_BRK; -- writel(lcr_h, uap->port.membase + UART010_LCRH); -+ __raw_writel(lcr_h, uap->port.membase + UART010_LCRH); - spin_unlock_irqrestore(&uap->port.lock, flags); - } - -@@ -333,12 +332,12 @@ static int pl010_startup(struct uart_por - /* - * initialise the old status of the modem signals - */ -- uap->old_status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+ uap->old_status = __raw_readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; - - /* - * Finally, enable interrupts - */ -- writel(UART01x_CR_UARTEN | UART010_CR_RIE | UART010_CR_RTIE, -+ __raw_writel(UART01x_CR_UARTEN | UART010_CR_RIE | UART010_CR_RTIE, - uap->port.membase + UART010_CR); - - return 0; -@@ -361,10 +360,10 @@ static void pl010_shutdown(struct uart_p - /* - * disable all interrupts, disable the port - */ -- writel(0, uap->port.membase + UART010_CR); -+ __raw_writel(0, uap->port.membase + UART010_CR); - - /* disable break condition and fifos */ -- writel(readb(uap->port.membase + UART010_LCRH) & -+ __raw_writel(__raw_readl(uap->port.membase + UART010_LCRH) & - ~(UART01x_LCRH_BRK | UART01x_LCRH_FEN), - uap->port.membase + UART010_LCRH); - -@@ -386,7 +385,7 @@ pl010_set_termios(struct uart_port *port - /* - * 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) { -@@ -449,25 +448,25 @@ pl010_set_termios(struct uart_port *port - 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 = __raw_readl(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; - - if (UART_ENABLE_MS(port, termios->c_cflag)) - old_cr |= UART010_CR_MSIE; - -- writel(0, uap->port.membase + UART010_CR); -+ __raw_writel(0, uap->port.membase + UART010_CR); - - /* Set baud rate */ - quot -= 1; -- writel((quot & 0xf00) >> 8, uap->port.membase + UART010_LCRM); -- writel(quot & 0xff, uap->port.membase + UART010_LCRL); -+ __raw_writel((quot & 0xf00) >> 8, uap->port.membase + UART010_LCRM); -+ __raw_writel(quot & 0xff, uap->port.membase + UART010_LCRL); - - /* - * ----------v----------v----------v----------v----- - * NOTE: MUST BE WRITTEN AFTER UARTLCR_M & UARTLCR_L - * ----------^----------^----------^----------^----- - */ -- writel(lcr_h, uap->port.membase + UART010_LCRH); -- writel(old_cr, uap->port.membase + UART010_CR); -+ __raw_writel(lcr_h, uap->port.membase + UART010_LCRH); -+ __raw_writel(old_cr, uap->port.membase + UART010_CR); - - spin_unlock_irqrestore(&uap->port.lock, flags); - } -@@ -549,7 +548,7 @@ static struct uart_ops amba_pl010_pops = - .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 - -@@ -559,10 +558,10 @@ static void pl010_console_putchar(struct - unsigned int status; - - do { -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - barrier(); - } while (!UART_TX_READY(status)); -- writel(ch, uap->port.membase + UART01x_DR); -+ __raw_writel(ch, uap->port.membase + UART01x_DR); - } - - static void -@@ -576,8 +575,8 @@ pl010_console_write(struct console *co, - /* - * First save the CR then disable the interrupts - */ -- old_cr = readb(uap->port.membase + UART010_CR); -- writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); -+ old_cr = __raw_readl(uap->port.membase + UART010_CR); -+ __raw_writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); - - uart_console_write(&uap->port, s, count, pl010_console_putchar); - -@@ -586,10 +585,10 @@ pl010_console_write(struct console *co, - * and restore the TCR - */ - do { -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - barrier(); - } while (status & UART01x_FR_BUSY); -- writel(old_cr, uap->port.membase + UART010_CR); -+ __raw_writel(old_cr, uap->port.membase + UART010_CR); - - clk_disable(uap->clk); - } -@@ -598,9 +597,9 @@ static void __init - 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 (__raw_readl(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { - unsigned int lcr_h, quot; -- lcr_h = readb(uap->port.membase + UART010_LCRH); -+ lcr_h = __raw_readl(uap->port.membase + UART010_LCRH); - - *parity = 'n'; - if (lcr_h & UART01x_LCRH_PEN) { -@@ -615,8 +614,8 @@ pl010_console_get_options(struct uart_am - else - *bits = 8; - -- quot = readb(uap->port.membase + UART010_LCRL) | -- readb(uap->port.membase + UART010_LCRM) << 8; -+ quot = __raw_readl(uap->port.membase + UART010_LCRL) | -+ __raw_readl(uap->port.membase + UART010_LCRM) << 8; - *baud = uap->port.uartclk / (16 * (quot + 1)); - } - } -@@ -634,7 +633,7 @@ static int __init pl010_console_setup(st - * 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) -@@ -652,7 +651,7 @@ static int __init pl010_console_setup(st - - 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, -@@ -668,11 +667,11 @@ static struct console amba_console = { - - 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/tty/serial/Kconfig -+++ b/drivers/tty/serial/Kconfig -@@ -276,10 +276,25 @@ config SERIAL_AMBA_PL010 - 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.38/201-amba_bus_hacks.patch b/target/linux/adm5120/patches-2.6.38/201-amba_bus_hacks.patch deleted file mode 100644 index 9db3e55..0000000 --- a/target/linux/adm5120/patches-2.6.38/201-amba_bus_hacks.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/drivers/amba/bus.c -+++ b/drivers/amba/bus.c -@@ -18,6 +18,10 @@ - #include <asm/irq.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.38/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches-2.6.38/203-gpio_leds_brightness.patch deleted file mode 100644 index ac3c516..0000000 --- a/target/linux/adm5120/patches-2.6.38/203-gpio_leds_brightness.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/leds/leds-gpio.c -+++ b/drivers/leds/leds-gpio.c -@@ -52,13 +52,17 @@ static void gpio_led_set(struct led_clas - 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.38/310-adm5120_wdt.patch b/target/linux/adm5120/patches-2.6.38/310-adm5120_wdt.patch deleted file mode 100644 index e0537d5..0000000 --- a/target/linux/adm5120/patches-2.6.38/310-adm5120_wdt.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -894,6 +894,18 @@ config RC32434_WDT - To compile this driver as a module, choose M here: the - module will be called rc32434_wdt. - -+config ADM5120_WDT -+ tristate "Infineon ADM5120 SoC hardware watchdog" -+ depends on WATCHDOG && 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 -@@ -113,6 +113,7 @@ obj-$(CONFIG_ATH79_WDT) += ath79_wdt.o - obj-$(CONFIG_BCM47XX_WDT) += bcm47xx_wdt.o - obj-$(CONFIG_BCM63XX_WDT) += bcm63xx_wdt.o - obj-$(CONFIG_RC32434_WDT) += rc32434_wdt.o -+obj-$(CONFIG_ADM5120_WDT) += adm5120_wdt.o - obj-$(CONFIG_INDYDOG) += indydog.o - obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o - obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt.o diff --git a/target/linux/adm5120/patches-2.6.38/901-adm5120-usb-fix-compiler-warning.patch b/target/linux/adm5120/patches-2.6.38/901-adm5120-usb-fix-compiler-warning.patch deleted file mode 100644 index 1abc843..0000000 --- a/target/linux/adm5120/patches-2.6.38/901-adm5120-usb-fix-compiler-warning.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/usb/host/adm5120-dbg.c -+++ b/drivers/usb/host/adm5120-dbg.c -@@ -133,7 +133,7 @@ urb_print(struct admhcd *ahcd, struct ur - - #define admhc_dbg_sw(ahcd, next, size, format, arg...) \ - do { \ -- if (next) { \ -+ if (next != NULL) { \ - unsigned s_len; \ - s_len = scnprintf(*next, *size, format, ## arg); \ - *size -= s_len; *next += s_len; \ diff --git a/target/linux/adm5120/patches-2.6.38/902-adm5120-usb-remove-dev-power-power_state.patch b/target/linux/adm5120/patches-2.6.38/902-adm5120-usb-remove-dev-power-power_state.patch deleted file mode 100644 index 3ad2070..0000000 --- a/target/linux/adm5120/patches-2.6.38/902-adm5120-usb-remove-dev-power-power_state.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/usb/host/adm5120-dbg.c -+++ b/drivers/usb/host/adm5120-dbg.c -@@ -644,7 +644,7 @@ static ssize_t fill_registers_buffer(str - hcd->product_desc, - hcd_name); - -- if (bus->controller->power.power_state.event) { -+ if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) { - size -= scnprintf(next, size, - "SUSPENDED (no register access)\n"); - goto done; diff --git a/target/linux/adm5120/patches-2.6.38/903-adm5120-usb-use-the-admhcd-structure-directly-in-debugfs-files.patch b/target/linux/adm5120/patches-2.6.38/903-adm5120-usb-use-the-admhcd-structure-directly-in-debugfs-files.patch deleted file mode 100644 index 695cce9..0000000 --- a/target/linux/adm5120/patches-2.6.38/903-adm5120-usb-use-the-admhcd-structure-directly-in-debugfs-files.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- a/drivers/usb/host/adm5120-dbg.c -+++ b/drivers/usb/host/adm5120-dbg.c -@@ -419,7 +419,7 @@ static struct dentry *admhc_debug_root; - - struct debug_buffer { - ssize_t (*fill_func)(struct debug_buffer *); /* fill method */ -- struct device *dev; -+ struct admhcd *ahcd; - struct mutex mutex; /* protect filling of buffer */ - size_t count; /* number of characters filled into buffer */ - char *page; -@@ -494,15 +494,11 @@ show_list(struct admhcd *ahcd, char *buf - - static ssize_t fill_async_buffer(struct debug_buffer *buf) - { -- struct usb_bus *bus; -- struct usb_hcd *hcd; - struct admhcd *ahcd; - size_t temp; - unsigned long flags; - -- bus = dev_get_drvdata(buf->dev); -- hcd = bus_to_hcd(bus); -- ahcd = hcd_to_admhcd(hcd); -+ ahcd = buf->ahcd; - - spin_lock_irqsave(&ahcd->lock, flags); - temp = show_list(ahcd, buf->page, PAGE_SIZE, ahcd->ed_head); -@@ -516,8 +512,6 @@ static ssize_t fill_async_buffer(struct - - static ssize_t fill_periodic_buffer(struct debug_buffer *buf) - { -- struct usb_bus *bus; -- struct usb_hcd *hcd; - struct admhcd *ahcd; - struct ed **seen, *ed; - unsigned long flags; -@@ -530,9 +524,7 @@ static ssize_t fill_periodic_buffer(stru - return 0; - seen_count = 0; - -- bus = dev_get_drvdata(buf->dev); -- hcd = bus_to_hcd(bus); -- ahcd = hcd_to_admhcd(hcd); -+ ahcd = buf->ahcd; - next = buf->page; - size = PAGE_SIZE; - -@@ -615,7 +607,6 @@ static ssize_t fill_periodic_buffer(stru - - static ssize_t fill_registers_buffer(struct debug_buffer *buf) - { -- struct usb_bus *bus; - struct usb_hcd *hcd; - struct admhcd *ahcd; - struct admhcd_regs __iomem *regs; -@@ -624,9 +615,8 @@ static ssize_t fill_registers_buffer(str - char *next; - u32 rdata; - -- bus = dev_get_drvdata(buf->dev); -- hcd = bus_to_hcd(bus); -- ahcd = hcd_to_admhcd(hcd); -+ ahcd = buf->ahcd; -+ hcd = admhcd_to_hcd(ahcd); - regs = ahcd->regs; - next = buf->page; - size = PAGE_SIZE; -@@ -691,7 +681,7 @@ done: - } - - --static struct debug_buffer *alloc_buffer(struct device *dev, -+static struct debug_buffer *alloc_buffer(struct admhcd *ahcd, - ssize_t (*fill_func)(struct debug_buffer *)) - { - struct debug_buffer *buf; -@@ -699,7 +689,7 @@ static struct debug_buffer *alloc_buffer - buf = kzalloc(sizeof(struct debug_buffer), GFP_KERNEL); - - if (buf) { -- buf->dev = dev; -+ buf->ahcd = ahcd; - buf->fill_func = fill_func; - mutex_init(&buf->mutex); - } -@@ -792,26 +782,25 @@ static int debug_registers_open(struct i - 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, -+ ahcd->debug_dir, ahcd, - &debug_async_fops); - if (!ahcd->debug_async) - goto async_error; - - ahcd->debug_periodic = debugfs_create_file("periodic", S_IRUGO, -- ahcd->debug_dir, dev, -+ ahcd->debug_dir, ahcd, - &debug_periodic_fops); - if (!ahcd->debug_periodic) - goto periodic_error; - - ahcd->debug_registers = debugfs_create_file("registers", S_IRUGO, -- ahcd->debug_dir, dev, -+ ahcd->debug_dir, ahcd, - &debug_registers_fops); - if (!ahcd->debug_registers) - goto registers_error; diff --git a/target/linux/adm5120/patches-2.6.38/906-adm5120sw-mc_count-fix.patch b/target/linux/adm5120/patches-2.6.38/906-adm5120sw-mc_count-fix.patch deleted file mode 100644 index cb1b376..0000000 --- a/target/linux/adm5120/patches-2.6.38/906-adm5120sw-mc_count-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/adm5120sw.c -+++ b/drivers/net/adm5120sw.c -@@ -937,7 +937,7 @@ static void adm5120_if_set_multicast_lis - t |= (ports << CPUP_CONF_DUNP_SHIFT); - - if (dev->flags & IFF_PROMISC || dev->flags & IFF_ALLMULTI || -- dev->mc_count) -+ netdev_mc_count(dev)) - /* enable multicast packets */ - t &= ~(ports << CPUP_CONF_DMCP_SHIFT); - else diff --git a/target/linux/adm5120/patches-2.6.38/930-2_6_36_ports.patch b/target/linux/adm5120/patches-2.6.38/930-2_6_36_ports.patch deleted file mode 100644 index 33e7c71..0000000 --- a/target/linux/adm5120/patches-2.6.38/930-2_6_36_ports.patch +++ /dev/null @@ -1,119 +0,0 @@ ---- a/arch/mips/include/asm/war.h -+++ b/arch/mips/include/asm/war.h -@@ -9,7 +9,7 @@ - #ifndef _ASM_WAR_H - #define _ASM_WAR_H - --#include <war.h> -+#include <asm/mach-adm5120/war.h> - - /* - * Work around certain R4000 CPU errata (as implemented by GCC): ---- a/drivers/amba/bus.c -+++ b/drivers/amba/bus.c -@@ -16,7 +16,7 @@ - #include <linux/amba/bus.h> - - #include <asm/irq.h> --#include <asm/sizes.h> -+#include <asm/mach-adm5120/asm/sizes.h> - - #ifndef NO_IRQ - #define NO_IRQ (-1) ---- a/drivers/watchdog/adm5120_wdt.c -+++ b/drivers/watchdog/adm5120_wdt.c -@@ -166,7 +166,7 @@ static const struct file_operations wdt_ - .owner = THIS_MODULE, - .llseek = no_llseek, - .write = wdt_write, -- .ioctl = wdt_ioctl, -+ .unlocked_ioctl = wdt_ioctl, - .open = wdt_open, - .release = wdt_release, - }; ---- a/arch/mips/Kbuild.platforms -+++ b/arch/mips/Kbuild.platforms -@@ -1,5 +1,6 @@ - # All platforms listed in alphabetic order - -+platforms += adm5120 - platforms += alchemy - platforms += ar7 - platforms += ath79 ---- a/drivers/net/adm5120sw.c -+++ b/drivers/net/adm5120sw.c -@@ -26,6 +26,7 @@ - #include <linux/platform_device.h> - #include <linux/io.h> - #include <linux/irq.h> -+#include <asm/mach-adm5120/irq.h> - - #include <linux/netdevice.h> - #include <linux/etherdevice.h> ---- a/arch/mips/adm5120/common/clock.c -+++ b/arch/mips/adm5120/common/clock.c -@@ -33,7 +33,7 @@ static struct clk uart_clk = { - - struct clk *clk_get(struct device *dev, const char *id) - { -- char *name = dev_name(dev); -+ const char *name = dev_name(dev); - - if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1")) - return &uart_clk; ---- /dev/null -+++ b/arch/mips/adm5120/Platform -@@ -0,0 +1,53 @@ -+# -+# Core Infineon/ADMtek ADM5120 -+# -+platform-$(CONFIG_ADM5120) += adm5120/common/ -+ -+# -+# OEM CELLVISION -+# -+platform-$(CONFIG_ADM5120_OEM_CELLVISION) += adm5120/cellvision/ -+ -+# -+# OEM COMPEX -+# -+platform-$(CONFIG_ADM5120_OEM_COMPEX) += adm5120/compex/ -+ -+# -+# OEM EDIMAX -+# -+platform-$(CONFIG_ADM5120_OEM_EDIMAX) += adm5120/edimax/ -+ -+# -+# OEM GENERIC -+# -+platform-$(CONFIG_ADM5120_OEM_GENERIC) += adm5120/generic/ -+ -+# -+# OEM INFINEON -+# -+platform-$(CONFIG_ADM5120_OEM_INFINEON) += adm5120/infineon/ -+ -+# -+# OEM MIKROTIK -+# -+platform-$(CONFIG_ADM5120_OEM_MIKROTIK) += adm5120/mikrotik/ -+ -+# -+# OEM MOTOROLA -+# -+platform-$(CONFIG_ADM5120_OEM_MOTOROLA) += adm5120/motorola/ -+ -+# -+# OEM OSBRIDGE -+# -+platform-$(CONFIG_ADM5120_OEM_OSBRIDGE) += adm5120/osbridge/ -+ -+# -+# OEM ZYXEL -+# -+platform-$(CONFIG_ADM5120_OEM_ZYXEL) += adm5120/zyxel/ -+ -+cflags-$(CONFIG_ADM5120) += -I$(srctree)/arch/mips/include/asm/mach-adm5120 -+libs-$(CONFIG_ADM5120) += arch/mips/adm5120/prom/ -+load-$(CONFIG_ADM5120) += 0xffffffff80001000 |