diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-12-08 12:04:25 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-12-08 12:04:25 +0000 |
commit | 6e4472e69e89aa56ad8c0e6f90415a2b8da36eba (patch) | |
tree | b35c1688c3303eb7f7dff2304798f8eb320812fb /target/linux/brcm2708 | |
parent | a899dbd4e32835b0a1d917479d10e5a2744c273c (diff) | |
download | upstream-6e4472e69e89aa56ad8c0e6f90415a2b8da36eba.tar.gz upstream-6e4472e69e89aa56ad8c0e6f90415a2b8da36eba.tar.bz2 upstream-6e4472e69e89aa56ad8c0e6f90415a2b8da36eba.zip |
kernel: refresh patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43564 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm2708')
54 files changed, 508 insertions, 2091 deletions
diff --git a/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch b/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch index 5086f218a7..90cf0ce6b0 100644 --- a/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch +++ b/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch @@ -96,8 +96,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> create mode 100644 arch/arm/mach-bcm2708/vcio.c create mode 100644 drivers/mmc/host/sdhci-bcm2708.c -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 4733d32..9e23417 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -380,6 +380,22 @@ config ARCH_AT91 @@ -131,8 +129,6 @@ index 4733d32..9e23417 100644 source "arch/arm/mach-zynq/Kconfig" -diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index 0531da8..117fb79 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -920,6 +920,14 @@ choice @@ -150,11 +146,9 @@ index 0531da8..117fb79 100644 endchoice config DEBUG_EXYNOS_UART -diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index 08a9ef5..755e9c2 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -143,6 +143,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 +@@ -148,6 +148,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020 # by CONFIG_* macro name. machine-$(CONFIG_ARCH_AT91) += at91 machine-$(CONFIG_ARCH_BCM) += bcm @@ -162,9 +156,6 @@ index 08a9ef5..755e9c2 100644 machine-$(CONFIG_ARCH_BCM2835) += bcm2835 machine-$(CONFIG_ARCH_BERLIN) += berlin machine-$(CONFIG_ARCH_CLPS711X) += clps711x -diff --git a/arch/arm/configs/bcmrpi_cutdown_defconfig b/arch/arm/configs/bcmrpi_cutdown_defconfig -new file mode 100644 -index 0000000..74f2dc9 --- /dev/null +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig @@ -0,0 +1,474 @@ @@ -642,9 +633,6 @@ index 0000000..74f2dc9 +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -new file mode 100644 -index 0000000..339aabf --- /dev/null +++ b/arch/arm/configs/bcmrpi_defconfig @@ -0,0 +1,510 @@ @@ -1158,9 +1146,6 @@ index 0000000..339aabf +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -diff --git a/arch/arm/configs/bcmrpi_emergency_defconfig b/arch/arm/configs/bcmrpi_emergency_defconfig -new file mode 100644 -index 0000000..3b40c49 --- /dev/null +++ b/arch/arm/configs/bcmrpi_emergency_defconfig @@ -0,0 +1,532 @@ @@ -1696,8 +1681,6 @@ index 0000000..3b40c49 +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c -index 92f7b15..7b5ed03 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -176,6 +176,16 @@ void arch_cpu_idle(void) @@ -1717,9 +1700,6 @@ index 92f7b15..7b5ed03 100644 /* * Called by kexec, immediately prior to machine_kexec(). * -diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig -new file mode 100644 -index 0000000..9355841 --- /dev/null +++ b/arch/arm/mach-bcm2708/Kconfig @@ -0,0 +1,34 @@ @@ -1757,9 +1737,6 @@ index 0000000..9355841 + Do not allow ARM to use GPU's L2 cache. Requires disable_l2cache in config.txt. + +endmenu -diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile -new file mode 100644 -index 0000000..a722f3f --- /dev/null +++ b/arch/arm/mach-bcm2708/Makefile @@ -0,0 +1,7 @@ @@ -1770,18 +1747,12 @@ index 0000000..a722f3f +obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o +obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o +obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o -diff --git a/arch/arm/mach-bcm2708/Makefile.boot b/arch/arm/mach-bcm2708/Makefile.boot -new file mode 100644 -index 0000000..67039c3 --- /dev/null +++ b/arch/arm/mach-bcm2708/Makefile.boot @@ -0,0 +1,3 @@ + zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 -diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c -new file mode 100644 -index 0000000..da18725 --- /dev/null +++ b/arch/arm/mach-bcm2708/armctrl.c @@ -0,0 +1,208 @@ @@ -1993,9 +1964,6 @@ index 0000000..da18725 + armctrl_pm_register(base, irq_start, resume_sources); + return 0; +} -diff --git a/arch/arm/mach-bcm2708/armctrl.h b/arch/arm/mach-bcm2708/armctrl.h -new file mode 100644 -index 0000000..0aa916e --- /dev/null +++ b/arch/arm/mach-bcm2708/armctrl.h @@ -0,0 +1,27 @@ @@ -2026,9 +1994,6 @@ index 0000000..0aa916e + u32 armctrl_sources, u32 resume_sources); + +#endif -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -new file mode 100644 -index 0000000..a5af6ec --- /dev/null +++ b/arch/arm/mach-bcm2708/bcm2708.c @@ -0,0 +1,720 @@ @@ -2752,9 +2717,6 @@ index 0000000..a5af6ec +module_param(disk_led_gpio, uint, 0644); +module_param(disk_led_active_low, uint, 0644); +module_param(reboot_part, uint, 0644); -diff --git a/arch/arm/mach-bcm2708/bcm2708.h b/arch/arm/mach-bcm2708/bcm2708.h -new file mode 100644 -index 0000000..e339a93 --- /dev/null +++ b/arch/arm/mach-bcm2708/bcm2708.h @@ -0,0 +1,49 @@ @@ -2807,9 +2769,6 @@ index 0000000..e339a93 +} + +#endif -diff --git a/arch/arm/mach-bcm2708/bcm2708_gpio.c b/arch/arm/mach-bcm2708/bcm2708_gpio.c -new file mode 100644 -index 0000000..120929ff --- /dev/null +++ b/arch/arm/mach-bcm2708/bcm2708_gpio.c @@ -0,0 +1,361 @@ @@ -3174,9 +3133,6 @@ index 0000000..120929ff + +MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver"); +MODULE_LICENSE("GPL"); -diff --git a/arch/arm/mach-bcm2708/clock.c b/arch/arm/mach-bcm2708/clock.c -new file mode 100644 -index 0000000..4fc556e --- /dev/null +++ b/arch/arm/mach-bcm2708/clock.c @@ -0,0 +1,61 @@ @@ -3241,9 +3197,6 @@ index 0000000..4fc556e + return -EIO; +} +EXPORT_SYMBOL(clk_set_rate); -diff --git a/arch/arm/mach-bcm2708/clock.h b/arch/arm/mach-bcm2708/clock.h -new file mode 100644 -index 0000000..5f9d725 --- /dev/null +++ b/arch/arm/mach-bcm2708/clock.h @@ -0,0 +1,24 @@ @@ -3271,9 +3224,6 @@ index 0000000..5f9d725 +struct clk { + unsigned long rate; +}; -diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c -new file mode 100644 -index 0000000..51d147a --- /dev/null +++ b/arch/arm/mach-bcm2708/dma.c @@ -0,0 +1,399 @@ @@ -3676,9 +3626,6 @@ index 0000000..51d147a +MODULE_LICENSE("GPL"); + +MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM"); -diff --git a/arch/arm/mach-bcm2708/include/mach/arm_control.h b/arch/arm/mach-bcm2708/include/mach/arm_control.h -new file mode 100644 -index 0000000..a82bb92 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/arm_control.h @@ -0,0 +1,419 @@ @@ -4101,9 +4048,6 @@ index 0000000..a82bb92 +#define AJBTDO HW_REGISTER_RW(AJB_BASE+0x0c) + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/arm_power.h b/arch/arm/mach-bcm2708/include/mach/arm_power.h -new file mode 100644 -index 0000000..aae9136 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/arm_power.h @@ -0,0 +1,60 @@ @@ -4167,9 +4111,6 @@ index 0000000..aae9136 +}; + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/clkdev.h b/arch/arm/mach-bcm2708/include/mach/clkdev.h -new file mode 100644 -index 0000000..04b37a8 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/clkdev.h @@ -0,0 +1,7 @@ @@ -4180,9 +4121,6 @@ index 0000000..04b37a8 +#define __clk_put(clk) do { } while (0) + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/debug-macro.S b/arch/arm/mach-bcm2708/include/mach/debug-macro.S -new file mode 100644 -index 0000000..b24304a --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/debug-macro.S @@ -0,0 +1,22 @@ @@ -4208,9 +4146,6 @@ index 0000000..b24304a + .endm + +#include <debug/pl01x.S> -diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h -new file mode 100644 -index 0000000..ac7a4a0 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/dma.h @@ -0,0 +1,86 @@ @@ -4300,9 +4235,6 @@ index 0000000..ac7a4a0 + + +#endif /* _MACH_BCM2708_DMA_H */ -diff --git a/arch/arm/mach-bcm2708/include/mach/entry-macro.S b/arch/arm/mach-bcm2708/include/mach/entry-macro.S -new file mode 100644 -index 0000000..79b62d9 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/entry-macro.S @@ -0,0 +1,69 @@ @@ -4375,9 +4307,6 @@ index 0000000..79b62d9 +1020: @ EQ will be set if no irqs pending + + .endm -diff --git a/arch/arm/mach-bcm2708/include/mach/frc.h b/arch/arm/mach-bcm2708/include/mach/frc.h -new file mode 100644 -index 0000000..dd51e07 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/frc.h @@ -0,0 +1,38 @@ @@ -4419,9 +4348,6 @@ index 0000000..dd51e07 +extern unsigned long long frc_clock_ticks63(void); + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/gpio.h b/arch/arm/mach-bcm2708/include/mach/gpio.h -new file mode 100644 -index 0000000..7965a97 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/gpio.h @@ -0,0 +1,17 @@ @@ -4442,9 +4368,6 @@ index 0000000..7965a97 +#define irq_to_gpio(x) ((x) - GPIO_IRQ_START) + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/hardware.h b/arch/arm/mach-bcm2708/include/mach/hardware.h -new file mode 100644 -index 0000000..c2954e8 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/hardware.h @@ -0,0 +1,28 @@ @@ -4476,9 +4399,6 @@ index 0000000..c2954e8 +#include <mach/platform.h> + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/io.h b/arch/arm/mach-bcm2708/include/mach/io.h -new file mode 100644 -index 0000000..e6eb84d --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/io.h @@ -0,0 +1,27 @@ @@ -4509,9 +4429,6 @@ index 0000000..e6eb84d +#define __io(a) __typesafe_io(a) + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h -new file mode 100644 -index 0000000..faf5d1a --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/irqs.h @@ -0,0 +1,194 @@ @@ -4709,9 +4626,6 @@ index 0000000..faf5d1a +#define NR_IRQS (HARD_IRQS+GPIO_IRQS+SPARE_IRQS) + +#endif /* _BCM2708_IRQS_H_ */ -diff --git a/arch/arm/mach-bcm2708/include/mach/memory.h b/arch/arm/mach-bcm2708/include/mach/memory.h -new file mode 100644 -index 0000000..521540d --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/memory.h @@ -0,0 +1,57 @@ @@ -4772,9 +4686,6 @@ index 0000000..521540d +#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PLAT_PHYS_OFFSET)) + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -new file mode 100644 -index 0000000..110ce07 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -0,0 +1,220 @@ @@ -4998,9 +4909,6 @@ index 0000000..110ce07 +#endif + +/* END */ -diff --git a/arch/arm/mach-bcm2708/include/mach/power.h b/arch/arm/mach-bcm2708/include/mach/power.h -new file mode 100644 -index 0000000..52b3b02 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/power.h @@ -0,0 +1,26 @@ @@ -5030,9 +4938,6 @@ index 0000000..52b3b02 +extern int bcm_power_close(BCM_POWER_HANDLE_T handle); + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/system.h b/arch/arm/mach-bcm2708/include/mach/system.h -new file mode 100644 -index 0000000..2d0b821 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/system.h @@ -0,0 +1,38 @@ @@ -5074,9 +4979,6 @@ index 0000000..2d0b821 +} + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/timex.h b/arch/arm/mach-bcm2708/include/mach/timex.h -new file mode 100644 -index 0000000..64a660c --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/timex.h @@ -0,0 +1,23 @@ @@ -5103,9 +5005,6 @@ index 0000000..64a660c + */ + +#define CLOCK_TICK_RATE (1000000) -diff --git a/arch/arm/mach-bcm2708/include/mach/uncompress.h b/arch/arm/mach-bcm2708/include/mach/uncompress.h -new file mode 100644 -index 0000000..d634813 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/uncompress.h @@ -0,0 +1,84 @@ @@ -5193,9 +5092,6 @@ index 0000000..d634813 + * nothing to do + */ +#define arch_decomp_wdog() -diff --git a/arch/arm/mach-bcm2708/include/mach/vc_mem.h b/arch/arm/mach-bcm2708/include/mach/vc_mem.h -new file mode 100644 -index 0000000..4a4a338 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/vc_mem.h @@ -0,0 +1,35 @@ @@ -5234,9 +5130,6 @@ index 0000000..4a4a338 +#endif + +#endif /* VC_MEM_H */ -diff --git a/arch/arm/mach-bcm2708/include/mach/vcio.h b/arch/arm/mach-bcm2708/include/mach/vcio.h -new file mode 100644 -index 0000000..9935e02 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/vcio.h @@ -0,0 +1,141 @@ @@ -5381,9 +5274,6 @@ index 0000000..9935e02 +#define DEVICE_FILE_NAME "char_dev" + +#endif -diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h -new file mode 100644 -index 0000000..502c617 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/vmalloc.h @@ -0,0 +1,20 @@ @@ -5407,9 +5297,6 @@ index 0000000..502c617 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#define VMALLOC_END (0xe8000000) -diff --git a/arch/arm/mach-bcm2708/power.c b/arch/arm/mach-bcm2708/power.c -new file mode 100644 -index 0000000..256bf1a --- /dev/null +++ b/arch/arm/mach-bcm2708/power.c @@ -0,0 +1,194 @@ @@ -5607,9 +5494,6 @@ index 0000000..256bf1a +MODULE_AUTHOR("Phil Elwell"); +MODULE_DESCRIPTION("Interface to BCM2708 power management"); +MODULE_LICENSE("GPL"); -diff --git a/arch/arm/mach-bcm2708/vc_mem.c b/arch/arm/mach-bcm2708/vc_mem.c -new file mode 100644 -index 0000000..2adac12 --- /dev/null +++ b/arch/arm/mach-bcm2708/vc_mem.c @@ -0,0 +1,432 @@ @@ -6045,9 +5929,6 @@ index 0000000..2adac12 +module_param(mem_size, uint, 0644); +module_param(mem_base, uint, 0644); + -diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c -new file mode 100644 -index 0000000..5e43e85 --- /dev/null +++ b/arch/arm/mach-bcm2708/vcio.c @@ -0,0 +1,474 @@ @@ -6525,8 +6406,6 @@ index 0000000..5e43e85 +MODULE_DESCRIPTION("ARM I/O to VideoCore processor"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:bcm-mbox"); -diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig -index ca8ecde..4afbeda 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -358,7 +358,7 @@ config CPU_PJ4B @@ -6538,8 +6417,6 @@ index ca8ecde..4afbeda 100644 select CPU_32v6 select CPU_ABRT_EV6 select CPU_CACHE_V6 -diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S -index 32b3558..4712ccb 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S @@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset) @@ -6565,8 +6442,6 @@ index 32b3558..4712ccb 100644 mov pc, lr ENTRY(cpu_v6_dcache_clean_area) -diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types -index a10297d..c9ddd87 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -522,6 +522,7 @@ torbreck MACH_TORBRECK TORBRECK 3090 @@ -6577,8 +6452,6 @@ index a10297d..c9ddd87 100644 ag5evm MACH_AG5EVM AG5EVM 3189 ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 1384f67..bad4c9b 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -272,6 +272,27 @@ config MMC_SDHCI_BCM_KONA @@ -6609,11 +6482,9 @@ index 1384f67..bad4c9b 100644 config MMC_SDHCI_BCM2835 tristate "SDHCI platform support for the BCM2835 SD/MMC Controller" depends on ARCH_BCM2835 -diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 3483b6b..11460d7 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile -@@ -16,6 +16,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-pxav2.o +@@ -16,6 +16,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-p obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o @@ -6621,9 +6492,6 @@ index 3483b6b..11460d7 100644 obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o obj-$(CONFIG_MMC_OMAP) += omap.o -diff --git a/drivers/mmc/host/sdhci-bcm2708.c b/drivers/mmc/host/sdhci-bcm2708.c -new file mode 100644 -index 0000000..d8ef77c --- /dev/null +++ b/drivers/mmc/host/sdhci-bcm2708.c @@ -0,0 +1,1424 @@ @@ -8051,8 +7919,6 @@ index 0000000..d8ef77c +MODULE_AUTHOR("Broadcom <info@broadcom.com>"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:"DRIVER_NAME); -diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c -index 9ddef47..b78afa2 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -28,6 +28,7 @@ @@ -8063,7 +7929,7 @@ index 9ddef47..b78afa2 100644 #include <linux/mmc/slot-gpio.h> #include "sdhci.h" -@@ -326,7 +327,7 @@ static void sdhci_read_block_pio(struct sdhci_host *host) +@@ -326,7 +327,7 @@ static void sdhci_read_block_pio(struct u32 uninitialized_var(scratch); u8 *buf; @@ -8072,7 +7938,7 @@ index 9ddef47..b78afa2 100644 blksize = host->data->blksz; chunk = 0; -@@ -371,7 +372,7 @@ static void sdhci_write_block_pio(struct sdhci_host *host) +@@ -371,7 +372,7 @@ static void sdhci_write_block_pio(struct u32 scratch; u8 *buf; @@ -8081,7 +7947,7 @@ index 9ddef47..b78afa2 100644 blksize = host->data->blksz; chunk = 0; -@@ -410,19 +411,28 @@ static void sdhci_write_block_pio(struct sdhci_host *host) +@@ -410,19 +411,28 @@ static void sdhci_write_block_pio(struct local_irq_restore(flags); } @@ -8113,7 +7979,7 @@ index 9ddef47..b78afa2 100644 /* * Some controllers (JMicron JMB38x) mess up the buffer bits -@@ -433,7 +443,7 @@ static void sdhci_transfer_pio(struct sdhci_host *host) +@@ -433,7 +443,7 @@ static void sdhci_transfer_pio(struct sd (host->data->blocks == 1)) mask = ~0; @@ -8122,7 +7988,7 @@ index 9ddef47..b78afa2 100644 if (host->quirks & SDHCI_QUIRK_PIO_NEEDS_DELAY) udelay(100); -@@ -445,9 +455,11 @@ static void sdhci_transfer_pio(struct sdhci_host *host) +@@ -445,9 +455,11 @@ static void sdhci_transfer_pio(struct sd host->blocks--; if (host->blocks == 0) break; @@ -8135,7 +8001,7 @@ index 9ddef47..b78afa2 100644 } static char *sdhci_kmap_atomic(struct scatterlist *sg, unsigned long *flags) -@@ -720,7 +732,9 @@ static void sdhci_set_transfer_irqs(struct sdhci_host *host) +@@ -720,7 +732,9 @@ static void sdhci_set_transfer_irqs(stru u32 pio_irqs = SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL; u32 dma_irqs = SDHCI_INT_DMA_END | SDHCI_INT_ADMA_ERROR; @@ -8146,7 +8012,7 @@ index 9ddef47..b78afa2 100644 sdhci_clear_set_irqs(host, pio_irqs, dma_irqs); else sdhci_clear_set_irqs(host, dma_irqs, pio_irqs); -@@ -752,44 +766,25 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) +@@ -752,44 +766,25 @@ static void sdhci_prepare_data(struct sd host->data_early = 0; host->data->bytes_xfered = 0; @@ -8199,7 +8065,7 @@ index 9ddef47..b78afa2 100644 int broken, i; struct scatterlist *sg; -@@ -848,7 +843,8 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) +@@ -848,7 +843,8 @@ static void sdhci_prepare_data(struct sd */ WARN_ON(1); host->flags &= ~SDHCI_REQ_USE_DMA; @@ -8209,7 +8075,7 @@ index 9ddef47..b78afa2 100644 WARN_ON(sg_cnt != 1); sdhci_writel(host, sg_dma_address(data->sg), SDHCI_DMA_ADDRESS); -@@ -864,11 +860,13 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) +@@ -864,11 +860,13 @@ static void sdhci_prepare_data(struct sd if (host->version >= SDHCI_SPEC_200) { ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); ctrl &= ~SDHCI_CTRL_DMA_MASK; @@ -8223,7 +8089,7 @@ index 9ddef47..b78afa2 100644 sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); } -@@ -925,7 +923,8 @@ static void sdhci_set_transfer_mode(struct sdhci_host *host, +@@ -925,7 +923,8 @@ static void sdhci_set_transfer_mode(stru if (data->flags & MMC_DATA_READ) mode |= SDHCI_TRNS_READ; @@ -8233,7 +8099,7 @@ index 9ddef47..b78afa2 100644 mode |= SDHCI_TRNS_DMA; sdhci_writew(host, mode, SDHCI_TRANSFER_MODE); -@@ -941,13 +940,16 @@ static void sdhci_finish_data(struct sdhci_host *host) +@@ -941,13 +940,16 @@ static void sdhci_finish_data(struct sdh host->data = NULL; if (host->flags & SDHCI_REQ_USE_DMA) { @@ -8254,7 +8120,7 @@ index 9ddef47..b78afa2 100644 } /* -@@ -1000,6 +1002,12 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) +@@ -1000,6 +1002,12 @@ void sdhci_send_command(struct sdhci_hos if ((cmd->data != NULL) || (cmd->flags & MMC_RSP_BUSY)) mask |= SDHCI_DATA_INHIBIT; @@ -8267,7 +8133,7 @@ index 9ddef47..b78afa2 100644 /* We shouldn't wait for data inihibit for stop commands, even though they might use busy signaling */ if (host->mrq->data && (cmd == host->mrq->data->stop)) -@@ -1017,6 +1025,8 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) +@@ -1017,6 +1025,8 @@ void sdhci_send_command(struct sdhci_hos timeout--; mdelay(1); } @@ -8276,7 +8142,7 @@ index 9ddef47..b78afa2 100644 timeout = jiffies; if (!cmd->data && cmd->cmd_timeout_ms > 9000) -@@ -1026,6 +1036,10 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) +@@ -1026,6 +1036,10 @@ void sdhci_send_command(struct sdhci_hos mod_timer(&host->timer, timeout); host->cmd = cmd; @@ -8287,7 +8153,7 @@ index 9ddef47..b78afa2 100644 sdhci_prepare_data(host, cmd); -@@ -1505,7 +1519,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) +@@ -1505,7 +1519,7 @@ static void sdhci_do_set_ios(struct sdhc else ctrl &= ~SDHCI_CTRL_HISPD; @@ -8296,7 +8162,7 @@ index 9ddef47..b78afa2 100644 u16 clk, ctrl_2; /* In case of UHS-I modes, set High Speed Enable */ -@@ -2204,7 +2218,7 @@ static void sdhci_timeout_timer(unsigned long data) +@@ -2204,7 +2218,7 @@ static void sdhci_timeout_timer(unsigned if (host->mrq) { pr_err("%s: Timeout waiting for hardware " @@ -8305,7 +8171,7 @@ index 9ddef47..b78afa2 100644 sdhci_dumpregs(host); if (host->data) { -@@ -2249,10 +2263,13 @@ static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask) +@@ -2249,10 +2263,13 @@ static void sdhci_cmd_irq(struct sdhci_h BUG_ON(intmask == 0); if (!host->cmd) { @@ -8319,7 +8185,7 @@ index 9ddef47..b78afa2 100644 return; } -@@ -2322,6 +2339,19 @@ static void sdhci_show_adma_error(struct sdhci_host *host) +@@ -2322,6 +2339,19 @@ static void sdhci_show_adma_error(struct static void sdhci_show_adma_error(struct sdhci_host *host) { } #endif @@ -8339,7 +8205,7 @@ index 9ddef47..b78afa2 100644 static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) { u32 command; -@@ -2351,23 +2381,39 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) +@@ -2351,23 +2381,39 @@ static void sdhci_data_irq(struct sdhci_ } } @@ -8383,7 +8249,7 @@ index 9ddef47..b78afa2 100644 pr_err("%s: ADMA error\n", mmc_hostname(host->mmc)); sdhci_show_adma_error(host); host->data->error = -EIO; -@@ -2375,11 +2421,18 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) +@@ -2375,11 +2421,18 @@ static void sdhci_data_irq(struct sdhci_ host->ops->adma_workaround(host, intmask); } @@ -8406,7 +8272,7 @@ index 9ddef47..b78afa2 100644 /* * We currently don't do anything fancy with DMA -@@ -2408,18 +2461,8 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) +@@ -2408,18 +2461,8 @@ static void sdhci_data_irq(struct sdhci_ sdhci_writel(host, dmanow, SDHCI_DMA_ADDRESS); } @@ -8465,7 +8331,7 @@ index 9ddef47..b78afa2 100644 if (intmask & SDHCI_INT_BUS_POWER) { pr_err("%s: Card is consuming too much power!\n", -@@ -2602,7 +2667,8 @@ int sdhci_resume_host(struct sdhci_host *host) +@@ -2602,7 +2667,8 @@ int sdhci_resume_host(struct sdhci_host { int ret = 0; @@ -8475,7 +8341,7 @@ index 9ddef47..b78afa2 100644 if (host->ops->enable_dma) host->ops->enable_dma(host); } -@@ -2833,14 +2899,16 @@ int sdhci_add_host(struct sdhci_host *host) +@@ -2833,14 +2899,16 @@ int sdhci_add_host(struct sdhci_host *ho host->flags &= ~SDHCI_USE_ADMA; } @@ -8494,7 +8360,7 @@ index 9ddef47..b78afa2 100644 } } } -@@ -3266,6 +3334,7 @@ int sdhci_add_host(struct sdhci_host *host) +@@ -3266,6 +3334,7 @@ int sdhci_add_host(struct sdhci_host *ho pr_info("%s: SDHCI controller on %s [%s] using %s\n", mmc_hostname(mmc), host->hw_name, dev_name(mmc_dev(mmc)), @@ -8502,8 +8368,6 @@ index 9ddef47..b78afa2 100644 (host->flags & SDHCI_USE_ADMA) ? "ADMA" : (host->flags & SDHCI_USE_SDMA) ? "DMA" : "PIO"); -diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h -index 0a3ed01..6857875 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -290,6 +290,20 @@ struct sdhci_ops { @@ -8527,7 +8391,7 @@ index 0a3ed01..6857875 100644 void (*hw_reset)(struct sdhci_host *host); void (*platform_suspend)(struct sdhci_host *host); void (*platform_resume)(struct sdhci_host *host); -@@ -403,6 +417,29 @@ extern int sdhci_resume_host(struct sdhci_host *host); +@@ -403,6 +417,29 @@ extern int sdhci_resume_host(struct sdhc extern void sdhci_enable_irq_wakeups(struct sdhci_host *host); #endif @@ -8557,8 +8421,6 @@ index 0a3ed01..6857875 100644 #ifdef CONFIG_PM_RUNTIME extern int sdhci_runtime_suspend_host(struct sdhci_host *host); extern int sdhci_runtime_resume_host(struct sdhci_host *host); -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index b569011..76fa055 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -84,7 +84,7 @@ struct vendor_data { @@ -8570,8 +8432,6 @@ index b569011..76fa055 100644 } static struct vendor_data vendor_arm = { -diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h -index 362927c4..e23fffb 100644 --- a/include/linux/mmc/sdhci.h +++ b/include/linux/mmc/sdhci.h @@ -133,6 +133,7 @@ struct sdhci_host { @@ -8590,6 +8450,3 @@ index 362927c4..e23fffb 100644 struct mmc_data *data; /* Current data request */ unsigned int data_early:1; /* Data finished before cmd */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0002-Add-quick-config.patch b/target/linux/brcm2708/patches-3.14/0002-Add-quick-config.patch index 9c26470529..70f29d604e 100644 --- a/target/linux/brcm2708/patches-3.14/0002-Add-quick-config.patch +++ b/target/linux/brcm2708/patches-3.14/0002-Add-quick-config.patch @@ -10,9 +10,6 @@ No modules are needed and it includes all Pi specific drivers 1 file changed, 197 insertions(+) create mode 100644 arch/arm/configs/bcmrpi_quick_defconfig -diff --git a/arch/arm/configs/bcmrpi_quick_defconfig b/arch/arm/configs/bcmrpi_quick_defconfig -new file mode 100644 -index 0000000..e5efe75 --- /dev/null +++ b/arch/arm/configs/bcmrpi_quick_defconfig @@ -0,0 +1,197 @@ @@ -213,6 +210,3 @@ index 0000000..e5efe75 +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0003-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-3.14/0003-Add-dwc_otg-driver.patch index c6e332acd6..5a7f45578d 100644 --- a/target/linux/brcm2708/patches-3.14/0003-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0003-Add-dwc_otg-driver.patch @@ -129,8 +129,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> create mode 100644 drivers/usb/host/dwc_otg/test/test_mod_param.pl create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl -diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile -index 1ae2bf3..c4a45aa 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_USB_U132_HCD) += host/ @@ -141,11 +139,9 @@ index 1ae2bf3..c4a45aa 100644 obj-$(CONFIG_USB_IMX21_HCD) += host/ obj-$(CONFIG_USB_FSL_MPH_DR_OF) += host/ obj-$(CONFIG_USB_FUSBH200_HCD) += host/ -diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c -index acbfeb0..7d675c8 100644 --- a/drivers/usb/core/generic.c +++ b/drivers/usb/core/generic.c -@@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_device *udev) +@@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_ dev_warn(&udev->dev, "no configuration chosen from %d choice%s\n", num_configs, plural(num_configs)); @@ -153,8 +149,6 @@ index acbfeb0..7d675c8 100644 } return i; } -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index f829a1a..4a44ae7 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1888,6 +1888,85 @@ free_interfaces: @@ -243,8 +237,6 @@ index f829a1a..4a44ae7 100644 /* Now that the interfaces are installed, re-enable LPM. */ usb_unlocked_enable_lpm(dev); -diff --git a/drivers/usb/core/otg_whitelist.h b/drivers/usb/core/otg_whitelist.h -index e8cdce5..ca0ac47 100644 --- a/drivers/usb/core/otg_whitelist.h +++ b/drivers/usb/core/otg_whitelist.h @@ -19,33 +19,82 @@ @@ -336,7 +328,7 @@ index e8cdce5..ca0ac47 100644 static int is_targeted(struct usb_device *dev) { struct usb_device_id *id = whitelist_table; -@@ -55,58 +104,83 @@ static int is_targeted(struct usb_device *dev) +@@ -55,58 +104,83 @@ static int is_targeted(struct usb_device return 1; /* HNP test device is _never_ targeted (see OTG spec 6.6.6) */ @@ -349,7 +341,40 @@ index e8cdce5..ca0ac47 100644 + } else if (!enable_whitelist) { + return 1; + } else { -+ + +- /* NOTE: can't use usb_match_id() since interface caches +- * aren't set up yet. this is cut/paste from that code. +- */ +- for (id = whitelist_table; id->match_flags; id++) { +- if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) && +- id->idVendor != le16_to_cpu(dev->descriptor.idVendor)) +- continue; +- +- if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) && +- id->idProduct != le16_to_cpu(dev->descriptor.idProduct)) +- continue; +- +- /* No need to test id->bcdDevice_lo != 0, since 0 is never +- greater than any unsigned number. */ +- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) && +- (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice))) +- continue; +- +- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) && +- (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice))) +- continue; +- +- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) && +- (id->bDeviceClass != dev->descriptor.bDeviceClass)) +- continue; +- +- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) && +- (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass)) +- continue; +- +- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) && +- (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol)) +- continue; +#ifdef DEBUG + dev_dbg(&dev->dev, "device V:%04x P:%04x DC:%04x SC:%04x PR:%04x \n", + dev->descriptor.idVendor, @@ -359,14 +384,7 @@ index e8cdce5..ca0ac47 100644 + dev->descriptor.bDeviceProtocol); +#endif -- /* NOTE: can't use usb_match_id() since interface caches -- * aren't set up yet. this is cut/paste from that code. -- */ -- for (id = whitelist_table; id->match_flags; id++) { -- if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) && -- id->idVendor != le16_to_cpu(dev->descriptor.idVendor)) -- continue; -+ return 1; + return 1; + /* NOTE: can't use usb_match_id() since interface caches + * aren't set up yet. this is cut/paste from that code. + */ @@ -380,54 +398,33 @@ index e8cdce5..ca0ac47 100644 + id->bDeviceSubClass, + id->bDeviceProtocol); +#endif - -- if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) && -- id->idProduct != le16_to_cpu(dev->descriptor.idProduct)) -- continue; ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) && + id->idVendor != le16_to_cpu(dev->descriptor.idVendor)) + continue; - -- /* No need to test id->bcdDevice_lo != 0, since 0 is never -- greater than any unsigned number. */ -- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) && -- (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice))) -- continue; ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) && + id->idProduct != le16_to_cpu(dev->descriptor.idProduct)) + continue; - -- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) && -- (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice))) -- continue; ++ + /* No need to test id->bcdDevice_lo != 0, since 0 is never + greater than any unsigned number. */ + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) && + (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice))) + continue; - -- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) && -- (id->bDeviceClass != dev->descriptor.bDeviceClass)) -- continue; ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) && + (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice))) + continue; - -- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) && -- (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass)) -- continue; ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) && + (id->bDeviceClass != dev->descriptor.bDeviceClass)) + continue; - -- if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) && -- (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol)) -- continue; ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) && + (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass)) + continue; - -- return 1; ++ + if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) && + (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol)) + continue; @@ -457,9 +454,6 @@ index e8cdce5..ca0ac47 100644 #endif } -diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c -new file mode 100644 -index 0000000..a896d73 --- /dev/null +++ b/drivers/usb/gadget/file_storage.c @@ -0,0 +1,3676 @@ @@ -4139,8 +4133,6 @@ index 0000000..a896d73 + kref_put(&fsg->ref, fsg_release); +} +module_exit(fsg_cleanup); -diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index a9707da..e252b95 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -689,6 +689,19 @@ config USB_HWA_HCD @@ -4163,8 +4155,6 @@ index a9707da..e252b95 100644 config USB_IMX21_HCD tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC -diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index 7530468..876f024 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -63,6 +63,8 @@ obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o @@ -4176,9 +4166,6 @@ index 7530468..876f024 100644 obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o obj-$(CONFIG_USB_FSL_MPH_DR_OF) += fsl-mph-dr-of.o obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o -diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile -new file mode 100644 -index 0000000..f10d466 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile @@ -0,0 +1,58 @@ @@ -4240,9 +4227,6 @@ index 0000000..f10d466 + +clean: + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ -diff --git a/drivers/usb/host/dwc_common_port/Makefile.fbsd b/drivers/usb/host/dwc_common_port/Makefile.fbsd -new file mode 100644 -index 0000000..45db991 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd @@ -0,0 +1,17 @@ @@ -4263,9 +4247,6 @@ index 0000000..45db991 + dwc_common_fbsd.c dwc_mem.c + +.include <bsd.kmod.mk> -diff --git a/drivers/usb/host/dwc_common_port/Makefile.linux b/drivers/usb/host/dwc_common_port/Makefile.linux -new file mode 100644 -index 0000000..0cef7b4 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.linux @@ -0,0 +1,49 @@ @@ -4318,9 +4299,6 @@ index 0000000..0cef7b4 + +clean: + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ -diff --git a/drivers/usb/host/dwc_common_port/changes.txt b/drivers/usb/host/dwc_common_port/changes.txt -new file mode 100644 -index 0000000..f6839f9 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/changes.txt @@ -0,0 +1,174 @@ @@ -4498,9 +4476,6 @@ index 0000000..f6839f9 +A DWC_LIBMODULE #define has also been added. If this is not defined, then the +module code in dwc_common_linux.c is not compiled in. This allows linking the +library code directly into a driver module, instead of as a standalone module. -diff --git a/drivers/usb/host/dwc_common_port/doc/doxygen.cfg b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg -new file mode 100644 -index 0000000..89aa887 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg @@ -0,0 +1,270 @@ @@ -4774,9 +4749,6 @@ index 0000000..89aa887 +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO -diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.c b/drivers/usb/host/dwc_common_port/dwc_cc.c -new file mode 100644 -index 0000000..5ec2ae2 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.c @@ -0,0 +1,532 @@ @@ -5312,9 +5284,6 @@ index 0000000..5ec2ae2 +} + +#endif /* DWC_CCLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.h b/drivers/usb/host/dwc_common_port/dwc_cc.h -new file mode 100644 -index 0000000..f86e6f2 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.h @@ -0,0 +1,224 @@ @@ -5542,9 +5511,6 @@ index 0000000..f86e6f2 +#endif + +#endif /* _DWC_CC_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c -new file mode 100644 -index 0000000..6dd04b5 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c @@ -0,0 +1,1308 @@ @@ -6856,9 +6822,6 @@ index 0000000..6dd04b5 +{ + return wq->pending; +} -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c -new file mode 100644 -index 0000000..440bcfc --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c @@ -0,0 +1,1421 @@ @@ -8283,9 +8246,6 @@ index 0000000..440bcfc +MODULE_LICENSE ("GPL"); + +#endif /* DWC_LIBMODULE */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c -new file mode 100644 -index 0000000..49b07e1 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c @@ -0,0 +1,1275 @@ @@ -9564,9 +9524,6 @@ index 0000000..49b07e1 +{ + return wq->pending; +} -diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.c b/drivers/usb/host/dwc_common_port/dwc_crypto.c -new file mode 100644 -index 0000000..3b03532 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c @@ -0,0 +1,308 @@ @@ -9878,9 +9835,6 @@ index 0000000..3b03532 +} + +#endif /* DWC_CRYPTOLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.h b/drivers/usb/host/dwc_common_port/dwc_crypto.h -new file mode 100644 -index 0000000..26fcddc --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h @@ -0,0 +1,111 @@ @@ -9995,9 +9949,6 @@ index 0000000..26fcddc +#endif + +#endif /* _DWC_CRYPTO_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.c b/drivers/usb/host/dwc_common_port/dwc_dh.c -new file mode 100644 -index 0000000..2b429a3 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.c @@ -0,0 +1,291 @@ @@ -10292,9 +10243,6 @@ index 0000000..2b429a3 +#endif /* !CONFIG_MACH_IPMATE */ + +#endif /* DWC_CRYPTOLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.h b/drivers/usb/host/dwc_common_port/dwc_dh.h -new file mode 100644 -index 0000000..25c1cc0 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.h @@ -0,0 +1,106 @@ @@ -10404,9 +10352,6 @@ index 0000000..25c1cc0 +#endif + +#endif /* _DWC_DH_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h -new file mode 100644 -index 0000000..89cc325 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_list.h @@ -0,0 +1,594 @@ @@ -11004,9 +10949,6 @@ index 0000000..89cc325 +#endif + +#endif /* _DWC_LIST_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_mem.c b/drivers/usb/host/dwc_common_port/dwc_mem.c -new file mode 100644 -index 0000000..ad645ff --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_mem.c @@ -0,0 +1,245 @@ @@ -11255,9 +11197,6 @@ index 0000000..ad645ff +} + +#endif /* DWC_DEBUG_MEMORY */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.c b/drivers/usb/host/dwc_common_port/dwc_modpow.c -new file mode 100644 -index 0000000..2004538 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c @@ -0,0 +1,636 @@ @@ -11897,9 +11836,6 @@ index 0000000..2004538 +#endif /* CONFIG_MACH_IPMATE */ + +#endif /*DWC_CRYPTOLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.h b/drivers/usb/host/dwc_common_port/dwc_modpow.h -new file mode 100644 -index 0000000..64f00c2 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h @@ -0,0 +1,34 @@ @@ -11937,9 +11873,6 @@ index 0000000..64f00c2 +#endif + +#endif /* _LINUX_BIGNUM_H */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.c b/drivers/usb/host/dwc_common_port/dwc_notifier.c -new file mode 100644 -index 0000000..8b3772a --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c @@ -0,0 +1,319 @@ @@ -12262,9 +12195,6 @@ index 0000000..8b3772a +} + +#endif /* DWC_NOTIFYLIB */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.h b/drivers/usb/host/dwc_common_port/dwc_notifier.h -new file mode 100644 -index 0000000..4a8cdfe --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h @@ -0,0 +1,122 @@ @@ -12390,9 +12320,6 @@ index 0000000..4a8cdfe +#endif + +#endif /* __DWC_NOTIFIER_H__ */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h -new file mode 100644 -index 0000000..9ffe929 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_os.h @@ -0,0 +1,1260 @@ @@ -13656,9 +13583,6 @@ index 0000000..9ffe929 +#endif + +#endif /* _DWC_OS_H_ */ -diff --git a/drivers/usb/host/dwc_common_port/usb.h b/drivers/usb/host/dwc_common_port/usb.h -new file mode 100644 -index 0000000..27bda82 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/usb.h @@ -0,0 +1,946 @@ @@ -14608,9 +14532,6 @@ index 0000000..27bda82 +#endif + +#endif /* _USB_H_ */ -diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile -new file mode 100644 -index 0000000..236c47c --- /dev/null +++ b/drivers/usb/host/dwc_otg/Makefile @@ -0,0 +1,80 @@ @@ -14694,9 +14615,6 @@ index 0000000..236c47c + rm -rf *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers + +endif -diff --git a/drivers/usb/host/dwc_otg/doc/doxygen.cfg b/drivers/usb/host/dwc_otg/doc/doxygen.cfg -new file mode 100644 -index 0000000..712b057 --- /dev/null +++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg @@ -0,0 +1,224 @@ @@ -14924,9 +14842,6 @@ index 0000000..712b057 +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO -diff --git a/drivers/usb/host/dwc_otg/dummy_audio.c b/drivers/usb/host/dwc_otg/dummy_audio.c -new file mode 100644 -index 0000000..225decf --- /dev/null +++ b/drivers/usb/host/dwc_otg/dummy_audio.c @@ -0,0 +1,1575 @@ @@ -16505,9 +16420,6 @@ index 0000000..225decf + remove_proc_entry("isoc_test", NULL); +} +module_exit (cleanup); -diff --git a/drivers/usb/host/dwc_otg/dwc_cfi_common.h b/drivers/usb/host/dwc_otg/dwc_cfi_common.h -new file mode 100644 -index 0000000..7770e20 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h @@ -0,0 +1,142 @@ @@ -16653,9 +16565,6 @@ index 0000000..7770e20 +typedef struct cfi_string cfi_string_t; + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.c b/drivers/usb/host/dwc_otg/dwc_otg_adp.c -new file mode 100644 -index 0000000..ce0618d --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c @@ -0,0 +1,854 @@ @@ -17513,9 +17422,6 @@ index 0000000..ce0618d +#endif + return 1; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.h b/drivers/usb/host/dwc_otg/dwc_otg_adp.h -new file mode 100644 -index 0000000..4110b25 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h @@ -0,0 +1,80 @@ @@ -17599,9 +17505,6 @@ index 0000000..4110b25 +extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if); + +#endif //__DWC_OTG_ADP_H__ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c -new file mode 100644 -index 0000000..fab2961 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c @@ -0,0 +1,1210 @@ @@ -18815,9 +18718,6 @@ index 0000000..fab2961 + device_remove_file(&dev->dev, &dev_attr_sleep_status); +#endif +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h -new file mode 100644 -index 0000000..e10b67f --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h @@ -0,0 +1,89 @@ @@ -18910,9 +18810,6 @@ index 0000000..e10b67f +#endif + ); +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.c b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c -new file mode 100644 -index 0000000..bbb3d32 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c @@ -0,0 +1,1876 @@ @@ -20792,9 +20689,6 @@ index 0000000..bbb3d32 +} + +#endif //DWC_UTE_CFI -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.h b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h -new file mode 100644 -index 0000000..55fd337 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h @@ -0,0 +1,320 @@ @@ -21118,9 +21012,6 @@ index 0000000..55fd337 +int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl); + +#endif /* (__DWC_OTG_CFI_H__) */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c -new file mode 100644 -index 0000000..6a32c5c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c @@ -0,0 +1,7151 @@ @@ -28275,9 +28166,6 @@ index 0000000..6a32c5c + dwc_otg_pcd_start_srp_timer(core_if); + return; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.h b/drivers/usb/host/dwc_otg/dwc_otg_cil.h -new file mode 100644 -index 0000000..79dbf83 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h @@ -0,0 +1,1464 @@ @@ -29745,9 +29633,6 @@ index 0000000..79dbf83 +////////////////////////////////////////////////////////////////////// + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c -new file mode 100644 -index 0000000..59fc862 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c @@ -0,0 +1,1563 @@ @@ -31314,9 +31199,6 @@ index 0000000..59fc862 + + return retval; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_core_if.h b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h -new file mode 100644 -index 0000000..4138fd1 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h @@ -0,0 +1,705 @@ @@ -32025,9 +31907,6 @@ index 0000000..4138fd1 +/** @} */ + +#endif /* __DWC_CORE_IF_H__ */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h -new file mode 100644 -index 0000000..8900318 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h @@ -0,0 +1,116 @@ @@ -32147,9 +32026,6 @@ index 0000000..8900318 + +#endif /*DEBUG*/ +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c -new file mode 100644 -index 0000000..ac2c846 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c @@ -0,0 +1,1700 @@ @@ -33853,9 +33729,6 @@ index 0000000..ac2c846 + </td></tr> + +*/ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.h b/drivers/usb/host/dwc_otg/dwc_otg_driver.h -new file mode 100644 -index 0000000..6a8be63 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h @@ -0,0 +1,86 @@ @@ -33945,9 +33818,6 @@ index 0000000..6a8be63 +#endif + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c -new file mode 100644 -index 0000000..ab935c0 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -0,0 +1,3473 @@ @@ -37424,9 +37294,6 @@ index 0000000..ab935c0 +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h -new file mode 100644 -index 0000000..bb4f67a --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -0,0 +1,824 @@ @@ -38254,9 +38121,6 @@ index 0000000..bb4f67a +#endif +#endif +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c -new file mode 100644 -index 0000000..274967b --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c @@ -0,0 +1,1133 @@ @@ -39393,9 +39257,6 @@ index 0000000..274967b +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h -new file mode 100644 -index 0000000..4823167 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h @@ -0,0 +1,412 @@ @@ -39811,9 +39672,6 @@ index 0000000..4823167 + +#endif /* __DWC_HCD_IF_H__ */ +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c -new file mode 100644 -index 0000000..b41e164 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c @@ -0,0 +1,2106 @@ @@ -41923,9 +41781,6 @@ index 0000000..b41e164 +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c -new file mode 100644 -index 0000000..e4787f5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c @@ -0,0 +1,893 @@ @@ -42822,9 +42677,6 @@ index 0000000..e4787f5 +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c -new file mode 100644 -index 0000000..9761566 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c @@ -0,0 +1,922 @@ @@ -43750,9 +43602,6 @@ index 0000000..9761566 +} + +#endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h -new file mode 100644 -index 0000000..e46d9bb --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h @@ -0,0 +1,185 @@ @@ -43941,9 +43790,6 @@ index 0000000..e46d9bb + + +#endif /* _DWC_OS_DEP_H_ */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c -new file mode 100644 -index 0000000..40fb25c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c @@ -0,0 +1,2708 @@ @@ -46655,9 +46501,6 @@ index 0000000..40fb25c +} + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h -new file mode 100644 -index 0000000..8ef7ba6 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h @@ -0,0 +1,266 @@ @@ -46927,9 +46770,6 @@ index 0000000..8ef7ba6 +extern void do_test_mode(void *data); +#endif +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h -new file mode 100644 -index 0000000..c8d2e0e --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h @@ -0,0 +1,360 @@ @@ -47293,9 +47133,6 @@ index 0000000..c8d2e0e +#endif /* __DWC_PCD_IF_H__ */ + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c -new file mode 100644 -index 0000000..1b1f83c --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c @@ -0,0 +1,5147 @@ @@ -52446,9 +52283,6 @@ index 0000000..1b1f83c +} + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c -new file mode 100644 -index 0000000..5d310df --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c @@ -0,0 +1,1358 @@ @@ -53810,9 +53644,6 @@ index 0000000..5d310df +EXPORT_SYMBOL(usb_gadget_unregister_driver); + +#endif /* DWC_HOST_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_regs.h b/drivers/usb/host/dwc_otg/dwc_otg_regs.h -new file mode 100644 -index 0000000..8e0e7b5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h @@ -0,0 +1,2550 @@ @@ -56366,9 +56197,6 @@ index 0000000..8e0e7b5 +} gpwrdn_data_t; + +#endif -diff --git a/drivers/usb/host/dwc_otg/test/Makefile b/drivers/usb/host/dwc_otg/test/Makefile -new file mode 100644 -index 0000000..fc45375 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/Makefile @@ -0,0 +1,16 @@ @@ -56388,9 +56216,6 @@ index 0000000..fc45375 + else echo "=======> $$test, FAILED" ; \ + fi \ + done -diff --git a/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm -new file mode 100644 -index 0000000..85e55fd --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm @@ -0,0 +1,337 @@ @@ -56731,9 +56556,6 @@ index 0000000..85e55fd +); + +1; -diff --git a/drivers/usb/host/dwc_otg/test/test_mod_param.pl b/drivers/usb/host/dwc_otg/test/test_mod_param.pl -new file mode 100644 -index 0000000..dc3820d --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl @@ -0,0 +1,133 @@ @@ -56870,9 +56692,6 @@ index 0000000..dc3820d + +test_main(); +0; -diff --git a/drivers/usb/host/dwc_otg/test/test_sysfs.pl b/drivers/usb/host/dwc_otg/test/test_sysfs.pl -new file mode 100644 -index 0000000..cdc9963 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl @@ -0,0 +1,193 @@ @@ -57069,6 +56888,3 @@ index 0000000..cdc9963 + +test_main(); +0; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0004-bcm2708-watchdog-driver.patch b/target/linux/brcm2708/patches-3.14/0004-bcm2708-watchdog-driver.patch index 426cb787c1..556c8739ee 100644 --- a/target/linux/brcm2708/patches-3.14/0004-bcm2708-watchdog-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0004-bcm2708-watchdog-driver.patch @@ -11,8 +11,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> 3 files changed, 391 insertions(+) create mode 100644 drivers/watchdog/bcm2708_wdog.c -diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index 79d2589..3641dbd 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -402,6 +402,12 @@ config RETU_WATCHDOG @@ -28,11 +26,9 @@ index 79d2589..3641dbd 100644 config MOXART_WDT tristate "MOXART watchdog" depends on ARCH_MOXART -diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile -index 985a66c..f68e32c 100644 --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile -@@ -54,6 +54,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o +@@ -54,6 +54,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_ obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o @@ -40,9 +36,6 @@ index 985a66c..f68e32c 100644 obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o obj-$(CONFIG_MOXART_WDT) += moxart_wdt.o obj-$(CONFIG_SIRFSOC_WATCHDOG) += sirfsoc_wdt.o -diff --git a/drivers/watchdog/bcm2708_wdog.c b/drivers/watchdog/bcm2708_wdog.c -new file mode 100644 -index 0000000..2f19203 --- /dev/null +++ b/drivers/watchdog/bcm2708_wdog.c @@ -0,0 +1,384 @@ @@ -430,6 +423,3 @@ index 0000000..2f19203 +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); +MODULE_ALIAS_MISCDEV(TEMP_MINOR); +MODULE_LICENSE("GPL"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0005-bcm2708-framebuffer-driver.patch b/target/linux/brcm2708/patches-3.14/0005-bcm2708-framebuffer-driver.patch index 437b4a0d24..9fb4276e32 100644 --- a/target/linux/brcm2708/patches-3.14/0005-bcm2708-framebuffer-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0005-bcm2708-framebuffer-driver.patch @@ -12,8 +12,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> 4 files changed, 1395 insertions(+), 1602 deletions(-) create mode 100644 drivers/video/bcm2708_fb.c -diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig -index dade5b7..4afc29b 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -310,6 +310,20 @@ config FB_PM2_FIFO_DISCONNECT @@ -37,11 +35,9 @@ index dade5b7..4afc29b 100644 config FB_ARMCLCD tristate "ARM PrimeCell PL110 support" depends on ARM || ARM64 || COMPILE_TEST -diff --git a/drivers/video/Makefile b/drivers/video/Makefile -index ae17ddf..35654ba 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile -@@ -100,6 +100,7 @@ obj-$(CONFIG_FB_PVR2) += pvr2fb.o +@@ -100,6 +100,7 @@ obj-$(CONFIG_FB_PVR2) += pvr obj-$(CONFIG_FB_VOODOO1) += sstfb.o obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o obj-$(CONFIG_FB_GOLDFISH) += goldfishfb.o @@ -49,9 +45,6 @@ index ae17ddf..35654ba 100644 obj-$(CONFIG_FB_68328) += 68328fb.o obj-$(CONFIG_FB_GBE) += gbefb.o obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o -diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c -new file mode 100644 -index 0000000..54cd760 --- /dev/null +++ b/drivers/video/bcm2708_fb.c @@ -0,0 +1,499 @@ @@ -554,8 +547,6 @@ index 0000000..54cd760 +MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer"); +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer"); +MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes"); -diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm -index 3c14e43..7626beb 100644 --- a/drivers/video/logo/logo_linux_clut224.ppm +++ b/drivers/video/logo/logo_linux_clut224.ppm @@ -1,1604 +1,883 @@ @@ -3044,6 +3035,3 @@ index 3c14e43..7626beb 100644 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0006-bcm2708-vchiq-driver.patch b/target/linux/brcm2708/patches-3.14/0006-bcm2708-vchiq-driver.patch index b65386f3f4..d1ee9f44d2 100644 --- a/target/linux/brcm2708/patches-3.14/0006-bcm2708-vchiq-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0006-bcm2708-vchiq-driver.patch @@ -83,8 +83,6 @@ Signed-off-by: Daniel Stone <daniels@collabora.com> create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c -diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 6cb388e..56867fa 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -524,6 +524,7 @@ source "drivers/misc/carma/Kconfig" @@ -95,8 +93,6 @@ index 6cb388e..56867fa 100644 source "drivers/misc/mic/Kconfig" source "drivers/misc/genwqe/Kconfig" endmenu -diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index 99b9424..ad85616 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -52,5 +52,6 @@ obj-$(CONFIG_INTEL_MEI) += mei/ @@ -106,9 +102,6 @@ index 99b9424..ad85616 100644 +obj-y += vc04_services/ obj-y += mic/ obj-$(CONFIG_GENWQE) += genwqe/ -diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig -new file mode 100644 -index 0000000..2663933 --- /dev/null +++ b/drivers/misc/vc04_services/Kconfig @@ -0,0 +1,9 @@ @@ -121,9 +114,6 @@ index 0000000..2663933 + BCM2708 family of products. + Defaults to Y when the Broadcom Videocore services + are included in the build, N otherwise. -diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile -new file mode 100644 -index 0000000..4224f58 --- /dev/null +++ b/drivers/misc/vc04_services/Makefile @@ -0,0 +1,17 @@ @@ -144,9 +134,6 @@ index 0000000..4224f58 +ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 + +endif -diff --git a/drivers/misc/vc04_services/interface/vchi/connections/connection.h b/drivers/misc/vc04_services/interface/vchi/connections/connection.h -new file mode 100644 -index 0000000..fef6ac3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h @@ -0,0 +1,328 @@ @@ -478,9 +465,6 @@ index 0000000..fef6ac3 +#endif /* CONNECTION_H_ */ + +/****************************** End of file **********************************/ -diff --git a/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h -new file mode 100644 -index 0000000..8b3f767 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h @@ -0,0 +1,204 @@ @@ -688,9 +672,6 @@ index 0000000..8b3f767 +#endif // _VCHI_MESSAGE_H_ + +/****************************** End of file ***********************************/ -diff --git a/drivers/misc/vc04_services/interface/vchi/vchi.h b/drivers/misc/vc04_services/interface/vchi/vchi.h -new file mode 100644 -index 0000000..cee5291 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi.h @@ -0,0 +1,373 @@ @@ -1067,9 +1048,6 @@ index 0000000..cee5291 +#endif /* VCHI_H_ */ + +/****************************** End of file **********************************/ -diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h -new file mode 100644 -index 0000000..26bc2d3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h @@ -0,0 +1,224 @@ @@ -1297,9 +1275,6 @@ index 0000000..26bc2d3 +#endif /* VCHI_CFG_H_ */ + +/****************************** End of file **********************************/ -diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h -new file mode 100644 -index 0000000..35dcba4 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h @@ -0,0 +1,71 @@ @@ -1374,9 +1349,6 @@ index 0000000..35dcba4 +//#define VCHI_RX_NANOLOCKS + +#endif /*VCHI_CFG_INTERNAL_H_*/ -diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_common.h b/drivers/misc/vc04_services/interface/vchi/vchi_common.h -new file mode 100644 -index 0000000..9e6c00e --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h @@ -0,0 +1,163 @@ @@ -1543,9 +1515,6 @@ index 0000000..9e6c00e + + +#endif // VCHI_COMMON_H_ -diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_mh.h b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h -new file mode 100644 -index 0000000..198bd07 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h @@ -0,0 +1,42 @@ @@ -1591,9 +1560,6 @@ index 0000000..198bd07 +#define VCHI_MEM_HANDLE_INVALID 0 + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h -new file mode 100644 -index 0000000..ad398ba --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h @@ -0,0 +1,40 @@ @@ -1637,9 +1603,6 @@ index 0000000..ad398ba +#include "vchiq_util.h" + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h -new file mode 100644 -index 0000000..7ea5c64 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h @@ -0,0 +1,42 @@ @@ -1685,9 +1648,6 @@ index 0000000..7ea5c64 +#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1 + +#endif /* VCHIQ_2835_H */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c -new file mode 100644 -index 0000000..b3bdaa2 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c @@ -0,0 +1,561 @@ @@ -2252,9 +2212,6 @@ index 0000000..b3bdaa2 + + kfree(pagelist); +} -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c -new file mode 100644 -index 0000000..c1fb8c3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -0,0 +1,2813 @@ @@ -5071,9 +5028,6 @@ index 0000000..c1fb8c3 +module_exit(vchiq_exit); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Broadcom Corporation"); -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h -new file mode 100644 -index 0000000..75ad4c6 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h @@ -0,0 +1,212 @@ @@ -5289,9 +5243,6 @@ index 0000000..75ad4c6 + + +#endif /* VCHIQ_ARM_H */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h -new file mode 100644 -index 0000000..df64581 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h @@ -0,0 +1,37 @@ @@ -5332,9 +5283,6 @@ index 0000000..df64581 +const char *vchiq_get_build_version(void); +const char *vchiq_get_build_time(void); +const char *vchiq_get_build_date(void); -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h -new file mode 100644 -index 0000000..493c86c --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h @@ -0,0 +1,60 @@ @@ -5398,9 +5346,6 @@ index 0000000..493c86c +#endif + +#endif /* VCHIQ_CFG_H */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c -new file mode 100644 -index 0000000..65f4b52 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c @@ -0,0 +1,119 @@ @@ -5523,9 +5468,6 @@ index 0000000..65f4b52 + mutex_unlock(&g_connected_mutex); +} +EXPORT_SYMBOL(vchiq_add_connected_callback); -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h -new file mode 100644 -index 0000000..863b3e3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h @@ -0,0 +1,50 @@ @@ -5579,9 +5521,6 @@ index 0000000..863b3e3 +void vchiq_call_connected_callbacks(void); + +#endif /* VCHIQ_CONNECTED_H */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c -new file mode 100644 -index 0000000..f35ed4f --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -0,0 +1,3824 @@ @@ -9409,9 +9348,6 @@ index 0000000..f35ed4f + numBytes = 0; + } +} -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h -new file mode 100644 -index 0000000..47cdf27 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -0,0 +1,706 @@ @@ -10121,9 +10057,6 @@ index 0000000..47cdf27 + size_t numBytes); + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion -new file mode 100644 -index 0000000..9f5b634 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion @@ -0,0 +1,87 @@ @@ -10214,9 +10147,6 @@ index 0000000..9f5b634 + return vchiq_build_time; +} +EOF -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h -new file mode 100644 -index 0000000..50359b0 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h @@ -0,0 +1,188 @@ @@ -10408,9 +10338,6 @@ index 0000000..50359b0 + short *peer_version); + +#endif /* VCHIQ_IF_H */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h -new file mode 100644 -index 0000000..e248037 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h @@ -0,0 +1,129 @@ @@ -10543,9 +10470,6 @@ index 0000000..e248037 +#define VCHIQ_IOC_MAX 15 + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c -new file mode 100644 -index 0000000..be9735f --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c @@ -0,0 +1,456 @@ @@ -11005,9 +10929,6 @@ index 0000000..be9735f + + return status; +} -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h -new file mode 100644 -index 0000000..d02e776 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h @@ -0,0 +1,71 @@ @@ -11082,9 +11003,6 @@ index 0000000..d02e776 + const VCHIQ_PLATFORM_DATA_T * platform_data); + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h -new file mode 100644 -index 0000000..54a3ece --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h @@ -0,0 +1,58 @@ @@ -11146,9 +11064,6 @@ index 0000000..54a3ece +} FRAGMENTS_T; + +#endif /* VCHIQ_PAGELIST_H */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c -new file mode 100644 -index 0000000..8e59676 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c @@ -0,0 +1,253 @@ @@ -11405,9 +11320,6 @@ index 0000000..8e59676 +} + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c -new file mode 100644 -index 0000000..a0b069d --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c @@ -0,0 +1,828 @@ @@ -12239,9 +12151,6 @@ index 0000000..a0b069d + return ret; +} +EXPORT_SYMBOL(vchi_service_release); -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c -new file mode 100644 -index 0000000..c2eefef --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c @@ -0,0 +1,151 @@ @@ -12396,9 +12305,6 @@ index 0000000..c2eefef + + return header; +} -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h -new file mode 100644 -index 0000000..f4d0b66 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h @@ -0,0 +1,81 @@ @@ -12483,9 +12389,6 @@ index 0000000..f4d0b66 +extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue); + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c -new file mode 100644 -index 0000000..b6bfa21 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c @@ -0,0 +1,59 @@ @@ -12548,6 +12451,3 @@ index 0000000..b6bfa21 +{ + return vchiq_build_time; +} --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0007-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch b/target/linux/brcm2708/patches-3.14/0007-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch index 2df9f19449..f8e9d86e39 100644 --- a/target/linux/brcm2708/patches-3.14/0007-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch +++ b/target/linux/brcm2708/patches-3.14/0007-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch @@ -14,8 +14,6 @@ Subject: [PATCH 07/54] vchiq: Avoid high load when blocked and unkillable 7 files changed, 75 insertions(+) create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c -index b3bdaa2..7e7b09f 100644 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c @@ -56,6 +56,7 @@ @@ -26,8 +24,6 @@ index b3bdaa2..7e7b09f 100644 #define MAX_FRAGMENTS (VCHIQ_NUM_CURRENT_BULKS * 2) -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c -index c1fb8c3..99c8967e 100644 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -49,6 +49,7 @@ @@ -38,8 +34,6 @@ index c1fb8c3..99c8967e 100644 #define DEVICE_NAME "vchiq" -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c -index 65f4b52..5efc62f 100644 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c @@ -33,6 +33,7 @@ @@ -50,8 +44,6 @@ index 65f4b52..5efc62f 100644 #include <linux/module.h> #include <linux/mutex.h> -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c -index f35ed4f..71ed0a5 100644 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -32,6 +32,7 @@ @@ -62,8 +54,6 @@ index f35ed4f..71ed0a5 100644 #define VCHIQ_SLOT_HANDLER_STACK 8192 -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c -index be9735f..5a4182e 100644 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c @@ -39,6 +39,7 @@ @@ -74,9 +64,6 @@ index be9735f..5a4182e 100644 /* ---- Public Variables ------------------------------------------------- */ -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h -new file mode 100644 -index 0000000..505ee1a --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h @@ -0,0 +1,69 @@ @@ -149,8 +136,6 @@ index 0000000..505ee1a +#define mutex_lock_interruptible mutex_lock_interruptible_killable + +#endif -diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c -index c2eefef..05e7979 100644 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c @@ -32,6 +32,7 @@ @@ -161,6 +146,3 @@ index c2eefef..05e7979 100644 static inline int is_pow2(int i) { --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0008-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch b/target/linux/brcm2708/patches-3.14/0008-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch index 3b9ba9d055..1d52adcbd4 100644 --- a/target/linux/brcm2708/patches-3.14/0008-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch +++ b/target/linux/brcm2708/patches-3.14/0008-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch @@ -20,8 +20,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> create mode 100644 drivers/char/broadcom/vc_cma/vc_cma.c create mode 100644 include/linux/broadcom/vc_cma.h -diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 1386749..fcf51a3 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -581,6 +581,8 @@ config DEVPORT @@ -33,8 +31,6 @@ index 1386749..fcf51a3 100644 config MSM_SMD_PKT bool "Enable device interface for some SMD packet ports" default n -diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index a324f93..aef3ed0 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -61,3 +61,5 @@ obj-$(CONFIG_JS_RTC) += js-rtc.o @@ -43,9 +39,6 @@ index a324f93..aef3ed0 100644 obj-$(CONFIG_TILE_SROM) += tile-srom.o + +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/ -diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -new file mode 100644 -index 0000000..f089943 --- /dev/null +++ b/drivers/char/broadcom/Kconfig @@ -0,0 +1,16 @@ @@ -65,16 +58,10 @@ index 0000000..f089943 + help + Helper for videocore CMA access. + -diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -new file mode 100644 -index 0000000..13c5bca --- /dev/null +++ b/drivers/char/broadcom/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_BCM_VC_CMA) += vc_cma/ -diff --git a/drivers/char/broadcom/vc_cma/Makefile b/drivers/char/broadcom/vc_cma/Makefile -new file mode 100644 -index 0000000..6a94de4 --- /dev/null +++ b/drivers/char/broadcom/vc_cma/Makefile @@ -0,0 +1,14 @@ @@ -92,9 +79,6 @@ index 0000000..6a94de4 +obj-$(CONFIG_BCM_VC_CMA) += vc-cma.o + +vc-cma-objs := vc_cma.o -diff --git a/drivers/char/broadcom/vc_cma/vc_cma.c b/drivers/char/broadcom/vc_cma/vc_cma.c -new file mode 100644 -index 0000000..a635f9f --- /dev/null +++ b/drivers/char/broadcom/vc_cma/vc_cma.c @@ -0,0 +1,1143 @@ @@ -1241,8 +1225,6 @@ index 0000000..a635f9f +module_exit(vc_cma_exit); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Broadcom Corporation"); -diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index ad85616..8418ba7 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -52,6 +52,6 @@ obj-$(CONFIG_INTEL_MEI) += mei/ @@ -1253,9 +1235,6 @@ index ad85616..8418ba7 100644 +obj-$(CONFIG_BCM2708_VCHIQ) += vc04_services/ obj-y += mic/ obj-$(CONFIG_GENWQE) += genwqe/ -diff --git a/include/linux/broadcom/vc_cma.h b/include/linux/broadcom/vc_cma.h -new file mode 100644 -index 0000000..5325832 --- /dev/null +++ b/include/linux/broadcom/vc_cma.h @@ -0,0 +1,29 @@ @@ -1288,6 +1267,3 @@ index 0000000..5325832 +#endif + +#endif /* VC_CMA_H */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0009-bcm2708-alsa-sound-driver.patch b/target/linux/brcm2708/patches-3.14/0009-bcm2708-alsa-sound-driver.patch index 93d77fd842..8f1af0c0c2 100644 --- a/target/linux/brcm2708/patches-3.14/0009-bcm2708-alsa-sound-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0009-bcm2708-alsa-sound-driver.patch @@ -24,8 +24,6 @@ Subject: [PATCH 09/54] bcm2708: alsa sound driver create mode 100755 sound/arm/bcm2835.h create mode 100644 sound/arm/vc_vchi_audioserv_defs.h -diff --git a/arch/arm/configs/bcmrpi_cutdown_defconfig b/arch/arm/configs/bcmrpi_cutdown_defconfig -index 74f2dc9..e519412 100644 --- a/arch/arm/configs/bcmrpi_cutdown_defconfig +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig @@ -208,6 +208,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y @@ -55,8 +53,6 @@ index 74f2dc9..e519412 100644 CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y CONFIG_HID_A4TECH=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 339aabf..df947e5 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -225,6 +225,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y @@ -86,11 +82,9 @@ index 339aabf..df947e5 100644 CONFIG_HID_PID=y CONFIG_USB_HIDDEV=y CONFIG_HID_A4TECH=m -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index a5af6ec..1904066 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -431,6 +431,58 @@ struct platform_device bcm2708_powerman_device = { +@@ -431,6 +431,58 @@ struct platform_device bcm2708_powerman_ .coherent_dma_mask = 0xffffffffUL}, }; @@ -158,8 +152,6 @@ index a5af6ec..1904066 100644 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; -diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig -index 885683a..f7ceafd 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -39,5 +39,12 @@ config SND_PXA2XX_AC97 @@ -175,11 +167,9 @@ index 885683a..f7ceafd 100644 + endif # SND_ARM -diff --git a/sound/arm/Makefile b/sound/arm/Makefile -index 8c0c851..6796d7f 100644 --- a/sound/arm/Makefile +++ b/sound/arm/Makefile -@@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_AC97) += pxa2xx-ac97-lib.o +@@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_A obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o snd-pxa2xx-ac97-objs := pxa2xx-ac97.o @@ -188,9 +178,6 @@ index 8c0c851..6796d7f 100644 +snd-bcm2835-objs := bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o + +ccflags-y += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 -diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c -new file mode 100755 -index 0000000..8c5334a --- /dev/null +++ b/sound/arm/bcm2835-ctl.c @@ -0,0 +1,200 @@ @@ -394,9 +381,6 @@ index 0000000..8c5334a + } + return 0; +} -diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c -new file mode 100755 -index 0000000..2e7d405 --- /dev/null +++ b/sound/arm/bcm2835-pcm.c @@ -0,0 +1,409 @@ @@ -809,9 +793,6 @@ index 0000000..2e7d405 + + return 0; +} -diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c -new file mode 100755 -index 0000000..b9b4fe8 --- /dev/null +++ b/sound/arm/bcm2835-vchiq.c @@ -0,0 +1,844 @@ @@ -1659,9 +1640,6 @@ index 0000000..b9b4fe8 + +module_param(force_bulk, bool, 0444); +MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio"); -diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c -new file mode 100755 -index 0000000..317e7d9 --- /dev/null +++ b/sound/arm/bcm2835.c @@ -0,0 +1,413 @@ @@ -2078,9 +2056,6 @@ index 0000000..317e7d9 +MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:bcm2835_alsa"); -diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h -new file mode 100755 -index 0000000..080bd5c --- /dev/null +++ b/sound/arm/bcm2835.h @@ -0,0 +1,155 @@ @@ -2239,9 +2214,6 @@ index 0000000..080bd5c +void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream); + +#endif /* __SOUND_ARM_BCM2835_H */ -diff --git a/sound/arm/vc_vchi_audioserv_defs.h b/sound/arm/vc_vchi_audioserv_defs.h -new file mode 100644 -index 0000000..af3e6eb --- /dev/null +++ b/sound/arm/vc_vchi_audioserv_defs.h @@ -0,0 +1,116 @@ @@ -2361,6 +2333,3 @@ index 0000000..af3e6eb +} VC_AUDIO_MSG_T; + +#endif // _VC_AUDIO_DEFS_H_ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0010-alsa-add-mmap-support-and-some-cleanups-to-bcm2835-A.patch b/target/linux/brcm2708/patches-3.14/0010-alsa-add-mmap-support-and-some-cleanups-to-bcm2835-A.patch index 509816e3aa..69c337e7e1 100644 --- a/target/linux/brcm2708/patches-3.14/0010-alsa-add-mmap-support-and-some-cleanups-to-bcm2835-A.patch +++ b/target/linux/brcm2708/patches-3.14/0010-alsa-add-mmap-support-and-some-cleanups-to-bcm2835-A.patch @@ -11,8 +11,6 @@ Subject: [PATCH 10/54] alsa: add mmap support and some cleanups to bcm2835 sound/arm/bcm2835.h | 2 ++ 4 files changed, 124 insertions(+), 70 deletions(-) -diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c -index 2e7d405..b4084bb 100755 --- a/sound/arm/bcm2835-pcm.c +++ b/sound/arm/bcm2835-pcm.c @@ -19,7 +19,8 @@ @@ -25,7 +23,7 @@ index 2e7d405..b4084bb 100755 .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000, .rate_min = 8000, -@@ -251,6 +252,12 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream) +@@ -251,6 +252,12 @@ static int snd_bcm2835_pcm_prepare(struc audio_info(" .. IN\n"); @@ -38,7 +36,7 @@ index 2e7d405..b4084bb 100755 alsa_stream->buffer_size = snd_pcm_lib_buffer_bytes(substream); alsa_stream->period_size = snd_pcm_lib_period_bytes(substream); alsa_stream->pos = 0; -@@ -263,6 +270,32 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream) +@@ -263,6 +270,32 @@ static int snd_bcm2835_pcm_prepare(struc return 0; } @@ -71,7 +69,7 @@ index 2e7d405..b4084bb 100755 /* trigger callback */ static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd) { -@@ -279,6 +312,11 @@ static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd) +@@ -279,6 +312,11 @@ static int snd_bcm2835_pcm_trigger(struc if (!alsa_stream->running) { err = bcm2835_audio_start(alsa_stream); if (err == 0) { @@ -83,7 +81,7 @@ index 2e7d405..b4084bb 100755 alsa_stream->running = 1; alsa_stream->draining = 1; } else { -@@ -327,30 +365,9 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_substream *substream) +@@ -327,30 +365,9 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_s alsa_stream->pos); audio_info(" .. OUT\n"); @@ -117,7 +115,7 @@ index 2e7d405..b4084bb 100755 } static int snd_bcm2835_pcm_lib_ioctl(struct snd_pcm_substream *substream, -@@ -372,7 +389,7 @@ static struct snd_pcm_ops snd_bcm2835_playback_ops = { +@@ -372,7 +389,7 @@ static struct snd_pcm_ops snd_bcm2835_pl .prepare = snd_bcm2835_pcm_prepare, .trigger = snd_bcm2835_pcm_trigger, .pointer = snd_bcm2835_pcm_pointer, @@ -126,8 +124,6 @@ index 2e7d405..b4084bb 100755 }; /* create a pcm device */ -diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c -index b9b4fe8..ee09b13 100755 --- a/sound/arm/bcm2835-vchiq.c +++ b/sound/arm/bcm2835-vchiq.c @@ -27,6 +27,7 @@ @@ -200,7 +196,7 @@ index b9b4fe8..ee09b13 100755 break; } kfree((void *)work); -@@ -107,7 +120,7 @@ int bcm2835_audio_start(bcm2835_alsa_stream_t * alsa_stream) +@@ -107,7 +120,7 @@ int bcm2835_audio_start(bcm2835_alsa_str if (work) { INIT_WORK((struct work_struct *)work, my_wq_function); work->alsa_stream = alsa_stream; @@ -209,7 +205,7 @@ index b9b4fe8..ee09b13 100755 if (queue_work (alsa_stream->my_wq, (struct work_struct *)work)) ret = 0; -@@ -128,7 +141,31 @@ int bcm2835_audio_stop(bcm2835_alsa_stream_t * alsa_stream) +@@ -128,7 +141,31 @@ int bcm2835_audio_stop(bcm2835_alsa_stre if (work) { INIT_WORK((struct work_struct *)work, my_wq_function); work->alsa_stream = alsa_stream; @@ -242,7 +238,7 @@ index b9b4fe8..ee09b13 100755 if (queue_work (alsa_stream->my_wq, (struct work_struct *)work)) ret = 0; -@@ -178,7 +215,7 @@ static void audio_vchi_callback(void *param, +@@ -178,7 +215,7 @@ static void audio_vchi_callback(void *pa (" .. instance=%p, m.type=VC_AUDIO_MSG_TYPE_RESULT, success=%d\n", instance, m.u.result.success); instance->result = m.u.result.success; @@ -251,7 +247,7 @@ index b9b4fe8..ee09b13 100755 } else if (m.type == VC_AUDIO_MSG_TYPE_COMPLETE) { irq_handler_t callback = (irq_handler_t) m.u.complete.callback; LOG_DBG -@@ -435,8 +472,8 @@ static int bcm2835_audio_set_ctls_chan(bcm2835_alsa_stream_t * alsa_stream, +@@ -435,8 +472,8 @@ static int bcm2835_audio_set_ctls_chan(b m.u.control.dest = chip->dest; m.u.control.volume = chip->volume; @@ -262,7 +258,7 @@ index b9b4fe8..ee09b13 100755 /* Send the message to the videocore */ success = vchi_msg_queue(instance->vchi_handle[0], -@@ -452,11 +489,10 @@ static int bcm2835_audio_set_ctls_chan(bcm2835_alsa_stream_t * alsa_stream, +@@ -452,11 +489,10 @@ static int bcm2835_audio_set_ctls_chan(b } /* We are expecting a reply from the videocore */ @@ -276,7 +272,7 @@ index b9b4fe8..ee09b13 100755 goto unlock; } -@@ -539,8 +575,8 @@ int bcm2835_audio_set_params(bcm2835_alsa_stream_t * alsa_stream, +@@ -539,8 +575,8 @@ int bcm2835_audio_set_params(bcm2835_als m.u.config.samplerate = samplerate; m.u.config.bps = bps; @@ -287,7 +283,7 @@ index b9b4fe8..ee09b13 100755 /* Send the message to the videocore */ success = vchi_msg_queue(instance->vchi_handle[0], -@@ -556,11 +592,10 @@ int bcm2835_audio_set_params(bcm2835_alsa_stream_t * alsa_stream, +@@ -556,11 +592,10 @@ int bcm2835_audio_set_params(bcm2835_als } /* We are expecting a reply from the videocore */ @@ -301,7 +297,7 @@ index b9b4fe8..ee09b13 100755 goto unlock; } -@@ -688,8 +723,8 @@ int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream) +@@ -688,8 +723,8 @@ int bcm2835_audio_close(bcm2835_alsa_str m.type = VC_AUDIO_MSG_TYPE_CLOSE; @@ -312,7 +308,7 @@ index b9b4fe8..ee09b13 100755 /* Send the message to the videocore */ success = vchi_msg_queue(instance->vchi_handle[0], -@@ -702,11 +737,11 @@ int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream) +@@ -702,11 +737,11 @@ int bcm2835_audio_close(bcm2835_alsa_str ret = -1; goto unlock; } @@ -338,11 +334,9 @@ index b9b4fe8..ee09b13 100755 { VC_AUDIO_MSG_T m; AUDIO_INSTANCE_T *instance = alsa_stream->instance; -diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c -index 317e7d9..e2047a7 100755 --- a/sound/arm/bcm2835.c +++ b/sound/arm/bcm2835.c -@@ -110,20 +110,20 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) +@@ -110,20 +110,20 @@ static int snd_bcm2835_alsa_probe(struct err = snd_bcm2835_create(g_card, pdev, &chip); if (err < 0) { @@ -399,7 +393,7 @@ index 317e7d9..e2047a7 100755 return err; } -@@ -326,49 +326,49 @@ static int bcm2835_alsa_device_init(void) +@@ -326,49 +326,49 @@ static int bcm2835_alsa_device_init(void int err; err = platform_driver_register(&bcm2835_alsa0_driver); if (err) { @@ -457,8 +451,6 @@ index 317e7d9..e2047a7 100755 goto unregister_6; } -diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h -index 080bd5c..36afee3 100755 --- a/sound/arm/bcm2835.h +++ b/sound/arm/bcm2835.h @@ -23,6 +23,7 @@ @@ -477,6 +469,3 @@ index 080bd5c..36afee3 100755 struct semaphore buffers_update_sem; struct semaphore control_sem; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0011-Add-hwrng-hardware-random-number-generator-driver.patch b/target/linux/brcm2708/patches-3.14/0011-Add-hwrng-hardware-random-number-generator-driver.patch index df66d92e90..3a68ab2778 100644 --- a/target/linux/brcm2708/patches-3.14/0011-Add-hwrng-hardware-random-number-generator-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0011-Add-hwrng-hardware-random-number-generator-driver.patch @@ -11,8 +11,6 @@ Subject: [PATCH 11/54] Add hwrng (hardware random number generator) driver 4 files changed, 130 insertions(+) create mode 100755 drivers/char/hw_random/bcm2708-rng.c -diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -index 110ce07..ecd854e 100644 --- a/arch/arm/mach-bcm2708/include/mach/platform.h +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -60,6 +60,7 @@ @@ -23,8 +21,6 @@ index 110ce07..ecd854e 100644 #define GPIO_BASE (BCM2708_PERI_BASE + 0x200000) /* GPIO */ #define UART0_BASE (BCM2708_PERI_BASE + 0x201000) /* Uart 0 */ #define MMCI0_BASE (BCM2708_PERI_BASE + 0x202000) /* MMC interface */ -diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index 2f2b084..cfca8e9 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -341,6 +341,17 @@ config HW_RANDOM_TPM @@ -45,19 +41,14 @@ index 2f2b084..cfca8e9 100644 config HW_RANDOM_MSM tristate "Qualcomm MSM Random Number Generator support" depends on HW_RANDOM && ARCH_MSM -diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile -index 3ae7755..a7bfb80 100644 --- a/drivers/char/hw_random/Makefile +++ b/drivers/char/hw_random/Makefile -@@ -29,4 +29,5 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += powernv-rng.o +@@ -29,4 +29,5 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += power obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-rng.o obj-$(CONFIG_HW_RANDOM_TPM) += tpm-rng.o obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o +obj-$(CONFIG_HW_RANDOM_BCM2708) += bcm2708-rng.o obj-$(CONFIG_HW_RANDOM_MSM) += msm-rng.o -diff --git a/drivers/char/hw_random/bcm2708-rng.c b/drivers/char/hw_random/bcm2708-rng.c -new file mode 100755 -index 0000000..1ffa7d7 --- /dev/null +++ b/drivers/char/hw_random/bcm2708-rng.c @@ -0,0 +1,117 @@ @@ -178,6 +169,3 @@ index 0000000..1ffa7d7 + +MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver"); +MODULE_LICENSE("GPL and additional rights"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0012-lirc-added-support-for-RaspberryPi-GPIO.patch b/target/linux/brcm2708/patches-3.14/0012-lirc-added-support-for-RaspberryPi-GPIO.patch index 717faa3a0b..2d00915672 100644 --- a/target/linux/brcm2708/patches-3.14/0012-lirc-added-support-for-RaspberryPi-GPIO.patch +++ b/target/linux/brcm2708/patches-3.14/0012-lirc-added-support-for-RaspberryPi-GPIO.patch @@ -12,8 +12,6 @@ See: https://github.com/raspberrypi/linux/issues/525 3 files changed, 702 insertions(+) create mode 100644 drivers/staging/media/lirc/lirc_rpi.c -diff --git a/drivers/staging/media/lirc/Kconfig b/drivers/staging/media/lirc/Kconfig -index e60a59f..6b7ff70 100644 --- a/drivers/staging/media/lirc/Kconfig +++ b/drivers/staging/media/lirc/Kconfig @@ -38,6 +38,12 @@ config LIRC_PARALLEL @@ -29,8 +27,6 @@ index e60a59f..6b7ff70 100644 config LIRC_SASEM tristate "Sasem USB IR Remote" depends on LIRC && USB -diff --git a/drivers/staging/media/lirc/Makefile b/drivers/staging/media/lirc/Makefile -index b90fcab..2b227fd 100644 --- a/drivers/staging/media/lirc/Makefile +++ b/drivers/staging/media/lirc/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_LIRC_BT829) += lirc_bt829.o @@ -41,9 +37,6 @@ index b90fcab..2b227fd 100644 obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.o obj-$(CONFIG_LIRC_SIR) += lirc_sir.o -diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c -new file mode 100644 -index 0000000..57ffacf --- /dev/null +++ b/drivers/staging/media/lirc/lirc_rpi.c @@ -0,0 +1,695 @@ @@ -742,6 +735,3 @@ index 0000000..57ffacf + +module_param(debug, bool, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(debug, "Enable debugging messages"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0013-Fixes-for-sdhci-bcm2708.patch b/target/linux/brcm2708/patches-3.14/0013-Fixes-for-sdhci-bcm2708.patch index d59df5b28b..6af9fe00be 100644 --- a/target/linux/brcm2708/patches-3.14/0013-Fixes-for-sdhci-bcm2708.patch +++ b/target/linux/brcm2708/patches-3.14/0013-Fixes-for-sdhci-bcm2708.patch @@ -113,11 +113,9 @@ A typo also fixed in comments. include/linux/mmc/sdhci.h | 1 + 7 files changed, 365 insertions(+), 191 deletions(-) -diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c -index 7b5424f..687cccb 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c -@@ -1361,7 +1361,7 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, +@@ -1361,7 +1361,7 @@ static void mmc_blk_rw_rq_prep(struct mm brq->data.blocks = 1; } @@ -126,8 +124,6 @@ index 7b5424f..687cccb 100644 /* SPI multiblock writes terminate using a special * token, not a STOP_TRANSMISSION request. */ -diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c -index 692fdb1..ea11f9c 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -15,6 +15,8 @@ @@ -139,7 +135,7 @@ index 692fdb1..ea11f9c 100644 #include <linux/mmc/host.h> #include <linux/mmc/card.h> -@@ -67,6 +69,15 @@ static const unsigned int sd_au_size[] = { +@@ -67,6 +69,15 @@ static const unsigned int sd_au_size[] = __res & __mask; \ }) @@ -155,7 +151,7 @@ index 692fdb1..ea11f9c 100644 /* * Given the decoded CSD structure, decode the raw CID to our CID structure. */ -@@ -219,12 +230,63 @@ static int mmc_decode_scr(struct mmc_card *card) +@@ -219,12 +230,63 @@ static int mmc_decode_scr(struct mmc_car } /* @@ -220,7 +216,7 @@ index 692fdb1..ea11f9c 100644 u32 *ssr; if (!(card->csd.cmdclass & CCC_APP_SPEC)) { -@@ -237,14 +299,40 @@ static int mmc_read_ssr(struct mmc_card *card) +@@ -237,14 +299,40 @@ static int mmc_read_ssr(struct mmc_card if (!ssr) return -ENOMEM; @@ -266,7 +262,7 @@ index 692fdb1..ea11f9c 100644 for (i = 0; i < 16; i++) ssr[i] = be32_to_cpu(ssr[i]); -@@ -826,14 +914,10 @@ int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card, +@@ -826,14 +914,10 @@ int mmc_sd_setup_card(struct mmc_host *h if (!reinit) { /* @@ -284,8 +280,6 @@ index 692fdb1..ea11f9c 100644 return err; /* -diff --git a/drivers/mmc/host/sdhci-bcm2708.c b/drivers/mmc/host/sdhci-bcm2708.c -index d8ef77c..3173c18 100644 --- a/drivers/mmc/host/sdhci-bcm2708.c +++ b/drivers/mmc/host/sdhci-bcm2708.c @@ -51,7 +51,6 @@ @@ -310,7 +304,7 @@ index d8ef77c..3173c18 100644 /*****************************************************************************\ * * -@@ -129,6 +133,14 @@ static inline unsigned long int since_ns(hptime_t t) +@@ -129,6 +133,14 @@ static inline unsigned long int since_ns return (unsigned long)((hptime() - t) * HPTIME_CLK_NS); } @@ -325,7 +319,7 @@ index d8ef77c..3173c18 100644 #if 0 static void hptime_test(void) { -@@ -241,19 +253,19 @@ static void sdhci_bcm2708_raw_writel(struct sdhci_host *host, u32 val, int reg) +@@ -241,19 +253,19 @@ static void sdhci_bcm2708_raw_writel(str /* host->clock is the clock freq in Hz */ static hptime_t last_write_hpt; hptime_t now = hptime(); @@ -349,7 +343,7 @@ index d8ef77c..3173c18 100644 } last_write_hpt = now; } -@@ -269,13 +281,13 @@ static void sdhci_bcm2708_raw_writel(struct sdhci_host *host, u32 val, int reg) +@@ -269,13 +281,13 @@ static void sdhci_bcm2708_raw_writel(str ier &= ~SDHCI_INT_DATA_TIMEOUT; writel(ier, host->ioaddr + SDHCI_SIGNAL_ENABLE); timeout_disabled = true; @@ -365,7 +359,7 @@ index d8ef77c..3173c18 100644 } #endif writel(val, host->ioaddr + reg); -@@ -353,68 +365,9 @@ void sdhci_bcm2708_writeb(struct sdhci_host *host, u8 val, int reg) +@@ -353,68 +365,9 @@ void sdhci_bcm2708_writeb(struct sdhci_h static unsigned int sdhci_bcm2708_get_max_clock(struct sdhci_host *host) { @@ -449,7 +443,7 @@ index d8ef77c..3173c18 100644 if (host_priv->dma_wanted) { if (NULL == data) { -@@ -720,13 +673,16 @@ sdhci_bcm2708_platdma_reset(struct sdhci_host *host, struct mmc_data *data) +@@ -720,13 +673,16 @@ sdhci_bcm2708_platdma_reset(struct sdhci cs = readl(host_priv->dma_chan_base + BCM2708_DMA_CS); if (!(BCM2708_DMA_ACTIVE & cs)) @@ -467,7 +461,7 @@ index d8ef77c..3173c18 100644 else printk(KERN_INFO "%s: resetting ongoing cmd %d" "DMA before %d/%d [%d]/[%d] complete\n", -@@ -779,7 +735,7 @@ sdhci_bcm2708_platdma_reset(struct sdhci_host *host, struct mmc_data *data) +@@ -779,7 +735,7 @@ sdhci_bcm2708_platdma_reset(struct sdhci #endif } @@ -476,7 +470,7 @@ index d8ef77c..3173c18 100644 } -@@ -792,11 +748,11 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host, +@@ -792,11 +748,11 @@ static void sdhci_bcm2708_dma_complete_i int sg_len; int sg_ix; int sg_todo; @@ -490,7 +484,7 @@ index d8ef77c..3173c18 100644 data = host->data; #ifdef CHECK_DMA_USE -@@ -821,7 +777,7 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host, +@@ -821,7 +777,7 @@ static void sdhci_bcm2708_dma_complete_i if (NULL == data) { DBG("PDMA unused completion - status 0x%X\n", dma_cs); @@ -499,7 +493,7 @@ index d8ef77c..3173c18 100644 return; } sg = data->sg; -@@ -878,40 +834,34 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host, +@@ -878,40 +834,34 @@ static void sdhci_bcm2708_dma_complete_i SDHCI_INT_SPACE_AVAIL); } } else { @@ -513,17 +507,6 @@ index d8ef77c..3173c18 100644 - u32 state_mask; - int timeout=1000000; - hptime_t now = hptime(); -- -- DBG("PDMA over - sync card\n"); -- if (data->flags & MMC_DATA_READ) -- state_mask = SDHCI_DOING_READ; -- else -- state_mask = SDHCI_DOING_WRITE; -- -- while (0 != (sdhci_bcm2708_raw_readl(host, -- SDHCI_PRESENT_STATE) & -- state_mask) && --timeout > 0) -- continue; + if (sync_after_dma) { + /* On the Arasan controller the stop command (which will be + scheduled after this completes) does not seem to work @@ -533,13 +516,23 @@ index d8ef77c..3173c18 100644 + the SD controller to finish reading/writing to the card. */ + u32 state_mask; + int timeout=3*1000*1000; -+ + +- DBG("PDMA over - sync card\n"); +- if (data->flags & MMC_DATA_READ) +- state_mask = SDHCI_DOING_READ; +- else +- state_mask = SDHCI_DOING_WRITE; + DBG("PDMA over - sync card\n"); + if (data->flags & MMC_DATA_READ) + state_mask = SDHCI_DOING_READ; + else + state_mask = SDHCI_DOING_WRITE; +- while (0 != (sdhci_bcm2708_raw_readl(host, +- SDHCI_PRESENT_STATE) & +- state_mask) && --timeout > 0) +- continue; +- - if (1000000-timeout > 4000) /*ave. is about 3250*/ - DBG("%s: note - long %s sync %luns - " - "%d its.\n", @@ -567,7 +560,7 @@ index d8ef77c..3173c18 100644 if (host_priv->complete) { (*host_priv->complete)(host); DBG("PDMA %s complete\n", -@@ -920,7 +870,7 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host, +@@ -920,7 +870,7 @@ static void sdhci_bcm2708_dma_complete_i SDHCI_INT_SPACE_AVAIL); } } @@ -576,7 +569,7 @@ index d8ef77c..3173c18 100644 } static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id) -@@ -929,12 +879,11 @@ static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id) +@@ -929,12 +879,11 @@ static irqreturn_t sdhci_bcm2708_dma_irq struct sdhci_host *host = dev_id; struct sdhci_bcm2708_priv *host_priv = SDHCI_HOST_PRIV(host); u32 dma_cs; /* control and status register */ @@ -590,7 +583,7 @@ index d8ef77c..3173c18 100644 dma_cs = readl(host_priv->dma_chan_base + BCM2708_DMA_CS); -@@ -958,7 +907,8 @@ static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id) +@@ -958,7 +907,8 @@ static irqreturn_t sdhci_bcm2708_dma_irq if (!host_priv->dma_wanted) { /* ignore this interrupt - it was reset */ @@ -600,7 +593,7 @@ index d8ef77c..3173c18 100644 "results were reset\n", mmc_hostname(host->mmc), dma_cs); #ifdef CHECK_DMA_USE -@@ -975,8 +925,7 @@ static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id) +@@ -975,8 +925,7 @@ static irqreturn_t sdhci_bcm2708_dma_irq result = IRQ_HANDLED; } @@ -610,7 +603,7 @@ index d8ef77c..3173c18 100644 return result; } -@@ -1019,10 +968,12 @@ static ssize_t attr_dma_store(struct device *_dev, +@@ -1019,10 +968,12 @@ static ssize_t attr_dma_store(struct dev int on = simple_strtol(buf, NULL, 0); if (on) { host->flags |= SDHCI_USE_PLATDMA; @@ -623,7 +616,7 @@ index d8ef77c..3173c18 100644 printk(KERN_INFO "%s: DMA disabled\n", mmc_hostname(host->mmc)); } -@@ -1126,7 +1077,7 @@ static int sdhci_bcm2708_suspend(struct platform_device *dev, pm_message_t state +@@ -1126,7 +1077,7 @@ static int sdhci_bcm2708_suspend(struct int ret = 0; if (host->mmc) { @@ -632,7 +625,7 @@ index d8ef77c..3173c18 100644 } return ret; -@@ -1139,7 +1090,7 @@ static int sdhci_bcm2708_resume(struct platform_device *dev) +@@ -1139,7 +1090,7 @@ static int sdhci_bcm2708_resume(struct p int ret = 0; if (host->mmc) { @@ -641,7 +634,7 @@ index d8ef77c..3173c18 100644 } return ret; -@@ -1158,19 +1109,14 @@ static unsigned int sdhci_bcm2708_quirk_extra_ints(struct sdhci_host *host) +@@ -1158,19 +1109,14 @@ static unsigned int sdhci_bcm2708_quirk_ return 1; } @@ -664,7 +657,7 @@ index d8ef77c..3173c18 100644 } /***************************************************************************** \ -@@ -1190,11 +1136,7 @@ static struct sdhci_ops sdhci_bcm2708_ops = { +@@ -1190,11 +1136,7 @@ static struct sdhci_ops sdhci_bcm2708_op #else #error The BCM2708 SDHCI driver needs CONFIG_MMC_SDHCI_IO_ACCESSORS to be set #endif @@ -676,7 +669,7 @@ index d8ef77c..3173c18 100644 #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA // Platform DMA operations -@@ -1203,9 +1145,6 @@ static struct sdhci_ops sdhci_bcm2708_ops = { +@@ -1203,9 +1145,6 @@ static struct sdhci_ops sdhci_bcm2708_op .pdma_reset = sdhci_bcm2708_platdma_reset, #endif .extra_ints = sdhci_bcm2708_quirk_extra_ints, @@ -686,7 +679,7 @@ index d8ef77c..3173c18 100644 }; /*****************************************************************************\ -@@ -1244,15 +1183,30 @@ static int sdhci_bcm2708_probe(struct platform_device *pdev) +@@ -1244,15 +1183,30 @@ static int sdhci_bcm2708_probe(struct pl ret = PTR_ERR(host); goto err; } @@ -718,7 +711,7 @@ index d8ef77c..3173c18 100644 #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA host->flags = SDHCI_USE_PLATDMA; #endif -@@ -1305,17 +1259,24 @@ static int sdhci_bcm2708_probe(struct platform_device *pdev) +@@ -1305,17 +1259,24 @@ static int sdhci_bcm2708_probe(struct pl host_priv->dma_chan = ret; ret = request_irq(host_priv->dma_irq, sdhci_bcm2708_dma_irq, @@ -745,7 +738,7 @@ index d8ef77c..3173c18 100644 #endif ret = sdhci_add_host(host); -@@ -1327,6 +1288,12 @@ static int sdhci_bcm2708_probe(struct platform_device *pdev) +@@ -1327,6 +1288,12 @@ static int sdhci_bcm2708_probe(struct pl ret = device_create_file(&pdev->dev, &dev_attr_dma_wait); ret = device_create_file(&pdev->dev, &dev_attr_status); @@ -785,11 +778,9 @@ index d8ef77c..3173c18 100644 +MODULE_PARM_DESC(extra_messages, "Enable more sdcard warning messages"); + + -diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c -index b78afa2..db67be8 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c -@@ -131,6 +131,99 @@ static void sdhci_dumpregs(struct sdhci_host *host) +@@ -131,6 +131,99 @@ static void sdhci_dumpregs(struct sdhci_ * Low level functions * * * \*****************************************************************************/ @@ -889,7 +880,7 @@ index b78afa2..db67be8 100644 static void sdhci_clear_set_irqs(struct sdhci_host *host, u32 clear, u32 set) { -@@ -300,7 +393,7 @@ static void sdhci_led_control(struct led_classdev *led, +@@ -300,7 +393,7 @@ static void sdhci_led_control(struct led struct sdhci_host *host = container_of(led, struct sdhci_host, led); unsigned long flags; @@ -898,7 +889,7 @@ index b78afa2..db67be8 100644 if (host->runtime_suspended) goto out; -@@ -310,7 +403,7 @@ static void sdhci_led_control(struct led_classdev *led, +@@ -310,7 +403,7 @@ static void sdhci_led_control(struct led else sdhci_activate_led(host); out: @@ -907,7 +898,7 @@ index b78afa2..db67be8 100644 } #endif -@@ -457,6 +550,7 @@ static void sdhci_transfer_pio(struct sdhci_host *host, u32 intstate) +@@ -457,6 +550,7 @@ static void sdhci_transfer_pio(struct sd break; state = sdhci_readl(host, SDHCI_PRESENT_STATE); available = state & mask; @@ -915,7 +906,7 @@ index b78afa2..db67be8 100644 } DBG("PIO transfer complete - %d blocks left.\n", host->blocks); -@@ -1023,7 +1117,9 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) +@@ -1023,7 +1117,9 @@ void sdhci_send_command(struct sdhci_hos return; } timeout--; @@ -935,7 +926,7 @@ index b78afa2..db67be8 100644 } clk |= SDHCI_CLOCK_CARD_EN; -@@ -1357,7 +1455,7 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1357,7 +1455,7 @@ static void sdhci_request(struct mmc_hos sdhci_runtime_pm_get(host); @@ -944,7 +935,7 @@ index b78afa2..db67be8 100644 WARN_ON(host->mrq != NULL); -@@ -1422,9 +1520,9 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1422,9 +1520,9 @@ static void sdhci_request(struct mmc_hos */ host->mrq = NULL; @@ -956,7 +947,7 @@ index b78afa2..db67be8 100644 /* Restore original mmc_request structure */ host->mrq = mrq; -@@ -1438,7 +1536,7 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq) +@@ -1438,7 +1536,7 @@ static void sdhci_request(struct mmc_hos } mmiowb(); @@ -965,7 +956,7 @@ index b78afa2..db67be8 100644 } static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) -@@ -1447,10 +1545,10 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) +@@ -1447,10 +1545,10 @@ static void sdhci_do_set_ios(struct sdhc int vdd_bit = -1; u8 ctrl; @@ -978,7 +969,7 @@ index b78afa2..db67be8 100644 if (host->vmmc && ios->power_mode == MMC_POWER_OFF) mmc_regulator_set_ocr(host->mmc, host->vmmc, 0); return; -@@ -1478,9 +1576,9 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) +@@ -1478,9 +1576,9 @@ static void sdhci_do_set_ios(struct sdhc vdd_bit = sdhci_set_power(host, ios->vdd); if (host->vmmc && vdd_bit != -1) { @@ -990,7 +981,7 @@ index b78afa2..db67be8 100644 } if (host->ops->platform_send_init_74_clocks) -@@ -1519,7 +1617,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) +@@ -1519,7 +1617,7 @@ static void sdhci_do_set_ios(struct sdhc else ctrl &= ~SDHCI_CTRL_HISPD; @@ -999,7 +990,7 @@ index b78afa2..db67be8 100644 u16 clk, ctrl_2; /* In case of UHS-I modes, set High Speed Enable */ -@@ -1617,7 +1715,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios) +@@ -1617,7 +1715,7 @@ static void sdhci_do_set_ios(struct sdhc sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA); mmiowb(); @@ -1008,7 +999,7 @@ index b78afa2..db67be8 100644 } static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) -@@ -1665,7 +1763,7 @@ static int sdhci_check_ro(struct sdhci_host *host) +@@ -1665,7 +1763,7 @@ static int sdhci_check_ro(struct sdhci_h unsigned long flags; int is_readonly; @@ -1017,7 +1008,7 @@ index b78afa2..db67be8 100644 if (host->flags & SDHCI_DEVICE_DEAD) is_readonly = 0; -@@ -1675,7 +1773,7 @@ static int sdhci_check_ro(struct sdhci_host *host) +@@ -1675,7 +1773,7 @@ static int sdhci_check_ro(struct sdhci_h is_readonly = !(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_WRITE_PROTECT); @@ -1026,7 +1017,7 @@ index b78afa2..db67be8 100644 /* This quirk needs to be replaced by a callback-function later */ return host->quirks & SDHCI_QUIRK_INVERTED_WRITE_PROTECT ? -@@ -1748,9 +1846,9 @@ static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable) +@@ -1748,9 +1846,9 @@ static void sdhci_enable_sdio_irq(struct struct sdhci_host *host = mmc_priv(mmc); unsigned long flags; @@ -1038,7 +1029,7 @@ index b78afa2..db67be8 100644 } static int sdhci_do_start_signal_voltage_switch(struct sdhci_host *host, -@@ -2101,7 +2199,7 @@ static void sdhci_card_event(struct mmc_host *mmc) +@@ -2101,7 +2199,7 @@ static void sdhci_card_event(struct mmc_ if (host->ops->card_event) host->ops->card_event(host); @@ -1047,7 +1038,7 @@ index b78afa2..db67be8 100644 /* Check host->mrq first in case we are runtime suspended */ if (host->mrq && !sdhci_do_get_cd(host)) { -@@ -2117,7 +2215,7 @@ static void sdhci_card_event(struct mmc_host *mmc) +@@ -2117,7 +2215,7 @@ static void sdhci_card_event(struct mmc_ tasklet_schedule(&host->finish_tasklet); } @@ -1056,7 +1047,7 @@ index b78afa2..db67be8 100644 } static const struct mmc_host_ops sdhci_ops = { -@@ -2156,14 +2254,14 @@ static void sdhci_tasklet_finish(unsigned long param) +@@ -2156,14 +2254,14 @@ static void sdhci_tasklet_finish(unsigne host = (struct sdhci_host*)param; @@ -1073,7 +1064,7 @@ index b78afa2..db67be8 100644 return; } -@@ -2201,7 +2299,7 @@ static void sdhci_tasklet_finish(unsigned long param) +@@ -2201,7 +2299,7 @@ static void sdhci_tasklet_finish(unsigne #endif mmiowb(); @@ -1082,7 +1073,7 @@ index b78afa2..db67be8 100644 mmc_request_done(host->mmc, mrq); sdhci_runtime_pm_put(host); -@@ -2214,7 +2312,7 @@ static void sdhci_timeout_timer(unsigned long data) +@@ -2214,7 +2312,7 @@ static void sdhci_timeout_timer(unsigned host = (struct sdhci_host*)data; @@ -1091,7 +1082,7 @@ index b78afa2..db67be8 100644 if (host->mrq) { pr_err("%s: Timeout waiting for hardware " -@@ -2235,7 +2333,7 @@ static void sdhci_timeout_timer(unsigned long data) +@@ -2235,7 +2333,7 @@ static void sdhci_timeout_timer(unsigned } mmiowb(); @@ -1100,7 +1091,7 @@ index b78afa2..db67be8 100644 } static void sdhci_tuning_timer(unsigned long data) -@@ -2245,11 +2343,11 @@ static void sdhci_tuning_timer(unsigned long data) +@@ -2245,11 +2343,11 @@ static void sdhci_tuning_timer(unsigned host = (struct sdhci_host *)data; @@ -1114,7 +1105,7 @@ index b78afa2..db67be8 100644 } /*****************************************************************************\ -@@ -2473,10 +2571,10 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id) +@@ -2473,10 +2571,10 @@ static irqreturn_t sdhci_irq(int irq, vo u32 intmask, unexpected = 0; int cardint = 0, max_loops = 16; @@ -1136,7 +1127,7 @@ index b78afa2..db67be8 100644 if (unexpected) { pr_err("%s: Unexpected interrupt 0x%08x.\n", -@@ -2674,7 +2772,7 @@ int sdhci_resume_host(struct sdhci_host *host) +@@ -2674,7 +2772,7 @@ int sdhci_resume_host(struct sdhci_host } if (!device_may_wakeup(mmc_dev(host->mmc))) { @@ -1145,7 +1136,7 @@ index b78afa2..db67be8 100644 mmc_hostname(host->mmc), host); if (ret) return ret; -@@ -2750,15 +2848,15 @@ int sdhci_runtime_suspend_host(struct sdhci_host *host) +@@ -2750,15 +2848,15 @@ int sdhci_runtime_suspend_host(struct sd host->flags &= ~SDHCI_NEEDS_RETUNING; } @@ -1165,7 +1156,7 @@ index b78afa2..db67be8 100644 return ret; } -@@ -2784,16 +2882,16 @@ int sdhci_runtime_resume_host(struct sdhci_host *host) +@@ -2784,16 +2882,16 @@ int sdhci_runtime_resume_host(struct sdh sdhci_do_start_signal_voltage_switch(host, &host->mmc->ios); if ((host_flags & SDHCI_PV_ENABLED) && !(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN)) { @@ -1185,7 +1176,7 @@ index b78afa2..db67be8 100644 host->runtime_suspended = false; -@@ -2804,7 +2902,7 @@ int sdhci_runtime_resume_host(struct sdhci_host *host) +@@ -2804,7 +2902,7 @@ int sdhci_runtime_resume_host(struct sdh /* Enable Card Detection */ sdhci_enable_card_detection(host); @@ -1194,7 +1185,7 @@ index b78afa2..db67be8 100644 return ret; } -@@ -3300,8 +3398,8 @@ int sdhci_add_host(struct sdhci_host *host) +@@ -3300,8 +3398,8 @@ int sdhci_add_host(struct sdhci_host *ho sdhci_init(host, 0); @@ -1205,7 +1196,7 @@ index b78afa2..db67be8 100644 if (ret) { pr_err("%s: Failed to request IRQ %d: %d\n", mmc_hostname(mmc), host->irq, ret); -@@ -3362,7 +3460,7 @@ void sdhci_remove_host(struct sdhci_host *host, int dead) +@@ -3362,7 +3460,7 @@ void sdhci_remove_host(struct sdhci_host unsigned long flags; if (dead) { @@ -1214,7 +1205,7 @@ index b78afa2..db67be8 100644 host->flags |= SDHCI_DEVICE_DEAD; -@@ -3374,7 +3472,7 @@ void sdhci_remove_host(struct sdhci_host *host, int dead) +@@ -3374,7 +3472,7 @@ void sdhci_remove_host(struct sdhci_host tasklet_schedule(&host->finish_tasklet); } @@ -1223,8 +1214,6 @@ index b78afa2..db67be8 100644 } sdhci_disable_card_detection(host); -diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h -index 6857875..649f3cf 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -300,8 +300,6 @@ struct sdhci_ops { @@ -1236,7 +1225,7 @@ index 6857875..649f3cf 100644 unsigned int (*missing_status)(struct sdhci_host *host); void (*hw_reset)(struct sdhci_host *host); -@@ -445,4 +443,10 @@ extern int sdhci_runtime_suspend_host(struct sdhci_host *host); +@@ -445,4 +443,10 @@ extern int sdhci_runtime_suspend_host(st extern int sdhci_runtime_resume_host(struct sdhci_host *host); #endif @@ -1247,8 +1236,6 @@ index 6857875..649f3cf 100644 + + #endif /* __SDHCI_HW_H */ -diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h -index 99f5709..cd6f996 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -282,6 +282,7 @@ struct mmc_host { @@ -1259,8 +1246,6 @@ index 99f5709..cd6f996 100644 mmc_pm_flag_t pm_caps; /* supported pm features */ -diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h -index e23fffb..b1b6537 100644 --- a/include/linux/mmc/sdhci.h +++ b/include/linux/mmc/sdhci.h @@ -102,6 +102,7 @@ struct sdhci_host { @@ -1271,6 +1256,3 @@ index e23fffb..b1b6537 100644 void __iomem *ioaddr; /* Mapped address */ const struct sdhci_ops *ops; /* Low level hw interface */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0014-Add-cpufreq-driver.patch b/target/linux/brcm2708/patches-3.14/0014-Add-cpufreq-driver.patch index 84cefcf4ef..a89ef00f9c 100644 --- a/target/linux/brcm2708/patches-3.14/0014-Add-cpufreq-driver.patch +++ b/target/linux/brcm2708/patches-3.14/0014-Add-cpufreq-driver.patch @@ -11,8 +11,6 @@ Subject: [PATCH 14/54] Add cpufreq driver 4 files changed, 249 insertions(+) create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 9e23417..be8a752 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -389,6 +389,7 @@ config ARCH_BCM2708 @@ -23,8 +21,6 @@ index 9e23417..be8a752 100644 select GENERIC_CLOCKEVENTS select ARM_ERRATA_411920 select MACH_BCM2708 -diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm -index 3129749..d12c80d 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -235,6 +235,14 @@ config ARM_SPEAR_CPUFREQ @@ -42,11 +38,9 @@ index 3129749..d12c80d 100644 config ARM_TEGRA_CPUFREQ bool "TEGRA CPUFreq support" depends on ARCH_TEGRA -diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile -index dac58f6..d8ded24 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile -@@ -73,6 +73,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o +@@ -73,6 +73,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5p obj-$(CONFIG_ARM_SA1100_CPUFREQ) += sa1100-cpufreq.o obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o @@ -54,9 +48,6 @@ index dac58f6..d8ded24 100644 obj-$(CONFIG_ARM_TEGRA_CPUFREQ) += tegra-cpufreq.o obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ) += vexpress-spc-cpufreq.o -diff --git a/drivers/cpufreq/bcm2835-cpufreq.c b/drivers/cpufreq/bcm2835-cpufreq.c -new file mode 100755 -index 0000000..7bc55bd --- /dev/null +++ b/drivers/cpufreq/bcm2835-cpufreq.c @@ -0,0 +1,239 @@ @@ -299,6 +290,3 @@ index 0000000..7bc55bd + +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0015-Added-hwmon-thermal-driver-for-reporting-core-temper.patch b/target/linux/brcm2708/patches-3.14/0015-Added-hwmon-thermal-driver-for-reporting-core-temper.patch index cb4214e70e..f62df3545f 100644 --- a/target/linux/brcm2708/patches-3.14/0015-Added-hwmon-thermal-driver-for-reporting-core-temper.patch +++ b/target/linux/brcm2708/patches-3.14/0015-Added-hwmon-thermal-driver-for-reporting-core-temper.patch @@ -16,11 +16,9 @@ Subject: [PATCH 15/54] Added hwmon/thermal driver for reporting core create mode 100644 drivers/hwmon/bcm2835-hwmon.c create mode 100644 drivers/thermal/bcm2835-thermal.c -Index: linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c -=================================================================== ---- linux-3.14.18.orig/arch/arm/mach-bcm2708/bcm2708.c 2014-09-27 12:03:08.607411837 -0700 -+++ linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c 2014-09-27 12:03:08.603411837 -0700 -@@ -483,6 +483,14 @@ +--- a/arch/arm/mach-bcm2708/bcm2708.c ++++ b/arch/arm/mach-bcm2708/bcm2708.c +@@ -483,6 +483,14 @@ static struct platform_device bcm2708_al }, }; @@ -35,7 +33,7 @@ Index: linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c int __init bcm_register_device(struct platform_device *pdev) { int ret; -@@ -594,6 +602,9 @@ +@@ -594,6 +602,9 @@ void __init bcm2708_init(void) for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++) bcm_register_device(&bcm2708_alsa_devices[i]); @@ -45,11 +43,9 @@ Index: linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); -Index: linux-3.14.18/drivers/hwmon/Kconfig -=================================================================== ---- linux-3.14.18.orig/drivers/hwmon/Kconfig 2014-09-27 12:03:08.607411837 -0700 -+++ linux-3.14.18/drivers/hwmon/Kconfig 2014-09-27 12:03:08.603411837 -0700 -@@ -1565,6 +1565,16 @@ +--- a/drivers/hwmon/Kconfig ++++ b/drivers/hwmon/Kconfig +@@ -1565,6 +1565,16 @@ config SENSORS_MC13783_ADC help Support for the A/D converter on MC13783 and MC13892 PMIC. @@ -66,10 +62,8 @@ Index: linux-3.14.18/drivers/hwmon/Kconfig if ACPI comment "ACPI drivers" -Index: linux-3.14.18/drivers/hwmon/bcm2835-hwmon.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.14.18/drivers/hwmon/bcm2835-hwmon.c 2014-09-27 12:03:08.603411837 -0700 +--- /dev/null ++++ b/drivers/hwmon/bcm2835-hwmon.c @@ -0,0 +1,219 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -290,11 +284,9 @@ Index: linux-3.14.18/drivers/hwmon/bcm2835-hwmon.c +MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip"); + +module_platform_driver(bcm2835_hwmon_driver); -Index: linux-3.14.18/drivers/thermal/Kconfig -=================================================================== ---- linux-3.14.18.orig/drivers/thermal/Kconfig 2014-09-27 12:03:08.607411837 -0700 -+++ linux-3.14.18/drivers/thermal/Kconfig 2014-09-27 12:03:08.603411837 -0700 -@@ -196,6 +196,12 @@ +--- a/drivers/thermal/Kconfig ++++ b/drivers/thermal/Kconfig +@@ -196,6 +196,12 @@ config INTEL_POWERCLAMP enforce idle time which results in more package C-state residency. The user interface is exposed via generic thermal framework. @@ -307,11 +299,9 @@ Index: linux-3.14.18/drivers/thermal/Kconfig config X86_PKG_TEMP_THERMAL tristate "X86 package temperature thermal driver" depends on X86_THERMAL_VECTOR -Index: linux-3.14.18/drivers/thermal/Makefile -=================================================================== ---- linux-3.14.18.orig/drivers/thermal/Makefile 2014-09-27 12:03:08.607411837 -0700 -+++ linux-3.14.18/drivers/thermal/Makefile 2014-09-27 12:03:08.603411837 -0700 -@@ -28,6 +28,7 @@ +--- a/drivers/thermal/Makefile ++++ b/drivers/thermal/Makefile +@@ -28,6 +28,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_t obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o obj-$(CONFIG_DB8500_CPUFREQ_COOLING) += db8500_cpufreq_cooling.o obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o @@ -319,10 +309,8 @@ Index: linux-3.14.18/drivers/thermal/Makefile obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/ obj-$(CONFIG_ACPI_INT3403_THERMAL) += int3403_thermal.o -Index: linux-3.14.18/drivers/thermal/bcm2835-thermal.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.14.18/drivers/thermal/bcm2835-thermal.c 2014-09-27 12:03:08.603411837 -0700 +--- /dev/null ++++ b/drivers/thermal/bcm2835-thermal.c @@ -0,0 +1,184 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. diff --git a/target/linux/brcm2708/patches-3.14/0016-Allow-mac-address-to-be-set-in-smsc95xx.patch b/target/linux/brcm2708/patches-3.14/0016-Allow-mac-address-to-be-set-in-smsc95xx.patch index bbdafb5493..c3b8aaf1a5 100644 --- a/target/linux/brcm2708/patches-3.14/0016-Allow-mac-address-to-be-set-in-smsc95xx.patch +++ b/target/linux/brcm2708/patches-3.14/0016-Allow-mac-address-to-be-set-in-smsc95xx.patch @@ -8,8 +8,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) -diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 424db65e..fc1ef4e 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -59,6 +59,7 @@ @@ -31,7 +29,7 @@ index 424db65e..fc1ef4e 100644 static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) +@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_dev return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL); } @@ -91,6 +89,3 @@ index 424db65e..fc1ef4e 100644 /* try reading mac address from EEPROM */ if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN, dev->net->dev_addr) == 0) { --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0017-Add-Chris-Boot-s-i2c-and-spi-drivers.patch b/target/linux/brcm2708/patches-3.14/0017-Add-Chris-Boot-s-i2c-and-spi-drivers.patch index be2bf01413..3e920d5bf8 100644 --- a/target/linux/brcm2708/patches-3.14/0017-Add-Chris-Boot-s-i2c-and-spi-drivers.patch +++ b/target/linux/brcm2708/patches-3.14/0017-Add-Chris-Boot-s-i2c-and-spi-drivers.patch @@ -27,8 +27,6 @@ The correct baudrate is shown in the log after the cdiv > 0xffff correction. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c create mode 100644 drivers/spi/spi-bcm2708.c -diff --git a/arch/arm/configs/bcmrpi_cutdown_defconfig b/arch/arm/configs/bcmrpi_cutdown_defconfig -index e519412..2c2e29e 100644 --- a/arch/arm/configs/bcmrpi_cutdown_defconfig +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig @@ -492,3 +492,12 @@ CONFIG_CRYPTO_DEFLATE=m @@ -44,8 +42,6 @@ index e519412..2c2e29e 100644 +CONFIG_SPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_BCM2708=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index df947e5..31f5afaa 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -214,6 +214,12 @@ CONFIG_SERIAL_AMBA_PL011=y @@ -61,8 +57,6 @@ index df947e5..31f5afaa 100644 CONFIG_GPIO_SYSFS=y # CONFIG_HWMON is not set CONFIG_WATCHDOG=y -diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig -index 9355841..e151ed4 100644 --- a/arch/arm/mach-bcm2708/Kconfig +++ b/arch/arm/mach-bcm2708/Kconfig @@ -31,4 +31,11 @@ config BCM2708_NOL2CACHE @@ -77,8 +71,6 @@ index 9355841..e151ed4 100644 + help + Binds spidev driver to the SPI0 master endmenu -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index 314bbcc..e892006 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c @@ -31,6 +31,7 @@ @@ -121,7 +113,7 @@ index 314bbcc..e892006 100644 } }; -@@ -483,6 +491,89 @@ static struct platform_device bcm2708_alsa_devices[] = { +@@ -483,6 +491,89 @@ static struct platform_device bcm2708_al }, }; @@ -234,8 +226,6 @@ index 314bbcc..e892006 100644 } static void timer_set_mode(enum clock_event_mode mode, -diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -index ecd854e..f4bb733 100644 --- a/arch/arm/mach-bcm2708/include/mach/platform.h +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -64,9 +64,12 @@ @@ -251,8 +241,6 @@ index ecd854e..f4bb733 100644 #define USB_BASE (BCM2708_PERI_BASE + 0x980000) /* DTC_OTG USB controller */ #define MCORE_BASE (BCM2708_PERI_BASE + 0x0000) /* Fake frame buffer device (actually the multicore sync block*/ -diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index c5eec02..315421d 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -348,6 +348,25 @@ config I2C_BCM2835 @@ -281,11 +269,9 @@ index c5eec02..315421d 100644 config I2C_BCM_KONA tristate "BCM Kona I2C adapter" depends on ARCH_BCM_MOBILE -diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index a08931f..a62fadf 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile -@@ -32,6 +32,7 @@ obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o +@@ -32,6 +32,7 @@ obj-$(CONFIG_I2C_POWERMAC) += i2c-powerm obj-$(CONFIG_I2C_AT91) += i2c-at91.o obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o obj-$(CONFIG_I2C_BCM2835) += i2c-bcm2835.o @@ -293,9 +279,6 @@ index a08931f..a62fadf 100644 obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o obj-$(CONFIG_I2C_CBUS_GPIO) += i2c-cbus-gpio.o obj-$(CONFIG_I2C_CPM) += i2c-cpm.o -diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c -new file mode 100644 -index 0000000..b3d96f0 --- /dev/null +++ b/drivers/i2c/busses/i2c-bcm2708.c @@ -0,0 +1,419 @@ @@ -718,8 +701,6 @@ index 0000000..b3d96f0 +MODULE_AUTHOR("Chris Boot <bootc@bootc.net>"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index 581ee2a..6029f6f 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -85,6 +85,14 @@ config SPI_BCM2835 @@ -737,11 +718,9 @@ index 581ee2a..6029f6f 100644 config SPI_BFIN5XX tristate "SPI controller driver for ADI Blackfin5xx" depends on BLACKFIN && !BF60x -diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile -index 95af48d..51996c2 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -19,6 +19,7 @@ obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o +@@ -19,6 +19,7 @@ obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63x obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o obj-$(CONFIG_SPI_BFIN_V3) += spi-bfin-v3.o @@ -749,9 +728,6 @@ index 95af48d..51996c2 100644 obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o -diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c -new file mode 100644 -index 0000000..180264a --- /dev/null +++ b/drivers/spi/spi-bcm2708.c @@ -0,0 +1,626 @@ @@ -1381,6 +1357,3 @@ index 0000000..180264a +MODULE_AUTHOR("Chris Boot <bootc@bootc.net>"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0018-Perform-I2C-combined-transactions-when-possible.patch b/target/linux/brcm2708/patches-3.14/0018-Perform-I2C-combined-transactions-when-possible.patch index eba94a521f..c6d11dee91 100644 --- a/target/linux/brcm2708/patches-3.14/0018-Perform-I2C-combined-transactions-when-possible.patch +++ b/target/linux/brcm2708/patches-3.14/0018-Perform-I2C-combined-transactions-when-possible.patch @@ -16,11 +16,9 @@ i2c: Make combined transactions optional and disabled by default drivers/i2c/busses/i2c-bcm2708.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) -diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c -index b3d96f0..05531db 100644 --- a/drivers/i2c/busses/i2c-bcm2708.c +++ b/drivers/i2c/busses/i2c-bcm2708.c -@@ -74,6 +74,9 @@ static unsigned int baudrate = CONFIG_I2C_BCM2708_BAUDRATE; +@@ -74,6 +74,9 @@ static unsigned int baudrate = CONFIG_I2 module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); MODULE_PARM_DESC(baudrate, "The I2C baudrate"); @@ -30,7 +28,7 @@ index b3d96f0..05531db 100644 struct bcm2708_i2c { struct i2c_adapter adapter; -@@ -150,7 +153,7 @@ static inline void bcm2708_bsc_fifo_fill(struct bcm2708_i2c *bi) +@@ -150,7 +153,7 @@ static inline void bcm2708_bsc_fifo_fill static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi) { unsigned long bus_hz; @@ -39,7 +37,7 @@ index b3d96f0..05531db 100644 u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1; bus_hz = clk_get_rate(bi->clk); -@@ -166,6 +169,32 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi) +@@ -166,6 +169,32 @@ static inline void bcm2708_bsc_setup(str bcm2708_wr(bi, BSC_DIV, cdiv); bcm2708_wr(bi, BSC_A, bi->msg->addr); bcm2708_wr(bi, BSC_DLEN, bi->msg->len); @@ -72,6 +70,3 @@ index b3d96f0..05531db 100644 bcm2708_wr(bi, BSC_C, c); } --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0019-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch b/target/linux/brcm2708/patches-3.14/0019-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch index b38b5d175e..bbbab67f13 100644 --- a/target/linux/brcm2708/patches-3.14/0019-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch +++ b/target/linux/brcm2708/patches-3.14/0019-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch @@ -26,8 +26,6 @@ Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk> drivers/w1/w1_io.c | 18 ++++++++++--- 5 files changed, 115 insertions(+), 9 deletions(-) -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index e892006..221d145 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c @@ -32,6 +32,7 @@ @@ -58,7 +56,7 @@ index e892006..221d145 100644 static void __init bcm2708_init_led(void); -@@ -258,6 +266,20 @@ static struct platform_device bcm2708_dmaman_device = { +@@ -258,6 +266,20 @@ static struct platform_device bcm2708_dm .num_resources = ARRAY_SIZE(bcm2708_dmaman_resources), }; @@ -97,8 +95,6 @@ index e892006..221d145 100644 module_param(reboot_part, uint, 0644); +module_param(w1_gpio_pin, uint, 0644); +module_param(w1_gpio_pullup, uint, 0644); -diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c -index 9709b8b..b10f9c9 100644 --- a/drivers/w1/masters/w1-gpio.c +++ b/drivers/w1/masters/w1-gpio.c @@ -23,6 +23,15 @@ @@ -134,7 +130,7 @@ index 9709b8b..b10f9c9 100644 #if defined(CONFIG_OF) static struct of_device_id w1_gpio_dt_ids[] = { { .compatible = "w1-gpio" }, -@@ -102,14 +121,16 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) +@@ -102,14 +121,16 @@ static int w1_gpio_probe_dt(struct platf static int w1_gpio_probe(struct platform_device *pdev) { struct w1_bus_master *master; @@ -157,7 +153,7 @@ index 9709b8b..b10f9c9 100644 } } -@@ -127,6 +148,19 @@ static int w1_gpio_probe(struct platform_device *pdev) +@@ -127,6 +148,19 @@ static int w1_gpio_probe(struct platform return -ENOMEM; } @@ -177,7 +173,7 @@ index 9709b8b..b10f9c9 100644 err = devm_gpio_request(&pdev->dev, pdata->pin, "w1"); if (err) { dev_err(&pdev->dev, "gpio_request (pin) failed\n"); -@@ -156,6 +190,14 @@ static int w1_gpio_probe(struct platform_device *pdev) +@@ -156,6 +190,14 @@ static int w1_gpio_probe(struct platform master->set_pullup = w1_gpio_set_pullup; } @@ -192,7 +188,7 @@ index 9709b8b..b10f9c9 100644 err = w1_add_master_device(master); if (err) { dev_err(&pdev->dev, "w1_add_master device failed\n"); -@@ -186,6 +228,9 @@ static int w1_gpio_remove(struct platform_device *pdev) +@@ -186,6 +228,9 @@ static int w1_gpio_remove(struct platfor w1_remove_master_device(master); @@ -202,8 +198,6 @@ index 9709b8b..b10f9c9 100644 return 0; } -diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h -index ca8081a..3392959 100644 --- a/drivers/w1/w1.h +++ b/drivers/w1/w1.h @@ -148,6 +148,12 @@ struct w1_bus_master @@ -219,11 +213,9 @@ index ca8081a..3392959 100644 /** Really nice hardware can handles the different types of ROM search * w1_master* is passed to the slave found callback. */ -diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c -index 590bd8a..a4d69b6 100644 --- a/drivers/w1/w1_int.c +++ b/drivers/w1/w1_int.c -@@ -118,6 +118,20 @@ int w1_add_master_device(struct w1_bus_master *master) +@@ -118,6 +118,20 @@ int w1_add_master_device(struct w1_bus_m return(-EINVAL); } @@ -244,11 +236,9 @@ index 590bd8a..a4d69b6 100644 /* Lock until the device is added (or not) to w1_masters. */ mutex_lock(&w1_mlock); /* Search for the first available id (starting at 1). */ -diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c -index e10acc2..667fdd5 100644 --- a/drivers/w1/w1_io.c +++ b/drivers/w1/w1_io.c -@@ -127,10 +127,22 @@ static void w1_pre_write(struct w1_master *dev) +@@ -127,10 +127,22 @@ static void w1_pre_write(struct w1_maste static void w1_post_write(struct w1_master *dev) { if (dev->pullup_duration) { @@ -274,6 +264,3 @@ index e10acc2..667fdd5 100644 dev->pullup_duration = 0; } } --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0020-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch b/target/linux/brcm2708/patches-3.14/0020-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch index ecc62f5dea..70a41dd8f3 100644 --- a/target/linux/brcm2708/patches-3.14/0020-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch +++ b/target/linux/brcm2708/patches-3.14/0020-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch @@ -353,11 +353,9 @@ Subject: [PATCH 20/54] Add non-mainline source for rtl8192cu wireless driver create mode 100755 drivers/net/wireless/rtl8192cu/runwpa create mode 100755 drivers/net/wireless/rtl8192cu/wlan0dhcp -diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig -index 200020e..6ba6446 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig -@@ -276,7 +276,8 @@ source "drivers/net/wireless/libertas/Kconfig" +@@ -276,7 +276,8 @@ source "drivers/net/wireless/libertas/Kc source "drivers/net/wireless/orinoco/Kconfig" source "drivers/net/wireless/p54/Kconfig" source "drivers/net/wireless/rt2x00/Kconfig" @@ -367,8 +365,6 @@ index 200020e..6ba6446 100644 source "drivers/net/wireless/ti/Kconfig" source "drivers/net/wireless/zd1211rw/Kconfig" source "drivers/net/wireless/mwifiex/Kconfig" -diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile -index 0fab227..1fb9e0b 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile @@ -24,7 +24,8 @@ obj-$(CONFIG_B43LEGACY) += b43legacy/ @@ -381,9 +377,6 @@ index 0fab227..1fb9e0b 100644 # 16-bit wireless PCMCIA client drivers obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o -diff --git a/drivers/net/wireless/rtl8192cu/Kconfig b/drivers/net/wireless/rtl8192cu/Kconfig -new file mode 100644 -index 0000000..bee5ed6 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/Kconfig @@ -0,0 +1,6 @@ @@ -393,9 +386,6 @@ index 0000000..bee5ed6 + ---help--- + Help message of RTL8192CU + -diff --git a/drivers/net/wireless/rtl8192cu/Makefile b/drivers/net/wireless/rtl8192cu/Makefile -new file mode 100644 -index 0000000..c399011 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/Makefile @@ -0,0 +1,616 @@ @@ -1015,9 +1005,6 @@ index 0000000..c399011 + cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko +endif + -diff --git a/drivers/net/wireless/rtl8192cu/clean b/drivers/net/wireless/rtl8192cu/clean -new file mode 100755 -index 0000000..8766421 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/clean @@ -0,0 +1,5 @@ @@ -1026,9 +1013,6 @@ index 0000000..8766421 +rmmod 8192ce +rmmod 8192du +rmmod 8192de -diff --git a/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c b/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c -new file mode 100644 -index 0000000..3d341ac --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c @@ -0,0 +1,1147 @@ @@ -2179,9 +2163,6 @@ index 0000000..3d341ac +#endif //PLATFORM_LINUX + + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ap.c b/drivers/net/wireless/rtl8192cu/core/rtw_ap.c -new file mode 100644 -index 0000000..405e7fe --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_ap.c @@ -0,0 +1,2940 @@ @@ -5125,9 +5106,6 @@ index 0000000..405e7fe +#endif //CONFIG_NATIVEAP_MLME +#endif //CONFIG_AP_MODE + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c b/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c -new file mode 100644 -index 0000000..6bb924e --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c @@ -0,0 +1,1699 @@ @@ -6830,9 +6808,6 @@ index 0000000..6bb924e +} + +#endif // CONFIG_BR_EXT -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c b/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c -new file mode 100644 -index 0000000..f906eb3 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c @@ -0,0 +1,3035 @@ @@ -9871,9 +9846,6 @@ index 0000000..f906eb3 + +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_debug.c b/drivers/net/wireless/rtl8192cu/core/rtw_debug.c -new file mode 100644 -index 0000000..f70fcb7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_debug.c @@ -0,0 +1,1337 @@ @@ -11214,9 +11186,6 @@ index 0000000..f70fcb7 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c b/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c -new file mode 100644 -index 0000000..fd07d64 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c @@ -0,0 +1,423 @@ @@ -11643,9 +11612,6 @@ index 0000000..fd07d64 +_func_exit_; +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c b/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c -new file mode 100644 -index 0000000..6305ba3 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c @@ -0,0 +1,1915 @@ @@ -13564,9 +13530,6 @@ index 0000000..6305ba3 + return _action_public_str[action]; +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_io.c b/drivers/net/wireless/rtl8192cu/core/rtw_io.c -new file mode 100644 -index 0000000..4ffaa50 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_io.c @@ -0,0 +1,464 @@ @@ -14034,9 +13997,6 @@ index 0000000..4ffaa50 +#endif + + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c -new file mode 100644 -index 0000000..0601886 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c @@ -0,0 +1,196 @@ @@ -14236,9 +14196,6 @@ index 0000000..0601886 +} +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c -new file mode 100644 -index 0000000..31b4704 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c @@ -0,0 +1,1031 @@ @@ -15273,9 +15230,6 @@ index 0000000..31b4704 + return status; +} +//************** oid_rtl_seg_03_00 section end ************** -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c -new file mode 100644 -index 0000000..e67f219 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c @@ -0,0 +1,1494 @@ @@ -16773,9 +16727,6 @@ index 0000000..e67f219 + return _FAIL; +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_iol.c b/drivers/net/wireless/rtl8192cu/core/rtw_iol.c -new file mode 100644 -index 0000000..872cc42 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_iol.c @@ -0,0 +1,263 @@ @@ -17042,9 +16993,6 @@ index 0000000..872cc42 + +#endif //CONFIG_IOL + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c b/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c -new file mode 100644 -index 0000000..00edd9c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c @@ -0,0 +1,3967 @@ @@ -21015,9 +20963,6 @@ index 0000000..00edd9c +} +#endif //CONFIG_CONCURRENT_MODE + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c b/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c -new file mode 100644 -index 0000000..d29a20c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c @@ -0,0 +1,13600 @@ @@ -34621,9 +34566,6 @@ index 0000000..d29a20c + +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mp.c b/drivers/net/wireless/rtl8192cu/core/rtw_mp.c -new file mode 100644 -index 0000000..9af42cd --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_mp.c @@ -0,0 +1,1324 @@ @@ -35951,9 +35893,6 @@ index 0000000..9af42cd + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c b/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c -new file mode 100644 -index 0000000..b941e2c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c @@ -0,0 +1,2954 @@ @@ -38911,9 +38850,6 @@ index 0000000..b941e2c +#endif +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c b/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c -new file mode 100644 -index 0000000..66c5f96 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c @@ -0,0 +1,5294 @@ @@ -44211,9 +44147,6 @@ index 0000000..66c5f96 + +#endif //CONFIG_P2P + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c b/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c -new file mode 100644 -index 0000000..d1c11fa --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c @@ -0,0 +1,1540 @@ @@ -45757,9 +45690,6 @@ index 0000000..d1c11fa +} + + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_recv.c b/drivers/net/wireless/rtl8192cu/core/rtw_recv.c -new file mode 100644 -index 0000000..2cc8faa --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_recv.c @@ -0,0 +1,4289 @@ @@ -50052,9 +49982,6 @@ index 0000000..2cc8faa + + + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_rf.c b/drivers/net/wireless/rtl8192cu/core/rtw_rf.c -new file mode 100644 -index 0000000..7ae8635 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_rf.c @@ -0,0 +1,95 @@ @@ -50153,9 +50080,6 @@ index 0000000..7ae8635 + return ch; +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_security.c b/drivers/net/wireless/rtl8192cu/core/rtw_security.c -new file mode 100644 -index 0000000..8fa8ed5 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_security.c @@ -0,0 +1,3115 @@ @@ -53274,9 +53198,6 @@ index 0000000..8fa8ed5 + return status; +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_sreset.c b/drivers/net/wireless/rtl8192cu/core/rtw_sreset.c -new file mode 100644 -index 0000000..e08b1f7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_sreset.c @@ -0,0 +1,352 @@ @@ -53632,9 +53553,6 @@ index 0000000..e08b1f7 +#endif +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c b/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c -new file mode 100644 -index 0000000..f818a0c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c @@ -0,0 +1,848 @@ @@ -54486,9 +54404,6 @@ index 0000000..f818a0c + +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_tdls.c b/drivers/net/wireless/rtl8192cu/core/rtw_tdls.c -new file mode 100644 -index 0000000..e8c4d4c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_tdls.c @@ -0,0 +1,2941 @@ @@ -57433,9 +57348,6 @@ index 0000000..e8c4d4c + +#endif //CONFIG_TDLS + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c b/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c -new file mode 100644 -index 0000000..56dac60d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c @@ -0,0 +1,2305 @@ @@ -59744,9 +59656,6 @@ index 0000000..56dac60d + return status; +} + -diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c b/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c -new file mode 100644 -index 0000000..18f1fdb --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c @@ -0,0 +1,4156 @@ @@ -63906,9 +63815,6 @@ index 0000000..18f1fdb +} +#endif //CONFIG_XMIT_ACK + -diff --git a/drivers/net/wireless/rtl8192cu/hal/HalPwrSeqCmd.c b/drivers/net/wireless/rtl8192cu/hal/HalPwrSeqCmd.c -new file mode 100644 -index 0000000..c59bb66 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/HalPwrSeqCmd.c @@ -0,0 +1,177 @@ @@ -64089,9 +63995,6 @@ index 0000000..c59bb66 +} + + -diff --git a/drivers/net/wireless/rtl8192cu/hal/dm.c b/drivers/net/wireless/rtl8192cu/hal/dm.c -new file mode 100644 -index 0000000..465ca82 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/dm.c @@ -0,0 +1,314 @@ @@ -64409,9 +64312,6 @@ index 0000000..465ca82 +#endif /* CONFIG_DM_ADAPTIVITY */ +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/dm.h b/drivers/net/wireless/rtl8192cu/hal/dm.h -new file mode 100644 -index 0000000..dd9a57d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/dm.h @@ -0,0 +1,30 @@ @@ -64445,9 +64345,6 @@ index 0000000..dd9a57d +void dm_adaptivity(_adapter *pAdapter); + +#endif /* __DM_H__ */ -diff --git a/drivers/net/wireless/rtl8192cu/hal/hal_com.c b/drivers/net/wireless/rtl8192cu/hal/hal_com.c -new file mode 100644 -index 0000000..4dcafd6 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/hal_com.c @@ -0,0 +1,371 @@ @@ -64822,9 +64719,6 @@ index 0000000..4dcafd6 + return ret; +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/hal_intf.c b/drivers/net/wireless/rtl8192cu/hal/hal_intf.c -new file mode 100644 -index 0000000..6c56e72 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/hal_intf.c @@ -0,0 +1,546 @@ @@ -65374,9 +65268,6 @@ index 0000000..6c56e72 + return adapter->HalFunc.c2h_id_filter_ccx; +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c -new file mode 100644 -index 0000000..33921e2 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c @@ -0,0 +1,1159 @@ @@ -66539,9 +66430,6 @@ index 0000000..33921e2 + + + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c -new file mode 100644 -index 0000000..6e5634c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c @@ -0,0 +1,5056 @@ @@ -71601,9 +71489,6 @@ index 0000000..6e5634c + +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c -new file mode 100644 -index 0000000..b9e91d7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c @@ -0,0 +1,3628 @@ @@ -75235,9 +75120,6 @@ index 0000000..b9e91d7 + pHalFunc->c2h_id_filter_ccx = c2h_id_filter_ccx_8192c; +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c -new file mode 100644 -index 0000000..a4194c4 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c @@ -0,0 +1,1207 @@ @@ -76448,9 +76330,6 @@ index 0000000..a4194c4 +} + +#endif // CONFIG_MP_INCLUDE -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c -new file mode 100644 -index 0000000..1bae6da --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c @@ -0,0 +1,4841 @@ @@ -81295,9 +81174,6 @@ index 0000000..1bae6da + } +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c -new file mode 100644 -index 0000000..cf46969 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c @@ -0,0 +1,1031 @@ @@ -82332,9 +82208,6 @@ index 0000000..cf46969 + +/* End of HalRf6052.c */ + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c -new file mode 100644 -index 0000000..3e0d795 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c @@ -0,0 +1,876 @@ @@ -83214,9 +83087,6 @@ index 0000000..3e0d795 +} + + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c -new file mode 100644 -index 0000000..1368d66 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c @@ -0,0 +1,94 @@ @@ -83314,9 +83184,6 @@ index 0000000..1368d66 +} +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_xmit.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_xmit.c -new file mode 100644 -index 0000000..2cfd851 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_xmit.c @@ -0,0 +1,63 @@ @@ -83383,9 +83250,6 @@ index 0000000..2cfd851 +} +#endif //CONFIG_XMIT_ACK + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c -new file mode 100644 -index 0000000..b49486b --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c @@ -0,0 +1,8758 @@ @@ -92147,9 +92011,6 @@ index 0000000..b49486b +0xc78,0x621f001e, +}; + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c -new file mode 100644 -index 0000000..66970f1 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c @@ -0,0 +1,2564 @@ @@ -94717,9 +94578,6 @@ index 0000000..66970f1 + + + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c -new file mode 100644 -index 0000000..0d7af4a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c @@ -0,0 +1,2675 @@ @@ -97398,9 +97256,6 @@ index 0000000..0d7af4a + DeInitLed871x( &(ledpriv->SwLed1) ); +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c -new file mode 100644 -index 0000000..1119cf8 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c @@ -0,0 +1,229 @@ @@ -97633,9 +97488,6 @@ index 0000000..1119cf8 +} + + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c -new file mode 100644 -index 0000000..3a4137b --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c @@ -0,0 +1,1150 @@ @@ -98789,9 +98641,6 @@ index 0000000..3a4137b +} +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c -new file mode 100644 -index 0000000..ff89473 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c @@ -0,0 +1,6261 @@ @@ -105056,9 +104905,6 @@ index 0000000..ff89473 + +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c -new file mode 100644 -index 0000000..9523337 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c @@ -0,0 +1,1207 @@ @@ -106269,9 +106115,6 @@ index 0000000..9523337 +} + + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c -new file mode 100644 -index 0000000..2d627d3 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c @@ -0,0 +1,1536 @@ @@ -107811,9 +107654,6 @@ index 0000000..2d627d3 + +} + -diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c -new file mode 100644 -index 0000000..32ff645 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c @@ -0,0 +1,1265 @@ @@ -109082,9 +108922,6 @@ index 0000000..32ff645 + +} + -diff --git a/drivers/net/wireless/rtl8192cu/ifcfg-wlan0 b/drivers/net/wireless/rtl8192cu/ifcfg-wlan0 -new file mode 100755 -index 0000000..7ecb7ae --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/ifcfg-wlan0 @@ -0,0 +1,4 @@ @@ -109093,9 +108930,6 @@ index 0000000..7ecb7ae +BOOTPROTO=dhcp +ONBOOT=yes \ No newline at end of file -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h -new file mode 100644 -index 0000000..4ae3630 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h @@ -0,0 +1,85 @@ @@ -109184,9 +109018,6 @@ index 0000000..4ae3630 +extern u32 Rtl8192CEAGCTAB_1TArray[AGCTAB_1TArrayLength]; + +#endif //__INC_HAL8192CE_FW_IMG_H -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h -new file mode 100644 -index 0000000..3afb292 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h @@ -0,0 +1,428 @@ @@ -109618,9 +109449,6 @@ index 0000000..3afb292 + +#endif // __INC_HAL8192CPHYCFG_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h -new file mode 100644 -index 0000000..6364166 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h @@ -0,0 +1,1123 @@ @@ -110747,9 +110575,6 @@ index 0000000..6364166 + +#endif //__INC_HAL8192SPHYREG_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h -new file mode 100644 -index 0000000..ba3c282 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h @@ -0,0 +1,105 @@ @@ -110858,9 +110683,6 @@ index 0000000..ba3c282 +extern u32 Rtl8192CUAGCTAB_1T_HPArray[AGCTAB_1T_HPArrayLength]; + +#endif //__INC_HAL8192CU_FW_IMG_H -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h -new file mode 100644 -index 0000000..47d4d2f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h @@ -0,0 +1,34 @@ @@ -110898,9 +110720,6 @@ index 0000000..47d4d2f + +#endif //__INC_HAL8192CU_FW_IMG_WOWLAN_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h -new file mode 100644 -index 0000000..0639775 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h @@ -0,0 +1,66 @@ @@ -110970,9 +110789,6 @@ index 0000000..0639775 +extern const u32 Rtl8192DEAGCTAB_1TArray[Rtl8192DEAGCTAB_1TArrayLength]; + +#endif //__INC_HAL8192CU_FW_IMG_H -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h -new file mode 100644 -index 0000000..624fbda --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h @@ -0,0 +1,528 @@ @@ -111504,9 +111320,6 @@ index 0000000..624fbda + +#endif // __INC_HAL8192SPHYCFG_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h -new file mode 100644 -index 0000000..f28aa03 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h @@ -0,0 +1,1171 @@ @@ -112681,9 +112494,6 @@ index 0000000..f28aa03 + +#endif //__INC_HAL8192SPHYREG_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h -new file mode 100644 -index 0000000..d6c66d9 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h @@ -0,0 +1,66 @@ @@ -112753,9 +112563,6 @@ index 0000000..d6c66d9 +extern const u32 Rtl8192DUAGCTAB_1TArray[Rtl8192DUAGCTAB_1TArrayLength]; + +#endif //__INC_HAL8192CU_FW_IMG_H -diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h -new file mode 100644 -index 0000000..cc27a77 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h @@ -0,0 +1,30 @@ @@ -112789,9 +112596,6 @@ index 0000000..cc27a77 + +#endif //__INC_HAL8192DU_FW_IMG_WOWLAN_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/HalPwrSeqCmd.h b/drivers/net/wireless/rtl8192cu/include/HalPwrSeqCmd.h -new file mode 100644 -index 0000000..e5d151c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/HalPwrSeqCmd.h @@ -0,0 +1,137 @@ @@ -112932,9 +112736,6 @@ index 0000000..e5d151c + WLAN_PWR_CFG PwrCfgCmd[]); + +#endif -diff --git a/drivers/net/wireless/rtl8192cu/include/autoconf.h b/drivers/net/wireless/rtl8192cu/include/autoconf.h -new file mode 100644 -index 0000000..12294df --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/autoconf.h @@ -0,0 +1,336 @@ @@ -113274,9 +113075,6 @@ index 0000000..12294df + +//turn off power tracking when traffic is busy +//#define CONFIG_BUSY_TRAFFIC_SKIP_PWR_TRACK -diff --git a/drivers/net/wireless/rtl8192cu/include/basic_types.h b/drivers/net/wireless/rtl8192cu/include/basic_types.h -new file mode 100644 -index 0000000..f76e68f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/basic_types.h @@ -0,0 +1,321 @@ @@ -113601,9 +113399,6 @@ index 0000000..f76e68f + +#endif //__BASIC_TYPES_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h b/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h -new file mode 100644 -index 0000000..eca68a6 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h @@ -0,0 +1,87 @@ @@ -113694,9 +113489,6 @@ index 0000000..eca68a6 +#include <byteorder/generic.h> + +#endif /* _LINUX_BYTEORDER_BIG_ENDIAN_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h b/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h -new file mode 100644 -index 0000000..7c8d4d7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h @@ -0,0 +1,212 @@ @@ -113912,9 +113704,6 @@ index 0000000..7c8d4d7 +#endif + +#endif /* _LINUX_BYTEORDER_GENERIC_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h b/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h -new file mode 100644 -index 0000000..433045e --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h @@ -0,0 +1,89 @@ @@ -114007,9 +113796,6 @@ index 0000000..433045e +#include <byteorder/generic.h> + +#endif /* _LINUX_BYTEORDER_LITTLE_ENDIAN_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h b/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h -new file mode 100644 -index 0000000..a3ca9ea --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h @@ -0,0 +1,140 @@ @@ -114153,9 +113939,6 @@ index 0000000..a3ca9ea +#endif + +#endif /* _LINUX_BYTEORDER_SWAB_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h b/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h -new file mode 100644 -index 0000000..7e2a118 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h @@ -0,0 +1,156 @@ @@ -114315,9 +114098,6 @@ index 0000000..7e2a118 +#endif + +#endif /* _LINUX_BYTEORDER_SWABB_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/circ_buf.h b/drivers/net/wireless/rtl8192cu/include/circ_buf.h -new file mode 100644 -index 0000000..1bd4704 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/circ_buf.h @@ -0,0 +1,27 @@ @@ -114348,9 +114128,6 @@ index 0000000..1bd4704 +#define CIRC_SPACE(head,tail,size) CIRC_CNT((tail),((head)+1),(size)) + +#endif //_CIRC_BUF_H_ -diff --git a/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h b/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h -new file mode 100644 -index 0000000..077efa7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h @@ -0,0 +1,36 @@ @@ -114390,9 +114167,6 @@ index 0000000..077efa7 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/drv_conf.h b/drivers/net/wireless/rtl8192cu/include/drv_conf.h -new file mode 100644 -index 0000000..1317687 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/drv_conf.h @@ -0,0 +1,78 @@ @@ -114474,9 +114248,6 @@ index 0000000..1317687 + +#endif // __DRV_CONF_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types.h b/drivers/net/wireless/rtl8192cu/include/drv_types.h -new file mode 100644 -index 0000000..0ac34f2 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/drv_types.h @@ -0,0 +1,662 @@ @@ -115142,9 +114913,6 @@ index 0000000..0ac34f2 + +#endif //__DRV_TYPES_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h b/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h -new file mode 100644 -index 0000000..be0459d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h @@ -0,0 +1,92 @@ @@ -115240,9 +115008,6 @@ index 0000000..be0459d + + +#endif -diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h b/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h -new file mode 100644 -index 0000000..db1c585 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h @@ -0,0 +1,25 @@ @@ -115271,9 +115036,6 @@ index 0000000..db1c585 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_sdio.h b/drivers/net/wireless/rtl8192cu/include/drv_types_sdio.h -new file mode 100644 -index 0000000..fd467ca --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/drv_types_sdio.h @@ -0,0 +1,70 @@ @@ -115347,9 +115109,6 @@ index 0000000..fd467ca + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h b/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h -new file mode 100644 -index 0000000..2d51b1d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h @@ -0,0 +1,95 @@ @@ -115448,9 +115207,6 @@ index 0000000..2d51b1d + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/ethernet.h b/drivers/net/wireless/rtl8192cu/include/ethernet.h -new file mode 100644 -index 0000000..36e29c0 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/ethernet.h @@ -0,0 +1,41 @@ @@ -115495,9 +115251,6 @@ index 0000000..36e29c0 + + +#endif // #ifndef __INC_ETHERNET_H -diff --git a/drivers/net/wireless/rtl8192cu/include/h2clbk.h b/drivers/net/wireless/rtl8192cu/include/h2clbk.h -new file mode 100644 -index 0000000..359c9e7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/h2clbk.h @@ -0,0 +1,35 @@ @@ -115536,9 +115289,6 @@ index 0000000..359c9e7 +void _lbk_evt(IN PADAPTER Adapter); + +void h2c_event_callback(unsigned char *dev, unsigned char *pbuf); -diff --git a/drivers/net/wireless/rtl8192cu/include/hal_com.h b/drivers/net/wireless/rtl8192cu/include/hal_com.h -new file mode 100644 -index 0000000..42aae0e --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/hal_com.h @@ -0,0 +1,146 @@ @@ -115688,9 +115438,6 @@ index 0000000..42aae0e + +#endif //__HAL_COMMON_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/hal_intf.h b/drivers/net/wireless/rtl8192cu/include/hal_intf.h -new file mode 100644 -index 0000000..dd82662 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/hal_intf.h @@ -0,0 +1,432 @@ @@ -116126,9 +115873,6 @@ index 0000000..dd82662 + +#endif //__HAL_INTF_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/ieee80211.h b/drivers/net/wireless/rtl8192cu/include/ieee80211.h -new file mode 100644 -index 0000000..e283a5f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/ieee80211.h @@ -0,0 +1,1580 @@ @@ -117712,9 +117456,6 @@ index 0000000..e283a5f + +#endif /* IEEE80211_H */ + -diff --git a/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h b/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h -new file mode 100644 -index 0000000..3e55305 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h @@ -0,0 +1,477 @@ @@ -118195,9 +117936,6 @@ index 0000000..3e55305 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/if_ether.h b/drivers/net/wireless/rtl8192cu/include/if_ether.h -new file mode 100644 -index 0000000..9e36d7f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/if_ether.h @@ -0,0 +1,112 @@ @@ -118313,9 +118051,6 @@ index 0000000..9e36d7f + + +#endif /* _LINUX_IF_ETHER_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h b/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h -new file mode 100644 -index 0000000..ceb0db8 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h @@ -0,0 +1,180 @@ @@ -118499,9 +118234,6 @@ index 0000000..ceb0db8 + +#endif //__IOCTL_CFG80211_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/ip.h b/drivers/net/wireless/rtl8192cu/include/ip.h -new file mode 100644 -index 0000000..d7f723d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/ip.h @@ -0,0 +1,141 @@ @@ -118646,9 +118378,6 @@ index 0000000..d7f723d +}; + +#endif /* _LINUX_IP_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/linux/wireless.h b/drivers/net/wireless/rtl8192cu/include/linux/wireless.h -new file mode 100644 -index 0000000..24a22d6 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/linux/wireless.h @@ -0,0 +1,90 @@ @@ -118742,9 +118471,6 @@ index 0000000..24a22d6 +}; + +#endif /* _LINUX_WIRELESS_H */ -diff --git a/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h b/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h -new file mode 100644 -index 0000000..75754db --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h @@ -0,0 +1,40 @@ @@ -118788,9 +118514,6 @@ index 0000000..75754db + +#endif //_MLME_OSDEP_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h b/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h -new file mode 100644 -index 0000000..5f86738 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h @@ -0,0 +1,353 @@ @@ -119147,9 +118870,6 @@ index 0000000..5f86738 +#define OID_RT_PRO_EFUSE_MAP 0xFF871217 //Q, S + +#endif //#ifndef __CUSTOM_OID_H -diff --git a/drivers/net/wireless/rtl8192cu/include/nic_spec.h b/drivers/net/wireless/rtl8192cu/include/nic_spec.h -new file mode 100644 -index 0000000..18e7b2c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/nic_spec.h @@ -0,0 +1,47 @@ @@ -119200,9 +118920,6 @@ index 0000000..18e7b2c + +#endif // __RTL8711_SPEC_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h b/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h -new file mode 100644 -index 0000000..e374077 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h @@ -0,0 +1,171 @@ @@ -119377,9 +119094,6 @@ index 0000000..e374077 +} +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/osdep_intf.h b/drivers/net/wireless/rtl8192cu/include/osdep_intf.h -new file mode 100644 -index 0000000..3cd1659 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/osdep_intf.h @@ -0,0 +1,155 @@ @@ -119538,9 +119252,6 @@ index 0000000..3cd1659 + +#endif //_OSDEP_INTF_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/osdep_service.h b/drivers/net/wireless/rtl8192cu/include/osdep_service.h -new file mode 100644 -index 0000000..c5c465e --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/osdep_service.h @@ -0,0 +1,1815 @@ @@ -121359,9 +121070,6 @@ index 0000000..c5c465e +#endif + + -diff --git a/drivers/net/wireless/rtl8192cu/include/pci_hal.h b/drivers/net/wireless/rtl8192cu/include/pci_hal.h -new file mode 100644 -index 0000000..1ee0ee2 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/pci_hal.h @@ -0,0 +1,168 @@ @@ -121533,9 +121241,6 @@ index 0000000..1ee0ee2 + +#endif //__PCIE_HAL_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/pci_ops.h b/drivers/net/wireless/rtl8192cu/include/pci_ops.h -new file mode 100644 -index 0000000..9404ff4 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/pci_ops.h @@ -0,0 +1,60 @@ @@ -121599,9 +121304,6 @@ index 0000000..9404ff4 +#endif + +#endif -diff --git a/drivers/net/wireless/rtl8192cu/include/pci_osintf.h b/drivers/net/wireless/rtl8192cu/include/pci_osintf.h -new file mode 100644 -index 0000000..09715af --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/pci_osintf.h @@ -0,0 +1,33 @@ @@ -121638,9 +121340,6 @@ index 0000000..09715af + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/recv_osdep.h b/drivers/net/wireless/rtl8192cu/include/recv_osdep.h -new file mode 100644 -index 0000000..536ed31 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/recv_osdep.h @@ -0,0 +1,58 @@ @@ -121702,9 +121401,6 @@ index 0000000..536ed31 + +#endif // + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h -new file mode 100644 -index 0000000..c54cc31 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h @@ -0,0 +1,153 @@ @@ -121861,9 +121557,6 @@ index 0000000..c54cc31 + +#endif // __RTL8192C_CMD_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h -new file mode 100644 -index 0000000..9d06540 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h @@ -0,0 +1,516 @@ @@ -122383,9 +122076,6 @@ index 0000000..9d06540 + +#endif //__HAL8190PCIDM_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h -new file mode 100644 -index 0000000..1013f74 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h @@ -0,0 +1,28 @@ @@ -122417,9 +122107,6 @@ index 0000000..1013f74 +#endif + + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h -new file mode 100644 -index 0000000..3348971 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h @@ -0,0 +1,937 @@ @@ -123360,9 +123047,6 @@ index 0000000..3348971 + + + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h -new file mode 100644 -index 0000000..1ccf935 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h @@ -0,0 +1,42 @@ @@ -123408,9 +123092,6 @@ index 0000000..1ccf935 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h -new file mode 100644 -index 0000000..d5656f5 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h @@ -0,0 +1,184 @@ @@ -123598,9 +123279,6 @@ index 0000000..d5656f5 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h -new file mode 100644 -index 0000000..26c678a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h @@ -0,0 +1,92 @@ @@ -123696,9 +123374,6 @@ index 0000000..26c678a + +#endif/* End of HalRf.h */ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h -new file mode 100644 -index 0000000..8ff13a7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h @@ -0,0 +1,1865 @@ @@ -125567,9 +125242,6 @@ index 0000000..8ff13a7 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h -new file mode 100644 -index 0000000..20e88b5 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h @@ -0,0 +1,32 @@ @@ -125605,9 +125277,6 @@ index 0000000..20e88b5 +extern void rtl8192c_sreset_linked_status_check(_adapter *padapter); +#endif +#endif -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h -new file mode 100644 -index 0000000..7d2059d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h @@ -0,0 +1,129 @@ @@ -125740,9 +125409,6 @@ index 0000000..7d2059d + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h -new file mode 100644 -index 0000000..ad7e783 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h @@ -0,0 +1,142 @@ @@ -125888,9 +125554,6 @@ index 0000000..ad7e783 +#endif // __RTL8192D_CMD_H_ + + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h -new file mode 100644 -index 0000000..ab5e5f7 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h @@ -0,0 +1,420 @@ @@ -126314,9 +125977,6 @@ index 0000000..ab5e5f7 +VOID rtl8192d_dm_CheckTXPowerTracking(IN PADAPTER Adapter); + +#endif //__HAL8190PCIDM_H__ -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h -new file mode 100644 -index 0000000..1ab5f98 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h @@ -0,0 +1,1126 @@ @@ -127446,9 +127106,6 @@ index 0000000..1ab5f98 + +#endif //end CONFIG_MP_INCLUDED + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h -new file mode 100644 -index 0000000..d736bda4 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h @@ -0,0 +1,43 @@ @@ -127495,9 +127152,6 @@ index 0000000..d736bda4 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h -new file mode 100644 -index 0000000..36cc232 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h @@ -0,0 +1,187 @@ @@ -127688,9 +127342,6 @@ index 0000000..36cc232 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h -new file mode 100644 -index 0000000..0b439a3 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h @@ -0,0 +1,97 @@ @@ -127791,9 +127442,6 @@ index 0000000..0b439a3 + +#endif/* End of HalRf.h */ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h -new file mode 100644 -index 0000000..bef7184 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h @@ -0,0 +1,1841 @@ @@ -129638,9 +129286,6 @@ index 0000000..bef7184 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h -new file mode 100644 -index 0000000..d01fb4a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h @@ -0,0 +1,145 @@ @@ -129789,9 +129434,6 @@ index 0000000..d01fb4a + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_android.h b/drivers/net/wireless/rtl8192cu/include/rtw_android.h -new file mode 100644 -index 0000000..f9214c2 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_android.h @@ -0,0 +1,90 @@ @@ -129885,9 +129527,6 @@ index 0000000..f9214c2 + +#endif //__RTW_ANDROID_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ap.h b/drivers/net/wireless/rtl8192cu/include/rtw_ap.h -new file mode 100644 -index 0000000..42be4c6 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_ap.h @@ -0,0 +1,64 @@ @@ -129955,9 +129594,6 @@ index 0000000..42be4c6 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h b/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h -new file mode 100644 -index 0000000..9da3fdd --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h @@ -0,0 +1,76 @@ @@ -130037,9 +129673,6 @@ index 0000000..9da3fdd + +#endif // _RTW_BR_EXT_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h b/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h -new file mode 100644 -index 0000000..0f06b7a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h @@ -0,0 +1,40 @@ @@ -130083,9 +129716,6 @@ index 0000000..0f06b7a + +#endif /* _RTL871X_BYTEORDER_H_ */ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h b/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h -new file mode 100644 -index 0000000..ab115c5 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h @@ -0,0 +1,1167 @@ @@ -131256,9 +130886,6 @@ index 0000000..ab115c5 + +#endif // _CMD_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_debug.h b/drivers/net/wireless/rtl8192cu/include/rtw_debug.h -new file mode 100644 -index 0000000..0ccf220 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_debug.h @@ -0,0 +1,538 @@ @@ -131800,9 +131427,6 @@ index 0000000..0ccf220 + +#endif //__RTW_DEBUG_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h b/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h -new file mode 100644 -index 0000000..ce834dd --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h @@ -0,0 +1,152 @@ @@ -131958,9 +131582,6 @@ index 0000000..ce834dd +#endif //PLATFORM_LINUX + +#endif //__RTL871X_EEPROM_H__ -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h b/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h -new file mode 100644 -index 0000000..224aa4f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h @@ -0,0 +1,124 @@ @@ -132088,9 +131709,6 @@ index 0000000..224aa4f + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_event.h b/drivers/net/wireless/rtl8192cu/include/rtw_event.h -new file mode 100644 -index 0000000..4299ddc --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_event.h @@ -0,0 +1,154 @@ @@ -132248,9 +131866,6 @@ index 0000000..4299ddc + +#endif // _WLANEVENT_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ht.h b/drivers/net/wireless/rtl8192cu/include/rtw_ht.h -new file mode 100644 -index 0000000..3cd904d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_ht.h @@ -0,0 +1,50 @@ @@ -132304,9 +131919,6 @@ index 0000000..3cd904d + +#endif //_RTL871X_HT_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_io.h b/drivers/net/wireless/rtl8192cu/include/rtw_io.h -new file mode 100644 -index 0000000..c66845c --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_io.h @@ -0,0 +1,504 @@ @@ -132814,9 +132426,6 @@ index 0000000..c66845c +*/ + +#endif //_RTL8711_IO_H_ -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h -new file mode 100644 -index 0000000..c4da301 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h @@ -0,0 +1,269 @@ @@ -133089,9 +132698,6 @@ index 0000000..c4da301 + +#endif // #ifndef __INC_CEINFO_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h -new file mode 100644 -index 0000000..5b6018a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h @@ -0,0 +1,36 @@ @@ -133131,9 +132737,6 @@ index 0000000..5b6018a + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h -new file mode 100644 -index 0000000..3bff766 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h @@ -0,0 +1,83 @@ @@ -133220,9 +132823,6 @@ index 0000000..3bff766 + + +#endif -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h -new file mode 100644 -index 0000000..82f9810 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h @@ -0,0 +1,79 @@ @@ -133305,9 +132905,6 @@ index 0000000..82f9810 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_iol.h b/drivers/net/wireless/rtl8192cu/include/rtw_iol.h -new file mode 100644 -index 0000000..45fa5a2 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_iol.h @@ -0,0 +1,89 @@ @@ -133400,9 +132997,6 @@ index 0000000..45fa5a2 +bool rtw_IOL_applied(ADAPTER *adapter); + +#endif //__RTW_IOL_H_ -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_led.h b/drivers/net/wireless/rtl8192cu/include/rtw_led.h -new file mode 100644 -index 0000000..b5365ba --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_led.h @@ -0,0 +1,217 @@ @@ -133623,9 +133217,6 @@ index 0000000..b5365ba + +#endif //__RTW_LED_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h b/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h -new file mode 100644 -index 0000000..d9d6456 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h @@ -0,0 +1,844 @@ @@ -134473,9 +134064,6 @@ index 0000000..d9d6456 +#endif //CONFIG_INTEL_PROXIM +#endif //__RTL871X_MLME_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h b/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h -new file mode 100644 -index 0000000..5cddca4 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h @@ -0,0 +1,963 @@ @@ -135442,9 +135030,6 @@ index 0000000..5cddca4 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mp.h b/drivers/net/wireless/rtl8192cu/include/rtw_mp.h -new file mode 100644 -index 0000000..0ebb1ba --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_mp.h @@ -0,0 +1,712 @@ @@ -136160,9 +135745,6 @@ index 0000000..0ebb1ba + +#endif //_RTW_MP_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h b/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h -new file mode 100644 -index 0000000..962bc38 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h @@ -0,0 +1,596 @@ @@ -136762,9 +136344,6 @@ index 0000000..962bc38 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h b/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h -new file mode 100644 -index 0000000..0b47cb5 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h @@ -0,0 +1,1097 @@ @@ -137865,9 +137444,6 @@ index 0000000..0b47cb5 + +#endif //__INC_HAL8192SPHYREG_H + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h b/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h -new file mode 100644 -index 0000000..4249bc9 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h @@ -0,0 +1,161 @@ @@ -138032,9 +137608,6 @@ index 0000000..4249bc9 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h b/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h -new file mode 100644 -index 0000000..a4cb292 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h @@ -0,0 +1,362 @@ @@ -138400,9 +137973,6 @@ index 0000000..a4cb292 +int rtw_pm_set_lps(_adapter *padapter, u8 mode); + +#endif //__RTL871X_PWRCTRL_H_ -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_qos.h b/drivers/net/wireless/rtl8192cu/include/rtw_qos.h -new file mode 100644 -index 0000000..a359c5f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_qos.h @@ -0,0 +1,40 @@ @@ -138446,9 +138016,6 @@ index 0000000..a359c5f + +#endif //_RTL871X_QOS_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_recv.h b/drivers/net/wireless/rtl8192cu/include/rtw_recv.h -new file mode 100644 -index 0000000..3a4b14b --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_recv.h @@ -0,0 +1,731 @@ @@ -139183,9 +138750,6 @@ index 0000000..3a4b14b + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_rf.h b/drivers/net/wireless/rtl8192cu/include/rtw_rf.h -new file mode 100644 -index 0000000..697dd4e --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_rf.h @@ -0,0 +1,152 @@ @@ -139341,9 +138905,6 @@ index 0000000..697dd4e + +#endif //_RTL8711_RF_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_security.h b/drivers/net/wireless/rtl8192cu/include/rtw_security.h -new file mode 100644 -index 0000000..835677c3 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_security.h @@ -0,0 +1,447 @@ @@ -139794,9 +139355,6 @@ index 0000000..835677c3 + +#endif //__RTL871X_SECURITY_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_sreset.h b/drivers/net/wireless/rtl8192cu/include/rtw_sreset.h -new file mode 100644 -index 0000000..45dd2bf --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_sreset.h @@ -0,0 +1,74 @@ @@ -139874,9 +139432,6 @@ index 0000000..45dd2bf + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_tdls.h b/drivers/net/wireless/rtl8192cu/include/rtw_tdls.h -new file mode 100644 -index 0000000..1005331 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_tdls.h @@ -0,0 +1,143 @@ @@ -140023,16 +139578,10 @@ index 0000000..1005331 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_version.h b/drivers/net/wireless/rtl8192cu/include/rtw_version.h -new file mode 100644 -index 0000000..4fb9dd4 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_version.h @@ -0,0 +1 @@ +#define DRIVERVERSION "v4.0.2_9000.20130911" -diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h b/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h -new file mode 100644 -index 0000000..f7eaf4a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h @@ -0,0 +1,754 @@ @@ -140790,9 +140339,6 @@ index 0000000..f7eaf4a + +#endif //_RTL871X_XMIT_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/sta_info.h b/drivers/net/wireless/rtl8192cu/include/sta_info.h -new file mode 100644 -index 0000000..75763db --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/sta_info.h @@ -0,0 +1,432 @@ @@ -141228,9 +140774,6 @@ index 0000000..75763db + +#endif //_STA_INFO_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/usb_hal.h b/drivers/net/wireless/rtl8192cu/include/usb_hal.h -new file mode 100644 -index 0000000..d765b82 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/usb_hal.h @@ -0,0 +1,37 @@ @@ -141271,9 +140814,6 @@ index 0000000..d765b82 +#endif //CONFIG_WOWLAN +#endif //__USB_HAL_H__ + -diff --git a/drivers/net/wireless/rtl8192cu/include/usb_ops.h b/drivers/net/wireless/rtl8192cu/include/usb_ops.h -new file mode 100644 -index 0000000..8bbec2d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/usb_ops.h @@ -0,0 +1,110 @@ @@ -141387,9 +140927,6 @@ index 0000000..8bbec2d + +#endif //__USB_OPS_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/usb_ops_linux.h b/drivers/net/wireless/rtl8192cu/include/usb_ops_linux.h -new file mode 100644 -index 0000000..d418ba2 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/usb_ops_linux.h @@ -0,0 +1,63 @@ @@ -141456,9 +140993,6 @@ index 0000000..d418ba2 + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/usb_osintf.h b/drivers/net/wireless/rtl8192cu/include/usb_osintf.h -new file mode 100644 -index 0000000..753013d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/usb_osintf.h @@ -0,0 +1,38 @@ @@ -141500,9 +141034,6 @@ index 0000000..753013d + +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h b/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h -new file mode 100644 -index 0000000..f33e982 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h @@ -0,0 +1,59 @@ @@ -141565,9 +141096,6 @@ index 0000000..f33e982 +//BOOLEAN CEusbGetDescriptorRequest(PCE_USB_DEVICE CEdevice, IN short urbLength, IN UCHAR DescriptorType, IN UCHAR Index, IN USHORT LanguageId, IN PVOID TransferBuffer, IN ULONG TransferBufferLength); + +#endif -diff --git a/drivers/net/wireless/rtl8192cu/include/wifi.h b/drivers/net/wireless/rtl8192cu/include/wifi.h -new file mode 100644 -index 0000000..0bb55bb --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/wifi.h @@ -0,0 +1,1246 @@ @@ -142817,9 +142345,6 @@ index 0000000..0bb55bb + +#endif // _WIFI_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h b/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h -new file mode 100644 -index 0000000..1cf93dc --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h @@ -0,0 +1,703 @@ @@ -143526,9 +143051,6 @@ index 0000000..1cf93dc + +#endif //#ifndef WLAN_BSSDEF_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h b/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h -new file mode 100644 -index 0000000..e5848ec --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h @@ -0,0 +1,95 @@ @@ -143627,9 +143149,6 @@ index 0000000..e5848ec + +#endif //__XMIT_OSDEP_H_ + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c -new file mode 100644 -index 0000000..5975d1e --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c @@ -0,0 +1,5489 @@ @@ -149122,9 +148641,6 @@ index 0000000..5975d1e + +#endif //CONFIG_IOCTL_CFG80211 + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c -new file mode 100644 -index 0000000..9adbeaf --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c @@ -0,0 +1,11909 @@ @@ -161037,9 +160553,6 @@ index 0000000..9adbeaf +}; +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c -new file mode 100644 -index 0000000..6fc9f03 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c @@ -0,0 +1,586 @@ @@ -161629,9 +161142,6 @@ index 0000000..6fc9f03 +#endif +#endif + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c -new file mode 100644 -index 0000000..82dee6d --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c @@ -0,0 +1,2749 @@ @@ -164384,9 +163894,6 @@ index 0000000..82dee6d + free_netdev(ndev); +} + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c -new file mode 100644 -index 0000000..5bf576f --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c @@ -0,0 +1,1997 @@ @@ -166387,9 +165894,6 @@ index 0000000..5bf576f +module_init(rtw_drv_entry); +module_exit(rtw_drv_halt); + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_ops_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_ops_linux.c -new file mode 100644 -index 0000000..7d671df --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_ops_linux.c @@ -0,0 +1,24 @@ @@ -166417,9 +165921,6 @@ index 0000000..7d671df + + + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c -new file mode 100644 -index 0000000..9c92019 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c @@ -0,0 +1,448 @@ @@ -166871,9 +166372,6 @@ index 0000000..9c92019 + +} + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c -new file mode 100644 -index 0000000..a4bb073 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c @@ -0,0 +1,839 @@ @@ -167716,9 +167214,6 @@ index 0000000..a4bb073 +} +#endif /* defined(RTW_ENABLE_WIFI_CONTROL_FUNC) */ + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c -new file mode 100644 -index 0000000..4c1089a --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c @@ -0,0 +1,1655 @@ @@ -169377,9 +168872,6 @@ index 0000000..4c1089a +EXPORT_SYMBOL(rtw_usb_get_sw_pointer); +#endif //CONFIG_INTEL_PROXIM + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_ops_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_ops_linux.c -new file mode 100644 -index 0000000..f54cfb4 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_ops_linux.c @@ -0,0 +1,649 @@ @@ -170032,9 +169524,6 @@ index 0000000..f54cfb4 + } +} + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c -new file mode 100644 -index 0000000..9105e29 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c @@ -0,0 +1,421 @@ @@ -170459,9 +169948,6 @@ index 0000000..9105e29 + return _rtw_xmit_entry(pkt, pnetdev); +} + -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c b/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c -new file mode 100644 -index 0000000..e73a068 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c @@ -0,0 +1,2300 @@ @@ -172765,9 +172251,6 @@ index 0000000..e73a068 + rtw_mfree((u8*)cbuf, sizeof(*cbuf) + sizeof(void*)*cbuf->size); +} + -diff --git a/drivers/net/wireless/rtl8192cu/runwpa b/drivers/net/wireless/rtl8192cu/runwpa -new file mode 100755 -index 0000000..f825e8b --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/runwpa @@ -0,0 +1,20 @@ @@ -172791,9 +172274,6 @@ index 0000000..f825e8b +fi + + -diff --git a/drivers/net/wireless/rtl8192cu/wlan0dhcp b/drivers/net/wireless/rtl8192cu/wlan0dhcp -new file mode 100755 -index 0000000..6043382 --- /dev/null +++ b/drivers/net/wireless/rtl8192cu/wlan0dhcp @@ -0,0 +1,16 @@ @@ -172813,6 +172293,3 @@ index 0000000..6043382 + +echo "get ip: $var1" + --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0021-wifi-add-patches-from-3.6.y-tree-to-make-rtl8192cu-w.patch b/target/linux/brcm2708/patches-3.14/0021-wifi-add-patches-from-3.6.y-tree-to-make-rtl8192cu-w.patch index 7478d9be8f..55b44068b0 100644 --- a/target/linux/brcm2708/patches-3.14/0021-wifi-add-patches-from-3.6.y-tree-to-make-rtl8192cu-w.patch +++ b/target/linux/brcm2708/patches-3.14/0021-wifi-add-patches-from-3.6.y-tree-to-make-rtl8192cu-w.patch @@ -13,8 +13,6 @@ wifi: add missing patch from 3.6.y tree to disable debug drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c | 1 + 5 files changed, 23 insertions(+), 3 deletions(-) -diff --git a/drivers/net/wireless/rtl8192cu/Kconfig b/drivers/net/wireless/rtl8192cu/Kconfig -index bee5ed6..ef46361 100644 --- a/drivers/net/wireless/rtl8192cu/Kconfig +++ b/drivers/net/wireless/rtl8192cu/Kconfig @@ -1,6 +1,8 @@ @@ -27,8 +25,6 @@ index bee5ed6..ef46361 100644 - Help message of RTL8192CU + Enable wireless network adapters based on Realtek RTL8192C chipset family, such as EDUP nano series -diff --git a/drivers/net/wireless/rtl8192cu/Makefile b/drivers/net/wireless/rtl8192cu/Makefile -index c399011..f85c59f 100644 --- a/drivers/net/wireless/rtl8192cu/Makefile +++ b/drivers/net/wireless/rtl8192cu/Makefile @@ -38,7 +38,7 @@ CONFIG_RTL8192CU_REDEFINE_1X1 = n @@ -51,8 +47,6 @@ index c399011..f85c59f 100644 ifneq ($(USER_MODULE_NAME),) MODULE_NAME := $(USER_MODULE_NAME) endif -diff --git a/drivers/net/wireless/rtl8192cu/include/autoconf.h b/drivers/net/wireless/rtl8192cu/include/autoconf.h -index 12294df..1341ff0 100644 --- a/drivers/net/wireless/rtl8192cu/include/autoconf.h +++ b/drivers/net/wireless/rtl8192cu/include/autoconf.h @@ -296,7 +296,7 @@ @@ -64,8 +58,6 @@ index 12294df..1341ff0 100644 #define CONFIG_PROC_DEBUG 1 -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c -index 82dee6d..b0bf0e9 100644 --- a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c @@ -277,6 +277,18 @@ static int rtw_proc_cnt = 0; @@ -87,7 +79,7 @@ index 82dee6d..b0bf0e9 100644 void rtw_proc_init_one(struct net_device *dev) { struct proc_dir_entry *dir_dev = NULL; -@@ -751,6 +763,7 @@ void rtw_proc_remove_one(struct net_device *dev) +@@ -751,6 +763,7 @@ void rtw_proc_remove_one(struct net_devi } } } @@ -95,11 +87,9 @@ index 82dee6d..b0bf0e9 100644 #endif uint loadparam( _adapter *padapter, _nic_hdl pnetdev); -diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c -index 4c1089a..baccb59 100644 --- a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c -@@ -138,6 +138,7 @@ static void rtw_dev_remove(struct usb_interface *pusb_intf); +@@ -138,6 +138,7 @@ static void rtw_dev_remove(struct usb_in {USB_DEVICE(0x2001, 0x3307)},/* D-Link - Cameo */ \ {USB_DEVICE(0x2001, 0x330A)},/* D-Link - Alpha */ \ {USB_DEVICE(0x2001, 0x3309)},/* D-Link - Alpha */ \ @@ -107,6 +97,3 @@ index 4c1089a..baccb59 100644 {USB_DEVICE(0x0586, 0x341F)},/* Zyxel - Abocom */ \ {USB_DEVICE(0x7392, 0x7822)},/* Edimax - Edimax */ \ {USB_DEVICE(0x2019, 0xAB2B)},/* Planex - Abocom */ \ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0022-Added-Device-IDs-for-August-DVB-T-205.patch b/target/linux/brcm2708/patches-3.14/0022-Added-Device-IDs-for-August-DVB-T-205.patch index df0ea78338..1802bdb14d 100644 --- a/target/linux/brcm2708/patches-3.14/0022-Added-Device-IDs-for-August-DVB-T-205.patch +++ b/target/linux/brcm2708/patches-3.14/0022-Added-Device-IDs-for-August-DVB-T-205.patch @@ -7,11 +7,9 @@ Subject: [PATCH 22/54] Added Device IDs for August DVB-T 205 drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c -index fd1312d..54740d0 100644 --- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c +++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c -@@ -1429,6 +1429,10 @@ static const struct usb_device_id rtl28xxu_id_table[] = { +@@ -1429,6 +1429,10 @@ static const struct usb_device_id rtl28x &rtl2832u_props, "Compro VideoMate U620F", NULL) }, { DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394, &rtl2832u_props, "MaxMedia HU394-T", NULL) }, @@ -22,6 +20,3 @@ index fd1312d..54740d0 100644 { DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03, &rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) }, { DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A, --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0023-config-add-missing-options-from-3.6.y-kernel.patch b/target/linux/brcm2708/patches-3.14/0023-config-add-missing-options-from-3.6.y-kernel.patch index d283b2b31b..087621c6f8 100644 --- a/target/linux/brcm2708/patches-3.14/0023-config-add-missing-options-from-3.6.y-kernel.patch +++ b/target/linux/brcm2708/patches-3.14/0023-config-add-missing-options-from-3.6.y-kernel.patch @@ -7,8 +7,6 @@ Subject: [PATCH 23/54] config: add missing options from 3.6.y kernel arch/arm/configs/bcmrpi_defconfig | 755 ++++++++++++++++++++++++++++++++------ 1 file changed, 649 insertions(+), 106 deletions(-) -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 31f5afaa..78d789c 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -1,11 +1,17 @@ @@ -1047,6 +1045,3 @@ index 31f5afaa..78d789c 100644 # CONFIG_CRYPTO_ANSI_CPRNG is not set # CONFIG_CRYPTO_HW is not set CONFIG_CRC_ITU_T=y --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0024-Speed-up-console-framebuffer-imageblit-function.patch b/target/linux/brcm2708/patches-3.14/0024-Speed-up-console-framebuffer-imageblit-function.patch index e82dcea136..ad7f303d50 100644 --- a/target/linux/brcm2708/patches-3.14/0024-Speed-up-console-framebuffer-imageblit-function.patch +++ b/target/linux/brcm2708/patches-3.14/0024-Speed-up-console-framebuffer-imageblit-function.patch @@ -32,8 +32,6 @@ Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com> drivers/video/cfbimgblt.c | 152 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 147 insertions(+), 5 deletions(-) -diff --git a/drivers/video/cfbimgblt.c b/drivers/video/cfbimgblt.c -index a2bb276..436494f 100644 --- a/drivers/video/cfbimgblt.c +++ b/drivers/video/cfbimgblt.c @@ -28,6 +28,11 @@ @@ -48,7 +46,7 @@ index a2bb276..436494f 100644 */ #include <linux/module.h> #include <linux/string.h> -@@ -262,6 +267,133 @@ static inline void fast_imageblit(const struct fb_image *image, struct fb_info * +@@ -262,6 +267,133 @@ static inline void fast_imageblit(const } } @@ -182,7 +180,7 @@ index a2bb276..436494f 100644 void cfb_imageblit(struct fb_info *p, const struct fb_image *image) { u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0; -@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, const struct fb_image *image) +@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, co bgcolor = image->bg_color; } @@ -209,6 +207,3 @@ index a2bb276..436494f 100644 slow_imageblit(image, p, dst1, fgcolor, bgcolor, start_index, pitch_index); } else --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0025-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/brcm2708/patches-3.14/0025-fbdev-add-FBIOCOPYAREA-ioctl.patch index 80c2d15670..69c3b12124 100644 --- a/target/linux/brcm2708/patches-3.14/0025-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/target/linux/brcm2708/patches-3.14/0025-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -15,11 +15,9 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> include/uapi/linux/fb.h | 5 +++++ 2 files changed, 35 insertions(+) -diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c -index 7309ac7..46984cc 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c -@@ -1083,6 +1083,25 @@ fb_blank(struct fb_info *info, int blank) +@@ -1083,6 +1083,25 @@ fb_blank(struct fb_info *info, int blank } EXPORT_SYMBOL(fb_blank); @@ -45,7 +43,7 @@ index 7309ac7..46984cc 100644 static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1093,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, +@@ -1093,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info * struct fb_cmap cmap_from; struct fb_cmap_user cmap; struct fb_event event; @@ -53,7 +51,7 @@ index 7309ac7..46984cc 100644 void __user *argp = (void __user *)arg; long ret = 0; -@@ -1210,6 +1230,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, +@@ -1210,6 +1230,15 @@ static long do_fb_ioctl(struct fb_info * unlock_fb_info(info); console_unlock(); break; @@ -69,7 +67,7 @@ index 7309ac7..46984cc 100644 default: if (!lock_fb_info(info)) return -ENODEV; -@@ -1364,6 +1393,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, +@@ -1364,6 +1393,7 @@ static long fb_compat_ioctl(struct file case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: @@ -77,8 +75,6 @@ index 7309ac7..46984cc 100644 arg = (unsigned long) compat_ptr(arg); case FBIOBLANK: ret = do_fb_ioctl(info, cmd, arg); -diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h -index fb795c3..fa72af0 100644 --- a/include/uapi/linux/fb.h +++ b/include/uapi/linux/fb.h @@ -34,6 +34,11 @@ @@ -93,6 +89,3 @@ index fb795c3..fa72af0 100644 #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ #define FB_TYPE_PLANES 1 /* Non interleaved planes */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0026-bcm2708_fb-DMA-acceleration-for-fb_copyarea.patch b/target/linux/brcm2708/patches-3.14/0026-bcm2708_fb-DMA-acceleration-for-fb_copyarea.patch index 412ffd6485..5707137ab1 100644 --- a/target/linux/brcm2708/patches-3.14/0026-bcm2708_fb-DMA-acceleration-for-fb_copyarea.patch +++ b/target/linux/brcm2708/patches-3.14/0026-bcm2708_fb-DMA-acceleration-for-fb_copyarea.patch @@ -43,11 +43,9 @@ Signed-off-by: Luke Diamand <luke@diamand.org> drivers/video/bcm2708_fb.c | 273 ++++++++++++++++++++++++++++++- 3 files changed, 278 insertions(+), 5 deletions(-) -diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c -index 51d147a..1da2413 100644 --- a/arch/arm/mach-bcm2708/dma.c +++ b/arch/arm/mach-bcm2708/dma.c -@@ -83,6 +83,14 @@ extern void bcm_dma_wait_idle(void __iomem *dma_chan_base) +@@ -83,6 +83,14 @@ extern void bcm_dma_wait_idle(void __iom EXPORT_SYMBOL_GPL(bcm_dma_start); @@ -62,8 +60,6 @@ index 51d147a..1da2413 100644 /* Complete an ongoing DMA (assuming its results are to be ignored) Does nothing if there is no DMA in progress. This routine waits for the current AXI transfer to complete before -diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h -index ac7a4a0..6d2f9a0 100644 --- a/arch/arm/mach-bcm2708/include/mach/dma.h +++ b/arch/arm/mach-bcm2708/include/mach/dma.h @@ -62,11 +62,13 @@ struct bcm2708_dma_cb { @@ -80,8 +76,6 @@ index ac7a4a0..6d2f9a0 100644 extern int /*rc*/ bcm_dma_abort(void __iomem *dma_chan_base); /* When listing features we can ask for when allocating DMA channels give -diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c -index 54cd760..798eb52 100644 --- a/drivers/video/bcm2708_fb.c +++ b/drivers/video/bcm2708_fb.c @@ -21,13 +21,16 @@ @@ -101,7 +95,7 @@ index 54cd760..798eb52 100644 #include <mach/platform.h> #include <mach/vcio.h> -@@ -51,6 +54,10 @@ static int fbheight = 480; /* module parameter */ +@@ -51,6 +54,10 @@ static int fbheight = 480; /* module par static int fbdepth = 16; /* module parameter */ static int fbswap = 0; /* module parameter */ @@ -186,7 +180,7 @@ index 54cd760..798eb52 100644 static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var) { int ret = 0; -@@ -322,11 +386,148 @@ static void bcm2708_fb_fillrect(struct fb_info *info, +@@ -322,11 +386,148 @@ static void bcm2708_fb_fillrect(struct f cfb_fillrect(info, rect); } @@ -337,7 +331,7 @@ index 54cd760..798eb52 100644 } static void bcm2708_fb_imageblit(struct fb_info *info, -@@ -336,6 +537,24 @@ static void bcm2708_fb_imageblit(struct fb_info *info, +@@ -336,6 +537,24 @@ static void bcm2708_fb_imageblit(struct cfb_imageblit(info, image); } @@ -362,7 +356,7 @@ index 54cd760..798eb52 100644 static struct fb_ops bcm2708_fb_ops = { .owner = THIS_MODULE, .fb_check_var = bcm2708_fb_check_var, -@@ -365,7 +584,7 @@ static int bcm2708_fb_register(struct bcm2708_fb *fb) +@@ -365,7 +584,7 @@ static int bcm2708_fb_register(struct bc fb->dma = dma; } fb->fb.fbops = &bcm2708_fb_ops; @@ -371,7 +365,7 @@ index 54cd760..798eb52 100644 fb->fb.pseudo_palette = fb->cmap; strncpy(fb->fb.fix.id, bcm2708_name, sizeof(fb->fb.fix.id)); -@@ -396,6 +615,7 @@ static int bcm2708_fb_register(struct bcm2708_fb *fb) +@@ -396,6 +615,7 @@ static int bcm2708_fb_register(struct bc fb->fb.monspecs.dclkmax = 100000000; bcm2708_fb_set_bitfields(&fb->fb.var); @@ -379,7 +373,7 @@ index 54cd760..798eb52 100644 /* * Allocate colourmap. -@@ -421,14 +641,45 @@ static int bcm2708_fb_probe(struct platform_device *dev) +@@ -421,14 +641,45 @@ static int bcm2708_fb_probe(struct platf struct bcm2708_fb *fb; int ret; @@ -427,7 +421,7 @@ index 54cd760..798eb52 100644 fb->dev = dev; -@@ -438,6 +689,11 @@ static int bcm2708_fb_probe(struct platform_device *dev) +@@ -438,6 +689,11 @@ static int bcm2708_fb_probe(struct platf goto out; } @@ -439,7 +433,7 @@ index 54cd760..798eb52 100644 kfree(fb); free_region: dev_err(&dev->dev, "probe failed, err %d\n", ret); -@@ -455,8 +711,15 @@ static int bcm2708_fb_remove(struct platform_device *dev) +@@ -455,8 +711,15 @@ static int bcm2708_fb_remove(struct plat iounmap(fb->fb.screen_base); unregister_framebuffer(&fb->fb); @@ -455,6 +449,3 @@ index 54cd760..798eb52 100644 kfree(fb); return 0; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch index dec8cdf0cd..e97afa3d5b 100644 --- a/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch +++ b/target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch @@ -10,8 +10,6 @@ Subject: [PATCH 27/54] config: Enable CONFIG_MEMCG, but leave it disabled (due mm/memcontrol.c | 1 + 3 files changed, 29 insertions(+) -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 78d789c..e89e430 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -18,6 +18,7 @@ CONFIG_CGROUP_FREEZER=y @@ -22,11 +20,9 @@ index 78d789c..e89e430 100644 CONFIG_BLK_CGROUP=y CONFIG_NAMESPACES=y CONFIG_SCHED_AUTOGROUP=y -diff --git a/kernel/cgroup.c b/kernel/cgroup.c -index 0c753dd..a18b46e 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c -@@ -5252,6 +5252,33 @@ static int __init cgroup_disable(char *str) +@@ -5251,6 +5251,33 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); @@ -60,11 +56,9 @@ index 0c753dd..a18b46e 100644 /** * css_from_dir - get corresponding css from the dentry of a cgroup dir * @dentry: directory dentry of interest -diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index 9b35da2..a9891cc 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c -@@ -7289,6 +7289,7 @@ struct cgroup_subsys mem_cgroup_subsys = { +@@ -7316,6 +7316,7 @@ struct cgroup_subsys mem_cgroup_subsys = .bind = mem_cgroup_bind, .base_cftypes = mem_cgroup_files, .early_init = 0, @@ -72,6 +66,3 @@ index 9b35da2..a9891cc 100644 }; #ifdef CONFIG_MEMCG_SWAP --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0028-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch b/target/linux/brcm2708/patches-3.14/0028-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch index 48b5c916d0..866b0edb60 100644 --- a/target/linux/brcm2708/patches-3.14/0028-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch +++ b/target/linux/brcm2708/patches-3.14/0028-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch @@ -283,8 +283,6 @@ incarnations. create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index be8a752..7cdab14 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -394,6 +394,7 @@ config ARCH_BCM2708 @@ -295,11 +293,9 @@ index be8a752..7cdab14 100644 help This enables support for Broadcom BCM2708 boards. -diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h -index 3b763d6..5770408 100644 --- a/arch/arm/include/asm/irqflags.h +++ b/arch/arm/include/asm/irqflags.h -@@ -145,12 +145,22 @@ static inline unsigned long arch_local_save_flags(void) +@@ -145,12 +145,22 @@ static inline unsigned long arch_local_s } /* @@ -325,8 +321,6 @@ index 3b763d6..5770408 100644 : : "r" (flags) : "memory", "cc"); -diff --git a/arch/arm/kernel/fiqasm.S b/arch/arm/kernel/fiqasm.S -index 207f9d6..5233d54 100644 --- a/arch/arm/kernel/fiqasm.S +++ b/arch/arm/kernel/fiqasm.S @@ -47,3 +47,7 @@ ENTRY(__get_fiq_regs) @@ -337,11 +331,9 @@ index 207f9d6..5233d54 100644 +ENTRY(__FIQ_Branch) + mov pc, r8 +ENDPROC(__FIQ_Branch) -diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c -index da18725..274aa30 100644 --- a/arch/arm/mach-bcm2708/armctrl.c +++ b/arch/arm/mach-bcm2708/armctrl.c -@@ -52,8 +52,12 @@ static void armctrl_mask_irq(struct irq_data *d) +@@ -52,8 +52,12 @@ static void armctrl_mask_irq(struct irq_ 0 }; @@ -356,7 +348,7 @@ index da18725..274aa30 100644 } static void armctrl_unmask_irq(struct irq_data *d) -@@ -65,8 +69,14 @@ static void armctrl_unmask_irq(struct irq_data *d) +@@ -65,8 +69,14 @@ static void armctrl_unmask_irq(struct ir 0 }; @@ -373,18 +365,16 @@ index da18725..274aa30 100644 } #if defined(CONFIG_PM) -@@ -204,5 +214,6 @@ int __init armctrl_init(void __iomem * base, unsigned int irq_start, +@@ -204,5 +214,6 @@ int __init armctrl_init(void __iomem * b } armctrl_pm_register(base, irq_start, resume_sources); + init_FIQ(FIQ_START); return 0; } -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index 221d145..47a66f8 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -321,12 +321,32 @@ static struct resource bcm2708_usb_resources[] = { +@@ -321,12 +321,32 @@ static struct resource bcm2708_usb_resou .flags = IORESOURCE_MEM, }, [1] = { @@ -431,8 +421,6 @@ index 221d145..47a66f8 100644 bcm_register_device(&bcm2708_usb_device); bcm_register_device(&bcm2708_uart1_device); bcm_register_device(&bcm2708_powerman_device); -diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h -index faf5d1a..4299054 100644 --- a/arch/arm/mach-bcm2708/include/mach/irqs.h +++ b/arch/arm/mach-bcm2708/include/mach/irqs.h @@ -106,89 +106,92 @@ @@ -604,8 +592,6 @@ index faf5d1a..4299054 100644 +#define NR_IRQS (HARD_IRQS+FIQ_IRQS+GPIO_IRQS+SPARE_IRQS) #endif /* _BCM2708_IRQS_H_ */ -diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -index f4bb733..992a630 100644 --- a/arch/arm/mach-bcm2708/include/mach/platform.h +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -56,7 +56,9 @@ @@ -618,11 +604,9 @@ index f4bb733..992a630 100644 #define DMA_BASE (BCM2708_PERI_BASE + 0x7000) /* DMA controller */ #define ARM_BASE (BCM2708_PERI_BASE + 0xB000) /* BCM2708 ARM control block */ #define PM_BASE (BCM2708_PERI_BASE + 0x100000) /* Power Management, Reset controller and Watchdog registers */ -diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c -index 440bcfc..6d01261 100644 --- a/drivers/usb/host/dwc_common_port/dwc_common_linux.c +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c -@@ -580,7 +580,13 @@ void DWC_WRITE_REG64(uint64_t volatile *reg, uint64_t value) +@@ -580,7 +580,13 @@ void DWC_WRITE_REG64(uint64_t volatile * void DWC_MODIFY_REG32(uint32_t volatile *reg, uint32_t clear_mask, uint32_t set_mask) { @@ -636,7 +620,7 @@ index 440bcfc..6d01261 100644 } #if 0 -@@ -991,6 +997,11 @@ void DWC_TASK_SCHEDULE(dwc_tasklet_t *task) +@@ -991,6 +997,11 @@ void DWC_TASK_SCHEDULE(dwc_tasklet_t *ta tasklet_schedule(&task->t); } @@ -648,8 +632,6 @@ index 440bcfc..6d01261 100644 /* workqueues - run in process context (can sleep) -diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h -index 89cc325..4ce560d 100644 --- a/drivers/usb/host/dwc_common_port/dwc_list.h +++ b/drivers/usb/host/dwc_common_port/dwc_list.h @@ -384,17 +384,17 @@ struct { \ @@ -677,11 +659,9 @@ index 89cc325..4ce560d 100644 /* * Tail queue functions. -diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h -index 9ffe929..09ed244 100644 --- a/drivers/usb/host/dwc_common_port/dwc_os.h +++ b/drivers/usb/host/dwc_common_port/dwc_os.h -@@ -981,6 +981,8 @@ extern void DWC_TASK_FREE(dwc_tasklet_t *task); +@@ -981,6 +981,8 @@ extern void DWC_TASK_FREE(dwc_tasklet_t extern void DWC_TASK_SCHEDULE(dwc_tasklet_t *task); #define dwc_task_schedule DWC_TASK_SCHEDULE @@ -690,11 +670,9 @@ index 9ffe929..09ed244 100644 /** @name Timer * -diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile -index 236c47c..a56f193 100644 --- a/drivers/usb/host/dwc_otg/Makefile +++ b/drivers/usb/host/dwc_otg/Makefile -@@ -36,6 +36,7 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o +@@ -36,6 +36,7 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_ci dwc_otg-objs += dwc_otg_pcd_linux.o dwc_otg_pcd.o dwc_otg_pcd_intr.o dwc_otg-objs += dwc_otg_hcd.o dwc_otg_hcd_linux.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o dwc_otg_hcd_ddma.o dwc_otg-objs += dwc_otg_adp.o @@ -702,11 +680,9 @@ index 236c47c..a56f193 100644 ifneq ($(CFI),) dwc_otg-objs += dwc_otg_cfi.o endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c -index fab2961..9da0c92 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_attr.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c -@@ -909,7 +909,7 @@ static ssize_t regdump_show(struct device *_dev, +@@ -909,7 +909,7 @@ static ssize_t regdump_show(struct devic return sprintf(buf, "Register Dump\n"); } @@ -715,7 +691,7 @@ index fab2961..9da0c92 100644 /** * Dump global registers and either host or device registers (depending on the -@@ -920,12 +920,12 @@ static ssize_t spramdump_show(struct device *_dev, +@@ -920,12 +920,12 @@ static ssize_t spramdump_show(struct dev { dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev); @@ -730,7 +706,7 @@ index fab2961..9da0c92 100644 /** * Dump the current hcd state. -@@ -940,7 +940,7 @@ static ssize_t hcddump_show(struct device *_dev, +@@ -940,7 +940,7 @@ static ssize_t hcddump_show(struct devic return sprintf(buf, "HCD Dump\n"); } @@ -739,7 +715,7 @@ index fab2961..9da0c92 100644 /** * Dump the average frame remaining at SOF. This can be used to -@@ -958,7 +958,7 @@ static ssize_t hcd_frrem_show(struct device *_dev, +@@ -958,7 +958,7 @@ static ssize_t hcd_frrem_show(struct dev return sprintf(buf, "HCD Dump Frame Remaining\n"); } @@ -748,7 +724,7 @@ index fab2961..9da0c92 100644 /** * Displays the time required to read the GNPTXFSIZ register many times (the -@@ -986,7 +986,7 @@ static ssize_t rd_reg_test_show(struct device *_dev, +@@ -986,7 +986,7 @@ static ssize_t rd_reg_test_show(struct d RW_REG_COUNT, time * MSEC_PER_JIFFIE, time); } @@ -757,7 +733,7 @@ index fab2961..9da0c92 100644 /** * Displays the time required to write the GNPTXFSIZ register many times (the -@@ -1014,7 +1014,7 @@ static ssize_t wr_reg_test_show(struct device *_dev, +@@ -1014,7 +1014,7 @@ static ssize_t wr_reg_test_show(struct d RW_REG_COUNT, time * MSEC_PER_JIFFIE, time); } @@ -766,8 +742,6 @@ index fab2961..9da0c92 100644 #ifdef CONFIG_USB_DWC_OTG_LPM -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c -index 59fc862..2f8b3bd 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c @@ -45,6 +45,7 @@ @@ -778,7 +752,7 @@ index 59fc862..2f8b3bd 100644 #ifdef DEBUG inline const char *op_state_str(dwc_otg_core_if_t * core_if) -@@ -1318,7 +1319,7 @@ static int32_t dwc_otg_handle_lpm_intr(dwc_otg_core_if_t * core_if) +@@ -1318,7 +1319,7 @@ static int32_t dwc_otg_handle_lpm_intr(d /** * This function returns the Core Interrupt register. */ @@ -787,7 +761,7 @@ index 59fc862..2f8b3bd 100644 { gahbcfg_data_t gahbcfg = {.d32 = 0 }; gintsts_data_t gintsts; -@@ -1335,26 +1336,45 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if) +@@ -1335,26 +1336,45 @@ static inline uint32_t dwc_otg_read_comm gintmsk_common.b.lpmtranrcvd = 1; #endif gintmsk_common.b.restoredone = 1; @@ -842,7 +816,7 @@ index 59fc862..2f8b3bd 100644 } -@@ -1386,6 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1386,6 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void { int retval = 0; gintsts_data_t gintsts; @@ -850,7 +824,7 @@ index 59fc862..2f8b3bd 100644 gpwrdn_data_t gpwrdn = {.d32 = 0 }; dwc_otg_device_t *otg_dev = dev; dwc_otg_core_if_t *core_if = otg_dev->core_if; -@@ -1407,7 +1428,7 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1407,7 +1428,7 @@ int32_t dwc_otg_handle_common_intr(void } if (core_if->hibernation_suspend <= 0) { @@ -859,7 +833,7 @@ index 59fc862..2f8b3bd 100644 if (gintsts.b.modemismatch) { retval |= dwc_otg_handle_mode_mismatch_intr(core_if); -@@ -1504,8 +1525,12 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1504,8 +1525,12 @@ int32_t dwc_otg_handle_common_intr(void gintsts.b.portintr = 1; DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32); retval |= 1; @@ -872,11 +846,9 @@ index 59fc862..2f8b3bd 100644 } else { DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32); -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h -index 8900318..ccc24e0 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h -@@ -49,6 +49,7 @@ static inline uint32_t SET_DEBUG_LEVEL(const uint32_t new) +@@ -49,6 +49,7 @@ static inline uint32_t SET_DEBUG_LEVEL(c return old; } @@ -884,8 +856,6 @@ index 8900318..ccc24e0 100644 /** When debug level has the DBG_CIL bit set, display CIL Debug messages. */ #define DBG_CIL (0x2) /** When debug level has the DBG_CILV bit set, display CIL Verbose debug -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c -index ac2c846..f06c3d22 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c @@ -64,6 +64,8 @@ bool microframe_schedule=true; @@ -897,7 +867,7 @@ index ac2c846..f06c3d22 100644 extern int pcd_init( #ifdef LM_INTERFACE struct lm_device *_dev -@@ -238,6 +240,14 @@ static struct dwc_otg_driver_module_params dwc_otg_module_params = { +@@ -238,6 +240,14 @@ static struct dwc_otg_driver_module_para .adp_enable = -1, }; @@ -951,7 +921,7 @@ index ac2c846..f06c3d22 100644 #else { struct map_desc desc = { -@@ -1044,6 +1070,12 @@ static int __init dwc_otg_driver_init(void) +@@ -1044,6 +1070,12 @@ static int __init dwc_otg_driver_init(vo int retval = 0; int error; struct device_driver *drv; @@ -964,7 +934,7 @@ index ac2c846..f06c3d22 100644 printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name, DWC_DRIVER_VERSION, #ifdef LM_INTERFACE -@@ -1063,6 +1095,9 @@ static int __init dwc_otg_driver_init(void) +@@ -1063,6 +1095,9 @@ static int __init dwc_otg_driver_init(vo printk(KERN_ERR "%s retval=%d\n", __func__, retval); return retval; } @@ -974,7 +944,7 @@ index ac2c846..f06c3d22 100644 error = driver_create_file(drv, &driver_attr_version); #ifdef DEBUG -@@ -1343,6 +1378,13 @@ MODULE_PARM_DESC(otg_ver, "OTG revision supported 0=OTG 1.3 1=OTG 2.0"); +@@ -1343,6 +1378,13 @@ MODULE_PARM_DESC(otg_ver, "OTG revision module_param(microframe_schedule, bool, 0444); MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler"); @@ -988,8 +958,6 @@ index ac2c846..f06c3d22 100644 /** @page "Module Parameters" * * The following parameters may be specified when starting the module. -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c -index ab935c0..22300f0 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -40,10 +40,14 @@ @@ -1008,7 +976,7 @@ index ab935c0..22300f0 100644 //#define DEBUG_HOST_CHANNELS #ifdef DEBUG_HOST_CHANNELS -@@ -53,6 +57,13 @@ static int last_sel_trans_num_avail_hc_at_start = 0; +@@ -53,6 +57,13 @@ static int last_sel_trans_num_avail_hc_a static int last_sel_trans_num_avail_hc_at_end = 0; #endif /* DEBUG_HOST_CHANNELS */ @@ -1022,7 +990,7 @@ index ab935c0..22300f0 100644 dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void) { return DWC_ALLOC(sizeof(dwc_otg_hcd_t)); -@@ -162,31 +173,43 @@ static void del_timers(dwc_otg_hcd_t * hcd) +@@ -162,31 +173,43 @@ static void del_timers(dwc_otg_hcd_t * h /** * Processes all the URBs in a single list of QHs. Completes them with @@ -1071,7 +1039,7 @@ index ab935c0..22300f0 100644 * and periodic schedules. The QTD associated with each URB is removed from * the schedule and freed. This function may be called when a disconnect is * detected or when the HCD is being stopped. -@@ -272,7 +295,8 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) +@@ -272,7 +295,8 @@ static int32_t dwc_otg_hcd_disconnect_cb */ dwc_otg_hcd->flags.b.port_connect_status_change = 1; dwc_otg_hcd->flags.b.port_connect_status = 0; @@ -1081,7 +1049,7 @@ index ab935c0..22300f0 100644 /* * Shutdown any transfers in process by clearing the Tx FIFO Empty * interrupt mask and status bits and disabling subsequent host -@@ -368,8 +392,22 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) +@@ -368,8 +392,22 @@ static int32_t dwc_otg_hcd_disconnect_cb channel->qh = NULL; } } @@ -1112,7 +1080,7 @@ index ab935c0..22300f0 100644 /** * HCD Callback function for Remote Wakeup. * -@@ -457,10 +496,12 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd, +@@ -457,10 +496,12 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_ dwc_otg_hcd_urb_t * dwc_otg_urb, void **ep_handle, int atomic_alloc) { @@ -1126,7 +1094,7 @@ index ab935c0..22300f0 100644 #ifdef DEBUG /* integrity checks (Broadcom) */ if (NULL == hcd->core_if) { -@@ -475,6 +516,16 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd, +@@ -475,6 +516,16 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_ return -DWC_E_NO_DEVICE; } @@ -1143,7 +1111,7 @@ index ab935c0..22300f0 100644 qtd = dwc_otg_hcd_qtd_create(dwc_otg_urb, atomic_alloc); if (qtd == NULL) { DWC_ERROR("DWC OTG HCD URB Enqueue failed creating QTD\n"); -@@ -490,32 +541,27 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd, +@@ -490,32 +541,27 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_ return -DWC_E_NO_MEMORY; } #endif @@ -1186,7 +1154,7 @@ index ab935c0..22300f0 100644 return retval; } -@@ -524,6 +570,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, +@@ -524,6 +570,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_ { dwc_otg_qh_t *qh; dwc_otg_qtd_t *urb_qtd; @@ -1195,7 +1163,7 @@ index ab935c0..22300f0 100644 #ifdef DEBUG /* integrity checks (Broadcom) */ -@@ -540,14 +588,17 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, +@@ -540,14 +588,17 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_ return -DWC_E_INVALID; } urb_qtd = dwc_otg_urb->qtd; @@ -1213,7 +1181,7 @@ index ab935c0..22300f0 100644 if (CHK_DEBUG_LEVEL(DBG_HCDV | DBG_HCD_URB)) { if (urb_qtd->in_process) { dump_channel_info(hcd, qh); -@@ -571,6 +622,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, +@@ -571,6 +622,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_ */ dwc_otg_hc_halt(hcd->core_if, qh->channel, DWC_OTG_HC_XFER_URB_DEQUEUE); @@ -1222,7 +1190,7 @@ index ab935c0..22300f0 100644 } } -@@ -687,6 +740,33 @@ static void reset_tasklet_func(void *data) +@@ -687,6 +740,33 @@ static void reset_tasklet_func(void *dat dwc_otg_hcd->flags.b.port_reset_change = 1; } @@ -1256,7 +1224,7 @@ index ab935c0..22300f0 100644 static void qh_list_free(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list) { dwc_list_link_t *item; -@@ -819,12 +899,14 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -819,12 +899,14 @@ static void dwc_otg_hcd_free(dwc_otg_hcd } else if (dwc_otg_hcd->status_buf != NULL) { DWC_FREE(dwc_otg_hcd->status_buf); } @@ -1271,7 +1239,7 @@ index ab935c0..22300f0 100644 #ifdef DWC_DEV_SRPCAP if (dwc_otg_hcd->core_if->power_down == 2 && -@@ -845,6 +927,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) +@@ -845,6 +927,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd dwc_hc_t *channel; hcd->lock = DWC_SPINLOCK_ALLOC(); @@ -1279,7 +1247,7 @@ index ab935c0..22300f0 100644 DWC_DEBUGPL(DBG_HCDV, "init of HCD %p given core_if %p\n", hcd, core_if); if (!hcd->lock) { -@@ -868,7 +951,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) +@@ -868,7 +951,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd DWC_LIST_INIT(&hcd->periodic_sched_ready); DWC_LIST_INIT(&hcd->periodic_sched_assigned); DWC_LIST_INIT(&hcd->periodic_sched_queued); @@ -1288,7 +1256,7 @@ index ab935c0..22300f0 100644 /* * Create a host channel descriptor for each host channel implemented * in the controller. Initialize the channel descriptor array. -@@ -906,6 +989,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) +@@ -906,6 +989,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd /* Initialize reset tasklet. */ hcd->reset_tasklet = DWC_TASK_ALLOC("reset_tasklet", reset_tasklet_func, hcd); @@ -1298,7 +1266,7 @@ index ab935c0..22300f0 100644 #ifdef DWC_DEV_SRPCAP if (hcd->core_if->power_down == 2) { /* Initialize Power on timer for Host power up in case hibernation */ -@@ -938,6 +1024,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) +@@ -938,6 +1024,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd hcd->frame_list = NULL; hcd->frame_list_dma = 0; hcd->periodic_qh_count = 0; @@ -1311,7 +1279,7 @@ index ab935c0..22300f0 100644 out: return retval; } -@@ -1083,7 +1175,12 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -1083,7 +1175,12 @@ static void assign_and_init_hc(dwc_otg_h uint32_t hub_addr, port_addr; hc->do_split = 1; hc->xact_pos = qtd->isoc_split_pos; @@ -1325,7 +1293,7 @@ index ab935c0..22300f0 100644 hcd->fops->hub_info(hcd, urb->priv, &hub_addr, &port_addr); hc->hub_addr = (uint8_t) hub_addr; hc->port_addr = (uint8_t) port_addr; -@@ -1230,6 +1327,65 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -1230,6 +1327,65 @@ static void assign_and_init_hc(dwc_otg_h hc->qh = qh; } @@ -1391,7 +1359,7 @@ index ab935c0..22300f0 100644 /** * This function selects transactions from the HCD transfer schedule and * assigns them to available host channels. It is called from HCD interrupt -@@ -1243,9 +1399,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1243,9 +1399,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s { dwc_list_link_t *qh_ptr; dwc_otg_qh_t *qh; @@ -1403,7 +1371,7 @@ index ab935c0..22300f0 100644 dwc_otg_transaction_type_e ret_val = DWC_OTG_TRANSACTION_NONE; #ifdef DEBUG_SOF -@@ -1263,11 +1420,29 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1263,11 +1420,29 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s while (qh_ptr != &hcd->periodic_sched_ready && !DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) { @@ -1433,7 +1401,7 @@ index ab935c0..22300f0 100644 break; } hcd->available_host_channels--; -@@ -1288,8 +1463,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1288,8 +1463,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_assigned, &qh->qh_list_entry); DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); @@ -1442,7 +1410,7 @@ index ab935c0..22300f0 100644 } /* -@@ -1304,6 +1477,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1304,6 +1477,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s num_channels - hcd->periodic_channels) && !DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) { @@ -1474,7 +1442,7 @@ index ab935c0..22300f0 100644 if (microframe_schedule) { DWC_SPINLOCK_IRQSAVE(channel_lock, &flags); if (hcd->available_host_channels < 1) { -@@ -1316,7 +1514,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1316,7 +1514,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s last_sel_trans_num_nonper_scheduled++; #endif /* DEBUG_HOST_CHANNELS */ } @@ -1482,7 +1450,7 @@ index ab935c0..22300f0 100644 assign_and_init_hc(hcd, qh); -@@ -1330,21 +1527,22 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1330,21 +1527,22 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s &qh->qh_list_entry); DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); @@ -1512,7 +1480,7 @@ index ab935c0..22300f0 100644 return ret_val; } -@@ -1458,6 +1656,15 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd) +@@ -1458,6 +1656,15 @@ static void process_periodic_channels(dw qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry); @@ -1528,7 +1496,7 @@ index ab935c0..22300f0 100644 /* * Set a flag if we're queuing high-bandwidth in slave mode. * The flag prevents any halts to get into the request queue in -@@ -1587,6 +1794,15 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd) +@@ -1587,6 +1794,15 @@ static void process_non_periodic_channel qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t, qh_list_entry); @@ -1544,7 +1512,7 @@ index ab935c0..22300f0 100644 status = queue_transaction(hcd, qh->channel, tx_status.b.nptxfspcavail); -@@ -3112,17 +3328,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc(dwc_otg_hcd_t * hcd, +@@ -3112,17 +3328,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc else dwc_otg_urb = DWC_ALLOC(size); @@ -1568,8 +1536,6 @@ index ab935c0..22300f0 100644 return dwc_otg_urb; } -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h -index bb4f67a..0007fa1 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -168,10 +168,10 @@ typedef enum dwc_otg_control_phase { @@ -1646,7 +1612,7 @@ index bb4f67a..0007fa1 100644 /** Frame List DMA address */ dma_addr_t frame_list_dma; -@@ -589,6 +612,10 @@ extern dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t +@@ -589,6 +612,10 @@ extern dwc_otg_transaction_type_e dwc_ot extern void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd, dwc_otg_transaction_type_e tr_type); @@ -1657,11 +1623,9 @@ index bb4f67a..0007fa1 100644 /** @} */ /** @name Interrupt Handler Functions */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c -index 274967b..ee920c4 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c -@@ -276,7 +276,7 @@ void dump_frame_list(dwc_otg_hcd_t * hcd) +@@ -276,7 +276,7 @@ void dump_frame_list(dwc_otg_hcd_t * hcd static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) { dwc_irqflags_t flags; @@ -1670,7 +1634,7 @@ index 274967b..ee920c4 100644 dwc_hc_t *hc = qh->channel; if (dwc_qh_is_non_per(qh)) { -@@ -306,7 +306,6 @@ static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -306,7 +306,6 @@ static void release_channel_ddma(dwc_otg dwc_memset(qh->desc_list, 0x00, sizeof(dwc_otg_host_dma_desc_t) * max_desc_num(qh)); } @@ -1678,11 +1642,9 @@ index 274967b..ee920c4 100644 } /** -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h -index 4823167..fb57db0 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h -@@ -113,6 +113,11 @@ extern void dwc_otg_hcd_remove(dwc_otg_hcd_t * hcd); +@@ -113,6 +113,11 @@ extern void dwc_otg_hcd_remove(dwc_otg_h */ extern int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd); @@ -1694,8 +1656,6 @@ index 4823167..fb57db0 100644 /** * Returns private data set by * dwc_otg_hcd_set_priv_data function. -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c -index b41e164..64d33a5 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c @@ -34,6 +34,12 @@ @@ -2210,7 +2170,7 @@ index b41e164..64d33a5 100644 /* Don't print debug message in the interrupt handler on SOF */ #ifndef DEBUG_SOF if (gintsts.d32 != DWC_SOF_INTR_MASK) -@@ -88,10 +543,16 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -88,10 +543,16 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_ "DWC OTG HCD Interrupt Detected gintsts&gintmsk=0x%08x core_if=%p\n", gintsts.d32, core_if); #endif @@ -2229,7 +2189,7 @@ index b41e164..64d33a5 100644 if (gintsts.b.rxstsqlvl) { retval |= dwc_otg_hcd_handle_rx_status_q_level_intr -@@ -106,7 +567,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -106,7 +567,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_ /** @todo Implement i2cintr handler. */ } if (gintsts.b.portintr) { @@ -2240,7 +2200,7 @@ index b41e164..64d33a5 100644 } if (gintsts.b.hcintr) { retval |= dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd); -@@ -138,11 +602,48 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -138,11 +602,48 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_ #endif } @@ -2289,7 +2249,7 @@ index b41e164..64d33a5 100644 #warning Compiling code to track missed SOFs #define FRAME_NUM_ARRAY_SIZE 1000 /** -@@ -188,7 +689,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd) +@@ -188,7 +689,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_ dwc_list_link_t *qh_entry; dwc_otg_qh_t *qh; dwc_otg_transaction_type_e tr_type; @@ -2299,7 +2259,7 @@ index b41e164..64d33a5 100644 hfnum.d32 = DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum); -@@ -212,17 +714,31 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd) +@@ -212,17 +714,31 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_ qh = DWC_LIST_ENTRY(qh_entry, dwc_otg_qh_t, qh_list_entry); qh_entry = qh_entry->next; if (dwc_frame_num_le(qh->sched_frame, hcd->frame_number)) { @@ -2331,7 +2291,7 @@ index b41e164..64d33a5 100644 } /* Clear interrupt */ -@@ -511,6 +1027,15 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -511,6 +1027,15 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o haint.d32 = dwc_otg_read_host_all_channels_intr(dwc_otg_hcd->core_if); @@ -2347,7 +2307,7 @@ index b41e164..64d33a5 100644 for (i = 0; i < dwc_otg_hcd->core_if->core_params->host_channels; i++) { if (haint.b2.chint & (1 << i)) { retval |= dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd, i); -@@ -551,7 +1076,10 @@ static uint32_t get_actual_xfer_length(dwc_hc_t * hc, +@@ -551,7 +1076,10 @@ static uint32_t get_actual_xfer_length(d *short_read = (hctsiz.b.xfersize != 0); } } else if (hc->qh->do_split) { @@ -2359,7 +2319,7 @@ index b41e164..64d33a5 100644 } else { length = hc->xfer_len; } -@@ -595,7 +1123,6 @@ static int update_urb_state_xfer_comp(dwc_hc_t * hc, +@@ -595,7 +1123,6 @@ static int update_urb_state_xfer_comp(dw DWC_OTG_HC_XFER_COMPLETE, &short_read); @@ -2367,7 +2327,7 @@ index b41e164..64d33a5 100644 /* non DWORD-aligned buffer case handling. */ if (hc->align_buff && xfer_length && hc->ep_is_in) { dwc_memcpy(urb->buf + urb->actual_length, hc->qh->dw_align_buf, -@@ -797,11 +1324,24 @@ static void release_channel(dwc_otg_hcd_t * hcd, +@@ -797,11 +1324,24 @@ static void release_channel(dwc_otg_hcd_ dwc_otg_transaction_type_e tr_type; int free_qtd; dwc_irqflags_t flags; @@ -2427,7 +2387,7 @@ index b41e164..64d33a5 100644 } /** -@@ -1295,6 +1852,17 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd, +@@ -1295,6 +1852,17 @@ static int32_t handle_hc_nak_intr(dwc_ot "NAK Received--\n", hc->hc_num); /* @@ -2445,7 +2405,7 @@ index b41e164..64d33a5 100644 * Handle NAK for IN/OUT SSPLIT/CSPLIT transfers, bulk, control, and * interrupt. Re-start the SSPLIT transfer. */ -@@ -1316,7 +1884,11 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd, +@@ -1316,7 +1884,11 @@ static int32_t handle_hc_nak_intr(dwc_ot * transfers in DMA mode for the sole purpose of * resetting the error count after a transaction error * occurs. The core will continue transferring data. @@ -2457,7 +2417,7 @@ index b41e164..64d33a5 100644 qtd->error_count = 0; goto handle_nak_done; } -@@ -1428,6 +2000,15 @@ static int32_t handle_hc_ack_intr(dwc_otg_hcd_t * hcd, +@@ -1428,6 +2000,15 @@ static int32_t handle_hc_ack_intr(dwc_ot halt_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_ACK); } } else { @@ -2473,7 +2433,7 @@ index b41e164..64d33a5 100644 qtd->error_count = 0; if (hc->qh->ping_state) { -@@ -1490,8 +2071,10 @@ static int32_t handle_hc_nyet_intr(dwc_otg_hcd_t * hcd, +@@ -1490,8 +2071,10 @@ static int32_t handle_hc_nyet_intr(dwc_o hc->ep_type == DWC_OTG_EP_TYPE_ISOC) { int frnum = dwc_otg_hcd_get_frame_number(hcd); @@ -2485,7 +2445,7 @@ index b41e164..64d33a5 100644 /* * No longer in the same full speed frame. * Treat this as a transaction error. -@@ -1778,13 +2361,28 @@ static int32_t handle_hc_datatglerr_intr(dwc_otg_hcd_t * hcd, +@@ -1778,13 +2361,28 @@ static int32_t handle_hc_datatglerr_intr dwc_otg_qtd_t * qtd) { DWC_DEBUGPL(DBG_HCDI, "--Host Channel %d Interrupt: " @@ -2519,7 +2479,7 @@ index b41e164..64d33a5 100644 } disable_hc_int(hc_regs, datatglerr); -@@ -1862,10 +2460,10 @@ static inline int halt_status_ok(dwc_otg_hcd_t * hcd, +@@ -1862,10 +2460,10 @@ static inline int halt_status_ok(dwc_otg static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, dwc_hc_t * hc, dwc_otg_hc_regs_t * hc_regs, @@ -2533,7 +2493,7 @@ index b41e164..64d33a5 100644 int out_nak_enh = 0; /* For core with OUT NAK enhancement, the flow for high- -@@ -1897,8 +2495,11 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, +@@ -1897,8 +2495,11 @@ static void handle_hc_chhltd_intr_dma(dw } /* Read the HCINTn register to determine the cause for the halt. */ @@ -2547,7 +2507,7 @@ index b41e164..64d33a5 100644 if (hcint.b.xfercomp) { /** @todo This is here because of a possible hardware bug. Spec -@@ -1937,6 +2538,8 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, +@@ -1937,6 +2538,8 @@ static void handle_hc_chhltd_intr_dma(dw handle_hc_babble_intr(hcd, hc, hc_regs, qtd); } else if (hcint.b.frmovrun) { handle_hc_frmovrun_intr(hcd, hc, hc_regs, qtd); @@ -2556,7 +2516,7 @@ index b41e164..64d33a5 100644 } else if (!out_nak_enh) { if (hcint.b.nyet) { /* -@@ -1986,12 +2589,24 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, +@@ -1986,12 +2589,24 @@ static void handle_hc_chhltd_intr_dma(dw DWC_READ_REG32(&hcd-> core_if->core_global_regs-> gintsts)); @@ -2581,7 +2541,7 @@ index b41e164..64d33a5 100644 } } -@@ -2009,13 +2624,15 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, +@@ -2009,13 +2624,15 @@ static void handle_hc_chhltd_intr_dma(dw static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd, dwc_hc_t * hc, dwc_otg_hc_regs_t * hc_regs, @@ -2599,7 +2559,7 @@ index b41e164..64d33a5 100644 } else { #ifdef DEBUG if (!halt_status_ok(hcd, hc, hc_regs, qtd)) { -@@ -2032,7 +2649,7 @@ static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd, +@@ -2032,7 +2649,7 @@ static int32_t handle_hc_chhltd_intr(dwc int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) { int retval = 0; @@ -2608,7 +2568,7 @@ index b41e164..64d33a5 100644 hcintmsk_data_t hcintmsk; dwc_hc_t *hc; dwc_otg_hc_regs_t *hc_regs; -@@ -2042,15 +2659,33 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) +@@ -2042,15 +2659,33 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc hc = dwc_otg_hcd->hc_ptr_array[num]; hc_regs = dwc_otg_hcd->core_if->host_if->hc_regs[num]; @@ -2642,7 +2602,7 @@ index b41e164..64d33a5 100644 if (!dwc_otg_hcd->core_if->dma_enable) { if (hcint.b.chhltd && hcint.d32 != 0x2) { hcint.b.chhltd = 0; -@@ -2068,7 +2703,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) +@@ -2068,7 +2703,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc hcint.b.nyet = 0; } if (hcint.b.chhltd) { @@ -2651,7 +2611,7 @@ index b41e164..64d33a5 100644 } if (hcint.b.ahberr) { retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd); -@@ -2080,7 +2715,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) +@@ -2080,7 +2715,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc retval |= handle_hc_nak_intr(dwc_otg_hcd, hc, hc_regs, qtd); } if (hcint.b.ack) { @@ -2661,14 +2621,12 @@ index b41e164..64d33a5 100644 } if (hcint.b.nyet) { retval |= handle_hc_nyet_intr(dwc_otg_hcd, hc, hc_regs, qtd); -@@ -2102,5 +2738,4 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) +@@ -2102,5 +2738,4 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc return retval; } - #endif /* DWC_DEVICE_ONLY */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c -index e4787f5..ee8eec9 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c @@ -1,3 +1,4 @@ @@ -2702,7 +2660,7 @@ index e4787f5..ee8eec9 100644 /** @name Linux HC Driver API Functions */ /** @{ */ /* manage i/o requests, device state */ -@@ -259,13 +265,15 @@ static void free_bus_bandwidth(struct usb_hcd *hcd, uint32_t bw, +@@ -259,13 +265,15 @@ static void free_bus_bandwidth(struct us /** * Sets the final status of an URB and returns it to the device driver. Any @@ -2720,7 +2678,7 @@ index e4787f5..ee8eec9 100644 if (CHK_DEBUG_LEVEL(DBG_HCDV | DBG_HCD_URB)) { DWC_PRINTF("%s: urb %p, device %d, ep %d %s, status=%d\n", __func__, urb, usb_pipedevice(urb->pipe), -@@ -279,7 +287,7 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle, +@@ -279,7 +287,7 @@ static int _complete(dwc_otg_hcd_t * hcd } } } @@ -2729,7 +2687,7 @@ index e4787f5..ee8eec9 100644 urb->actual_length = dwc_otg_hcd_urb_get_actual_length(dwc_otg_urb); /* Convert status value. */ switch (status) { -@@ -301,6 +309,9 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle, +@@ -301,6 +309,9 @@ static int _complete(dwc_otg_hcd_t * hcd case -DWC_E_OVERFLOW: status = -EOVERFLOW; break; @@ -2739,7 +2697,7 @@ index e4787f5..ee8eec9 100644 default: if (status) { DWC_PRINTF("Uknown urb status %d\n", status); -@@ -342,18 +353,33 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle, +@@ -342,18 +353,33 @@ static int _complete(dwc_otg_hcd_t * hcd } DWC_FREE(dwc_otg_urb); @@ -2780,7 +2738,7 @@ index e4787f5..ee8eec9 100644 return 0; } -@@ -366,6 +392,16 @@ static struct dwc_otg_hcd_function_ops hcd_fops = { +@@ -366,6 +392,16 @@ static struct dwc_otg_hcd_function_ops h .get_b_hnp_enable = _get_b_hnp_enable, }; @@ -2857,7 +2815,7 @@ index e4787f5..ee8eec9 100644 /* Initialize the DWC OTG HCD. */ dwc_otg_hcd = dwc_otg_hcd_alloc_hcd(); if (!dwc_otg_hcd) { -@@ -607,9 +682,7 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd, +@@ -607,9 +682,7 @@ static int dwc_otg_urb_enqueue(struct us #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28) struct usb_host_endpoint *ep = urb->ep; #endif @@ -2867,7 +2825,7 @@ index e4787f5..ee8eec9 100644 void **ref_ep_hcpriv = &ep->hcpriv; dwc_otg_hcd_t *dwc_otg_hcd = hcd_to_dwc_otg_hcd(hcd); dwc_otg_hcd_urb_t *dwc_otg_urb; -@@ -661,9 +734,8 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd, +@@ -661,9 +734,8 @@ static int dwc_otg_urb_enqueue(struct us if(dwc_otg_urb == NULL) return -ENOMEM; @@ -2879,7 +2837,7 @@ index e4787f5..ee8eec9 100644 dwc_otg_hcd_urb_set_pipeinfo(dwc_otg_urb, usb_pipedevice(urb->pipe), usb_pipeendpoint(urb->pipe), ep_type, -@@ -703,37 +775,42 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd, +@@ -703,37 +775,42 @@ static int dwc_otg_urb_enqueue(struct us iso_frame_desc[i].length); } @@ -2923,13 +2881,14 @@ index e4787f5..ee8eec9 100644 - DWC_SPINLOCK_IRQSAVE(dwc_otg_hcd->lock, &irqflags); - usb_hcd_unlink_urb_from_ep(hcd, urb); - DWC_SPINUNLOCK_IRQRESTORE(dwc_otg_hcd->lock, irqflags); -+ usb_hcd_unlink_urb_from_ep(hcd, urb); - #endif +-#endif - if (retval == -DWC_E_NO_DEVICE) { - retval = -ENODEV; - } - } - } ++ usb_hcd_unlink_urb_from_ep(hcd, urb); ++#endif + DWC_FREE(dwc_otg_urb); + urb->hcpriv = NULL; + if (retval == -DWC_E_NO_DEVICE) @@ -2947,7 +2906,7 @@ index e4787f5..ee8eec9 100644 return retval; } -@@ -777,6 +854,8 @@ static int dwc_otg_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) +@@ -777,6 +854,8 @@ static int dwc_otg_urb_dequeue(struct us usb_hcd_unlink_urb_from_ep(hcd, urb); #endif DWC_SPINUNLOCK_IRQRESTORE(dwc_otg_hcd->lock, flags); @@ -2956,8 +2915,6 @@ index e4787f5..ee8eec9 100644 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) usb_hcd_giveback_urb(hcd, urb); #else -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c -index 9761566..db95851 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c @@ -41,6 +41,7 @@ @@ -2968,7 +2925,7 @@ index 9761566..db95851 100644 extern bool microframe_schedule; -@@ -181,6 +182,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, dwc_otg_hcd_urb_t * urb) +@@ -181,6 +182,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_ot if (microframe_schedule) qh->speed = dev_speed; @@ -2976,7 +2933,7 @@ index 9761566..db95851 100644 if (((dev_speed == USB_SPEED_LOW) || (dev_speed == USB_SPEED_FULL)) && -@@ -190,6 +192,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, dwc_otg_hcd_urb_t * urb) +@@ -190,6 +192,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_ot dwc_otg_hcd_get_ep_num(&urb->pipe_info), hub_addr, hub_port); qh->do_split = 1; @@ -2984,7 +2941,7 @@ index 9761566..db95851 100644 } if (qh->ep_type == UE_INTERRUPT || qh->ep_type == UE_ISOCHRONOUS) { -@@ -572,6 +575,9 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -572,6 +575,9 @@ static int check_max_xfer_size(dwc_otg_h return status; } @@ -2994,7 +2951,7 @@ index 9761566..db95851 100644 /** * Schedules an interrupt or isochronous transfer in the periodic schedule. * -@@ -630,8 +636,13 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -630,8 +636,13 @@ static int schedule_periodic(dwc_otg_hcd DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry); } else { @@ -3010,7 +2967,7 @@ index 9761566..db95851 100644 } if (!microframe_schedule) { -@@ -645,6 +656,7 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -645,6 +656,7 @@ static int schedule_periodic(dwc_otg_hcd return status; } @@ -3018,7 +2975,7 @@ index 9761566..db95851 100644 /** * This function adds a QH to either the non periodic or periodic schedule if * it is not already in the schedule. If the QH is already in the schedule, no -@@ -667,6 +679,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -667,6 +679,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h /* Always start in the inactive schedule. */ DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive, &qh->qh_list_entry); @@ -3026,7 +2983,7 @@ index 9761566..db95851 100644 } else { status = schedule_periodic(hcd, qh); if ( !hcd->periodic_qh_count ) { -@@ -726,6 +739,9 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -726,6 +739,9 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t hcd->non_periodic_qh_ptr->next; } DWC_LIST_REMOVE_INIT(&qh->qh_list_entry); @@ -3036,7 +2993,7 @@ index 9761566..db95851 100644 } else { deschedule_periodic(hcd, qh); hcd->periodic_qh_count--; -@@ -754,6 +770,24 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, +@@ -754,6 +770,24 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h int sched_next_periodic_split) { if (dwc_qh_is_non_per(qh)) { @@ -3061,7 +3018,7 @@ index 9761566..db95851 100644 dwc_otg_hcd_qh_remove(hcd, qh); if (!DWC_CIRCLEQ_EMPTY(&qh->qtd_list)) { /* Add back to inactive non-periodic schedule. */ -@@ -767,6 +801,7 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, +@@ -767,6 +801,7 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h if (sched_next_periodic_split) { qh->sched_frame = frame_number; @@ -3069,7 +3026,7 @@ index 9761566..db95851 100644 if (dwc_frame_num_le(frame_number, dwc_frame_num_inc (qh->start_split_frame, -@@ -815,6 +850,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, +@@ -815,6 +850,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready, &qh->qh_list_entry); } else { @@ -3081,7 +3038,7 @@ index 9761566..db95851 100644 DWC_LIST_MOVE_HEAD (&hcd->periodic_sched_inactive, &qh->qh_list_entry); -@@ -879,6 +919,7 @@ void dwc_otg_hcd_qtd_init(dwc_otg_qtd_t * qtd, dwc_otg_hcd_urb_t * urb) +@@ -879,6 +919,7 @@ void dwc_otg_hcd_qtd_init(dwc_otg_qtd_t * QH to place the QTD into. If it does not find a QH, then it will create a * new QH. If the QH to which the QTD is added is not currently scheduled, it * is placed into the proper schedule based on its EP type. @@ -3089,7 +3046,7 @@ index 9761566..db95851 100644 * * @param[in] qtd The QTD to add * @param[in] hcd The DWC HCD structure -@@ -891,8 +932,6 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd, +@@ -891,8 +932,6 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * dwc_otg_hcd_t * hcd, dwc_otg_qh_t ** qh, int atomic_alloc) { int retval = 0; @@ -3098,7 +3055,7 @@ index 9761566..db95851 100644 dwc_otg_hcd_urb_t *urb = qtd->urb; /* -@@ -902,18 +941,16 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd, +@@ -902,18 +941,16 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * if (*qh == NULL) { *qh = dwc_otg_hcd_qh_create(hcd, urb, atomic_alloc); if (*qh == NULL) { @@ -3119,9 +3076,6 @@ index 9761566..db95851 100644 done: return retval; -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c -new file mode 100755 -index 0000000..50b94a8 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c @@ -0,0 +1,113 @@ @@ -3238,9 +3192,6 @@ index 0000000..50b94a8 + + return; +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h -new file mode 100755 -index 0000000..ca17379 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h @@ -0,0 +1,48 @@ @@ -3292,8 +3243,6 @@ index 0000000..ca17379 +extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable; + +#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h -index e46d9bb..6b2c7d0 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h @@ -97,6 +97,9 @@ typedef struct os_dependent { @@ -3306,8 +3255,6 @@ index e46d9bb..6b2c7d0 100644 #ifdef LM_INTERFACE struct lm_device *lmdev; #elif defined(PCI_INTERFACE) -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c -index 1b1f83c..c8590b5 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c @@ -4276,7 +4276,7 @@ do { \ @@ -3319,6 +3266,3 @@ index 1b1f83c..c8590b5 100644 out_desc_addr->status.d32; if (status.b.sr) { --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0029-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch b/target/linux/brcm2708/patches-3.14/0029-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch index f2f12c4d34..eeed3cfc3d 100644 --- a/target/linux/brcm2708/patches-3.14/0029-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch +++ b/target/linux/brcm2708/patches-3.14/0029-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch @@ -121,11 +121,9 @@ fiq_fsm: Enable by default delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index 47a66f8..89d0824 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -330,22 +330,13 @@ static struct resource bcm2708_usb_resources[] = { +@@ -330,22 +330,13 @@ static struct resource bcm2708_usb_resou .end = IRQ_HOSTPORT, .flags = IORESOURCE_IRQ, }, @@ -165,11 +163,9 @@ index 47a66f8..89d0824 100644 bcm_register_device(&bcm2708_usb_device); bcm_register_device(&bcm2708_uart1_device); bcm_register_device(&bcm2708_powerman_device); -diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile -index a56f193..e7bdd12 100644 --- a/drivers/usb/host/dwc_otg/Makefile +++ b/drivers/usb/host/dwc_otg/Makefile -@@ -36,7 +36,8 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o +@@ -36,7 +36,8 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_ci dwc_otg-objs += dwc_otg_pcd_linux.o dwc_otg_pcd.o dwc_otg_pcd_intr.o dwc_otg-objs += dwc_otg_hcd.o dwc_otg_hcd_linux.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o dwc_otg_hcd_ddma.o dwc_otg-objs += dwc_otg_adp.o @@ -179,8 +175,6 @@ index a56f193..e7bdd12 100644 ifneq ($(CFI),) dwc_otg-objs += dwc_otg_cfi.o endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c -index 2f8b3bd..065807f 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c @@ -45,7 +45,6 @@ @@ -191,7 +185,7 @@ index 2f8b3bd..065807f 100644 #ifdef DEBUG inline const char *op_state_str(dwc_otg_core_if_t * core_if) -@@ -1319,7 +1318,7 @@ static int32_t dwc_otg_handle_lpm_intr(dwc_otg_core_if_t * core_if) +@@ -1319,7 +1318,7 @@ static int32_t dwc_otg_handle_lpm_intr(d /** * This function returns the Core Interrupt register. */ @@ -200,7 +194,7 @@ index 2f8b3bd..065807f 100644 { gahbcfg_data_t gahbcfg = {.d32 = 0 }; gintsts_data_t gintsts; -@@ -1345,16 +1344,15 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin +@@ -1345,16 +1344,15 @@ static inline uint32_t dwc_otg_read_comm } gintsts.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintsts); gintmsk.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintmsk); @@ -225,7 +219,7 @@ index 2f8b3bd..065807f 100644 } gahbcfg.d32 = DWC_READ_REG32(&core_if->core_global_regs->gahbcfg); -@@ -1366,13 +1364,15 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin +@@ -1366,13 +1364,15 @@ static inline uint32_t dwc_otg_read_comm gintsts.d32, gintmsk.d32); } #endif @@ -244,7 +238,7 @@ index 2f8b3bd..065807f 100644 return ((gintsts.d32 & gintmsk.d32) & gintmsk_common.d32); } -@@ -1406,7 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1406,7 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void { int retval = 0; gintsts_data_t gintsts; @@ -253,7 +247,7 @@ index 2f8b3bd..065807f 100644 gpwrdn_data_t gpwrdn = {.d32 = 0 }; dwc_otg_device_t *otg_dev = dev; dwc_otg_core_if_t *core_if = otg_dev->core_if; -@@ -1428,7 +1428,10 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1428,7 +1428,10 @@ int32_t dwc_otg_handle_common_intr(void } if (core_if->hibernation_suspend <= 0) { @@ -265,7 +259,7 @@ index 2f8b3bd..065807f 100644 if (gintsts.b.modemismatch) { retval |= dwc_otg_handle_mode_mismatch_intr(core_if); -@@ -1525,11 +1528,16 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1525,11 +1528,16 @@ int32_t dwc_otg_handle_common_intr(void gintsts.b.portintr = 1; DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32); retval |= 1; @@ -285,15 +279,13 @@ index 2f8b3bd..065807f 100644 } else { DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32); -@@ -1583,6 +1591,5 @@ int32_t dwc_otg_handle_common_intr(void *dev) +@@ -1583,6 +1591,5 @@ int32_t dwc_otg_handle_common_intr(void } if (core_if->lock) DWC_SPINUNLOCK(core_if->lock); - return retval; } -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c -index f06c3d22..dc7cd32 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c @@ -56,6 +56,7 @@ @@ -312,7 +304,7 @@ index f06c3d22..dc7cd32 100644 extern int pcd_init( #ifdef LM_INTERFACE -@@ -240,13 +240,14 @@ static struct dwc_otg_driver_module_params dwc_otg_module_params = { +@@ -240,13 +240,14 @@ static struct dwc_otg_driver_module_para .adp_enable = -1, }; @@ -361,7 +353,7 @@ index f06c3d22..dc7cd32 100644 #endif DWC_DEBUGPL(DBG_CIL, "registering (common) handler for irq%d\n", devirq); -@@ -1071,9 +1071,9 @@ static int __init dwc_otg_driver_init(void) +@@ -1071,9 +1071,9 @@ static int __init dwc_otg_driver_init(vo int error; struct device_driver *drv; @@ -374,7 +366,7 @@ index f06c3d22..dc7cd32 100644 } printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name, -@@ -1095,9 +1095,9 @@ static int __init dwc_otg_driver_init(void) +@@ -1095,9 +1095,9 @@ static int __init dwc_otg_driver_init(vo printk(KERN_ERR "%s retval=%d\n", __func__, retval); return retval; } @@ -387,7 +379,7 @@ index f06c3d22..dc7cd32 100644 error = driver_create_file(drv, &driver_attr_version); #ifdef DEBUG -@@ -1378,12 +1378,19 @@ MODULE_PARM_DESC(otg_ver, "OTG revision supported 0=OTG 1.3 1=OTG 2.0"); +@@ -1378,12 +1378,19 @@ MODULE_PARM_DESC(otg_ver, "OTG revision module_param(microframe_schedule, bool, 0444); MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler"); @@ -413,9 +405,6 @@ index f06c3d22..dc7cd32 100644 /** @page "Module Parameters" * -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c -new file mode 100644 -index 0000000..7aad7f7 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c @@ -0,0 +1,1290 @@ @@ -1709,9 +1698,6 @@ index 0000000..7aad7f7 + state->fiq_done++; + mb(); +} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h -new file mode 100644 -index 0000000..7572958 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h @@ -0,0 +1,353 @@ @@ -2068,9 +2054,6 @@ index 0000000..7572958 +extern void dwc_otg_fiq_nop(struct fiq_state *state); + +#endif /* DWC_OTG_FIQ_FSM_H_ */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S -new file mode 100644 -index 0000000..8cfe364 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S @@ -0,0 +1,81 @@ @@ -2155,8 +2138,6 @@ index 0000000..8cfe364 +_dwc_otg_fiq_stub_end: +END(_dwc_otg_fiq_stub) + -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c -index 22300f0..daea770 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -45,9 +45,10 @@ @@ -2172,7 +2153,7 @@ index 22300f0..daea770 100644 //#define DEBUG_HOST_CHANNELS #ifdef DEBUG_HOST_CHANNELS -@@ -57,12 +58,6 @@ static int last_sel_trans_num_avail_hc_at_start = 0; +@@ -57,12 +58,6 @@ static int last_sel_trans_num_avail_hc_a static int last_sel_trans_num_avail_hc_at_end = 0; #endif /* DEBUG_HOST_CHANNELS */ @@ -2185,7 +2166,7 @@ index 22300f0..daea770 100644 dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void) { -@@ -295,7 +290,7 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) +@@ -295,7 +290,7 @@ static int32_t dwc_otg_hcd_disconnect_cb */ dwc_otg_hcd->flags.b.port_connect_status_change = 1; dwc_otg_hcd->flags.b.port_connect_status = 0; @@ -2194,7 +2175,7 @@ index 22300f0..daea770 100644 local_fiq_disable(); /* * Shutdown any transfers in process by clearing the Tx FIFO Empty -@@ -392,20 +387,15 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p) +@@ -392,20 +387,15 @@ static int32_t dwc_otg_hcd_disconnect_cb channel->qh = NULL; } } @@ -2217,7 +2198,7 @@ index 22300f0..daea770 100644 local_fiq_enable(); if (dwc_otg_hcd->fops->disconnect) { -@@ -542,7 +532,7 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd, +@@ -542,7 +532,7 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_ } #endif intr_mask.d32 = DWC_READ_REG32(&hcd->core_if->core_global_regs->gintmsk); @@ -2226,7 +2207,7 @@ index 22300f0..daea770 100644 if((((dwc_otg_qh_t *)ep_handle)->ep_type == UE_BULK) && !(qtd->urb->flags & URB_GIVEBACK_ASAP)) /* Do not schedule SG transactions until qtd has URB_GIVEBACK_ASAP set */ needs_scheduling = 0; -@@ -613,6 +603,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, +@@ -613,6 +603,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_ if (urb_qtd->in_process && qh->channel) { /* The QTD is in process (it has been assigned to a channel). */ if (hcd->flags.b.port_connect_status) { @@ -2234,7 +2215,7 @@ index 22300f0..daea770 100644 /* * If still connected (i.e. in host mode), halt the * channel so it can be used for other transfers. If -@@ -620,10 +611,16 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd, +@@ -620,10 +611,16 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_ * written to halt the channel since the core is in * device mode. */ @@ -2255,7 +2236,7 @@ index 22300f0..daea770 100644 } } -@@ -759,7 +756,6 @@ static void completion_tasklet_func(void *ptr) +@@ -759,7 +756,6 @@ static void completion_tasklet_func(void usb_hcd_giveback_urb(hcd->priv, urb, urb->status); @@ -2298,7 +2279,7 @@ index 22300f0..daea770 100644 /** * Frees secondary storage associated with the dwc_otg_hcd structure contained * in the struct usb_hcd field. -@@ -907,6 +931,7 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -907,6 +931,7 @@ static void dwc_otg_hcd_free(dwc_otg_hcd DWC_TIMER_FREE(dwc_otg_hcd->conn_timer); DWC_TASK_FREE(dwc_otg_hcd->reset_tasklet); DWC_TASK_FREE(dwc_otg_hcd->completion_tasklet); @@ -2306,7 +2287,7 @@ index 22300f0..daea770 100644 #ifdef DWC_DEV_SRPCAP if (dwc_otg_hcd->core_if->power_down == 2 && -@@ -979,6 +1004,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) +@@ -979,6 +1004,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd channel); } @@ -2366,7 +2347,7 @@ index 22300f0..daea770 100644 /* Initialize the Connection timeout timer. */ hcd->conn_timer = DWC_TIMER_ALLOC("Connection timer", dwc_otg_hcd_connect_timeout, 0); -@@ -1176,7 +1254,8 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -1176,7 +1254,8 @@ static void assign_and_init_hc(dwc_otg_h hc->do_split = 1; hc->xact_pos = qtd->isoc_split_pos; /* We don't need to do complete splits anymore */ @@ -2376,7 +2357,7 @@ index 22300f0..daea770 100644 hc->complete_split = qtd->complete_split = 0; else hc->complete_split = qtd->complete_split; -@@ -1327,62 +1406,487 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -1327,62 +1406,487 @@ static void assign_and_init_hc(dwc_otg_h hc->qh = qh; } @@ -2430,7 +2411,9 @@ index 22300f0..daea770 100644 + int nr_iso_frames = urb->packet_count; + int i; + uint32_t ptr; -+ + +- if(!fiq_split_enable) +- return 0; + if (nr_iso_frames < 2) + return 0; + for (i = 0; i < nr_iso_frames; i++) { @@ -2448,8 +2431,7 @@ index 22300f0..daea770 100644 + return 0; +} -- if(!fiq_split_enable) -- return 0; +- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr); +/** + * fiq_fsm_setup_periodic_dma() - Set up DMA bounce buffers + * @hcd: Pointer to the dwc_otg_hcd struct @@ -2495,24 +2477,23 @@ index 22300f0..daea770 100644 + } else { + if (qh->ep_type == UE_ISOCHRONOUS) { -- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr); -+ dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list); - - if(hcd->hub_port[hub_addr] & (1 << port_addr)) - { - fiq_print(FIQDBG_PORTHUB, "H%dP%d:S%02d", hub_addr, port_addr, qh->skip_count); -+ frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index]; -+ frame_length = frame_desc->length; ++ dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list); - qh->skip_count++; -+ /* Virtual address for bounce buffers */ -+ blob = hcd->fiq_dmab; ++ frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index]; ++ frame_length = frame_desc->length; - if(qh->skip_count > 40000) - { - printk_once(KERN_ERR "Error: Having to skip port allocation"); - local_fiq_disable(); - BUG(); ++ /* Virtual address for bounce buffers */ ++ blob = hcd->fiq_dmab; ++ + ptr = qtd->urb->buf + frame_desc->offset; + if (frame_length == 0) { + /* @@ -2707,7 +2688,8 @@ index 22300f0..daea770 100644 + if (st->fsm != FIQ_PASSTHROUGH) + return 0; + st->nr_errors = 0; -+ + +- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr); + st->hcchar_copy.d32 = 0; + st->hcchar_copy.b.mps = hc->max_packet; + st->hcchar_copy.b.epdir = hc->ep_is_in; @@ -2726,7 +2708,12 @@ index 22300f0..daea770 100644 + } + st->hcchar_copy.b.lspddev = (hc->speed == DWC_OTG_EP_SPEED_LOW) ? 1 : 0; + /* Enable the channel later as a final register write. */ -+ + +- hcd->hub_port[hub_addr] &= ~(1 << port_addr); +-#ifdef FIQ_DEBUG +- hcd->hub_port_alloc[hub_addr * 16 + port_addr] = -1; +-#endif +- fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num); + st->hcsplt_copy.d32 = 0; + if(qh->do_split) { + hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr); @@ -2748,26 +2735,20 @@ index 22300f0..daea770 100644 + st->hub_addr = hub_addr; + st->port_addr = port_addr; + } - -- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr); ++ + st->hctsiz_copy.d32 = 0; + st->hctsiz_copy.b.dopng = 0; + st->hctsiz_copy.b.pid = hc->data_pid_start; - -- hcd->hub_port[hub_addr] &= ~(1 << port_addr); --#ifdef FIQ_DEBUG -- hcd->hub_port_alloc[hub_addr * 16 + port_addr] = -1; --#endif -- fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num); ++ + if (hc->ep_is_in || (hc->xfer_len > hc->max_packet)) { + hc->xfer_len = hc->max_packet; + } else if (!hc->ep_is_in && (hc->xfer_len > 188)) { + hc->xfer_len = 188; + } + st->hctsiz_copy.b.xfersize = hc->xfer_len; -+ -+ st->hctsiz_copy.b.pktcnt = 1; ++ st->hctsiz_copy.b.pktcnt = 1; ++ + if (hc->ep_type & 0x1) { + /* + * For potentially multi-packet transfers, must use the DMA bounce buffers. For IN transfers, @@ -2903,7 +2884,7 @@ index 22300f0..daea770 100644 } -@@ -1399,16 +1903,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1399,16 +1903,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s { dwc_list_link_t *qh_ptr; dwc_otg_qh_t *qh; @@ -2920,7 +2901,7 @@ index 22300f0..daea770 100644 #ifdef DEBUG_HOST_CHANNELS last_sel_trans_num_per_scheduled = 0; last_sel_trans_num_nonper_scheduled = 0; -@@ -1423,26 +1922,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1423,26 +1922,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry); @@ -2947,7 +2928,7 @@ index 22300f0..daea770 100644 break; } hcd->available_host_channels--; -@@ -1478,27 +1962,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1478,27 +1962,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s !DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) { qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry); @@ -2988,7 +2969,7 @@ index 22300f0..daea770 100644 } } -@@ -1527,12 +2008,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd) +@@ -1527,12 +2008,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s &qh->qh_list_entry); DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags); @@ -3022,7 +3003,7 @@ index 22300f0..daea770 100644 if(!DWC_LIST_EMPTY(&hcd->periodic_sched_assigned)) ret_val |= DWC_OTG_TRANSACTION_PERIODIC; -@@ -1577,6 +2077,12 @@ static int queue_transaction(dwc_otg_hcd_t * hcd, +@@ -1577,6 +2077,12 @@ static int queue_transaction(dwc_otg_hcd hc->qh->ping_state = 0; } } else if (!hc->xfer_started) { @@ -3035,7 +3016,7 @@ index 22300f0..daea770 100644 dwc_otg_hc_start_transfer(hcd->core_if, hc); hc->qh->ping_state = 0; } -@@ -1629,7 +2135,7 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd) +@@ -1629,7 +2135,7 @@ static void process_periodic_channels(dw hptxsts_data_t tx_status; dwc_list_link_t *qh_ptr; dwc_otg_qh_t *qh; @@ -3044,7 +3025,7 @@ index 22300f0..daea770 100644 int no_queue_space = 0; int no_fifo_space = 0; -@@ -1658,27 +2164,34 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd) +@@ -1658,27 +2164,34 @@ static void process_periodic_channels(dw // Do not send a split start transaction any later than frame .6 // Note, we have to schedule a periodic in .5 to make it go in .6 @@ -3095,7 +3076,7 @@ index 22300f0..daea770 100644 } /* -@@ -1795,25 +2308,19 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd) +@@ -1795,25 +2308,19 @@ static void process_non_periodic_channel qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t, qh_list_entry); @@ -3132,8 +3113,6 @@ index 22300f0..daea770 100644 /* Advance to next QH, skipping start-of-list entry. */ hcd->non_periodic_qh_ptr = hcd->non_periodic_qh_ptr->next; if (hcd->non_periodic_qh_ptr == &hcd->non_periodic_sched_active) { -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h -index 0007fa1..da2986244 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -40,6 +40,8 @@ @@ -3158,7 +3137,7 @@ index 0007fa1..da2986244 100644 #ifdef DEBUG uint32_t frrem_samples; uint64_t frrem_accum; -@@ -615,6 +623,9 @@ extern void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd, +@@ -615,6 +623,9 @@ extern void dwc_otg_hcd_queue_transactio int dwc_otg_hcd_allocate_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh); void dwc_otg_hcd_release_port(dwc_otg_hcd_t * dwc_otg_hcd, dwc_otg_qh_t *qh); @@ -3168,8 +3147,6 @@ index 0007fa1..da2986244 100644 /** @} */ -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c -index 64d33a5..d3e2035 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c @@ -34,7 +34,6 @@ @@ -3214,7 +3191,7 @@ index 64d33a5..d3e2035 100644 #ifdef FIQ_DEBUG char buffer[1000*16]; int wptr; -@@ -83,12 +57,10 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...) +@@ -83,12 +57,10 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl va_list args; char text[17]; hfnum_data_t hfnum = { .d32 = FIQ_READ(dwc_regs_base + 0x408) }; @@ -3228,7 +3205,7 @@ index 64d33a5..d3e2035 100644 snprintf(text, 9, "%4d%d:%d ", hfnum.b.frnum/8, hfnum.b.frnum%8, 8 - hfnum.b.frrem/937); va_start(args, fmt); vsnprintf(text+8, 9, fmt, args); -@@ -96,410 +68,21 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...) +@@ -96,410 +68,21 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl memcpy(buffer + wptr, text, 16); wptr = (wptr + 16) % sizeof(buffer); @@ -3641,7 +3618,7 @@ index 64d33a5..d3e2035 100644 #ifdef DEBUG dwc_otg_core_global_regs_t *global_regs = core_if->core_global_regs; -@@ -516,15 +99,29 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -516,15 +99,29 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_ DWC_SPINLOCK(dwc_otg_hcd->lock); /* Check if HOST Mode */ if (dwc_otg_is_host_mode(core_if)) { @@ -3677,7 +3654,7 @@ index 64d33a5..d3e2035 100644 #ifdef DEBUG // We should be OK doing this because the common interrupts should already have been serviced -@@ -544,12 +141,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -544,12 +141,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_ gintsts.d32, core_if); #endif hfnum.d32 = DWC_READ_REG32(&dwc_otg_hcd->core_if->host_if->host_global_regs->hfnum); @@ -3691,7 +3668,7 @@ index 64d33a5..d3e2035 100644 retval |= dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd); } -@@ -604,37 +196,43 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -604,37 +196,43 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_ } exit_handler_routine: @@ -3716,12 +3693,17 @@ index 64d33a5..d3e2035 100644 - mphi_int_count = 0; - } - int_done++; +- } +- +- // Unmask handled interrupts +- FIQ_WRITE(dwc_regs_base + 0x18, gintmsk.d32); +- //DWC_MODIFY_REG32((uint32_t *)IO_ADDRESS(USB_BASE + 0x8), 0 , 1); + gintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->gintmsk_saved.d32; + if(fiq_fsm_enable) + haintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->haintmsk_saved.d32; + else + haintmsk_new.d32 = 0x0000FFFF; -+ + + /* The FIQ could have sneaked another interrupt in. If so, don't clear MPHI */ + if ((gintmsk_new.d32 == ~0) && (haintmsk_new.d32 == 0x0000FFFF)) { + DWC_WRITE_REG32(dwc_otg_hcd->fiq_state->mphi_regs.intstat, (1<<16)); @@ -3734,12 +3716,7 @@ index 64d33a5..d3e2035 100644 + dwc_otg_hcd->fiq_state->mphi_int_count = 0; + } + int_done++; - } -- -- // Unmask handled interrupts -- FIQ_WRITE(dwc_regs_base + 0x18, gintmsk.d32); -- //DWC_MODIFY_REG32((uint32_t *)IO_ADDRESS(USB_BASE + 0x8), 0 , 1); -- ++ } + haintmsk.d32 = DWC_READ_REG32(&core_if->host_if->host_global_regs->haintmsk); + /* Re-enable interrupts that the FIQ masked (first time round) */ + FIQ_WRITE(dwc_otg_hcd->fiq_state->dwc_regs_base + GINTMSK, gintmsk.d32); @@ -3760,7 +3737,7 @@ index 64d33a5..d3e2035 100644 } } -@@ -686,6 +284,7 @@ static inline void track_missed_sofs(uint16_t curr_frame_number) +@@ -686,6 +284,7 @@ static inline void track_missed_sofs(uin int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd) { hfnum_data_t hfnum; @@ -3768,7 +3745,7 @@ index 64d33a5..d3e2035 100644 dwc_list_link_t *qh_entry; dwc_otg_qh_t *qh; dwc_otg_transaction_type_e tr_type; -@@ -732,8 +331,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd) +@@ -732,8 +331,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_ } } } @@ -3779,7 +3756,7 @@ index 64d33a5..d3e2035 100644 tr_type = dwc_otg_hcd_select_transactions(hcd); if (tr_type != DWC_OTG_TRANSACTION_NONE) { -@@ -741,10 +340,11 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd) +@@ -741,10 +340,11 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_ did_something = 1; } @@ -3795,7 +3772,7 @@ index 64d33a5..d3e2035 100644 return 1; } -@@ -1020,19 +620,21 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd) +@@ -1020,19 +620,21 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o { int i; int retval = 0; @@ -3822,7 +3799,7 @@ index 64d33a5..d3e2035 100644 local_fiq_enable(); } -@@ -1076,9 +678,7 @@ static uint32_t get_actual_xfer_length(dwc_hc_t * hc, +@@ -1076,9 +678,7 @@ static uint32_t get_actual_xfer_length(d *short_read = (hctsiz.b.xfersize != 0); } } else if (hc->qh->do_split) { @@ -3833,7 +3810,7 @@ index 64d33a5..d3e2035 100644 length = qtd->ssplit_out_xfer_count; } else { length = hc->xfer_len; -@@ -1325,19 +925,17 @@ static void release_channel(dwc_otg_hcd_t * hcd, +@@ -1325,19 +925,17 @@ static void release_channel(dwc_otg_hcd_ int free_qtd; dwc_irqflags_t flags; dwc_spinlock_t *channel_lock = hcd->channel_lock; @@ -3894,7 +3871,7 @@ index 64d33a5..d3e2035 100644 /* Try to queue more transfers now that there's a free channel. */ tr_type = dwc_otg_hcd_select_transactions(hcd); if (tr_type != DWC_OTG_TRANSACTION_NONE) { -@@ -1858,7 +1441,7 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd, +@@ -1858,7 +1441,7 @@ static int32_t handle_hc_nak_intr(dwc_ot switch(dwc_otg_hcd_get_pipe_type(&qtd->urb->pipe_info)) { case UE_BULK: case UE_CONTROL: @@ -3903,7 +3880,7 @@ index 64d33a5..d3e2035 100644 hc->qh->nak_frame = dwc_otg_hcd_get_frame_number(hcd); } -@@ -2074,7 +1657,7 @@ static int32_t handle_hc_nyet_intr(dwc_otg_hcd_t * hcd, +@@ -2074,7 +1657,7 @@ static int32_t handle_hc_nyet_intr(dwc_o // With the FIQ running we only ever see the failed NYET if (dwc_full_frame_num(frnum) != dwc_full_frame_num(hc->qh->sched_frame) || @@ -3912,7 +3889,7 @@ index 64d33a5..d3e2035 100644 /* * No longer in the same full speed frame. * Treat this as a transaction error. -@@ -2460,12 +2043,11 @@ static inline int halt_status_ok(dwc_otg_hcd_t * hcd, +@@ -2460,12 +2043,11 @@ static inline int halt_status_ok(dwc_otg static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, dwc_hc_t * hc, dwc_otg_hc_regs_t * hc_regs, @@ -3928,7 +3905,7 @@ index 64d33a5..d3e2035 100644 /* For core with OUT NAK enhancement, the flow for high- * speed CONTROL/BULK OUT is handled a little differently. */ -@@ -2495,11 +2077,9 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, +@@ -2495,11 +2077,9 @@ static void handle_hc_chhltd_intr_dma(dw } /* Read the HCINTn register to determine the cause for the halt. */ @@ -3943,7 +3920,7 @@ index 64d33a5..d3e2035 100644 if (hcint.b.xfercomp) { /** @todo This is here because of a possible hardware bug. Spec -@@ -2624,15 +2204,13 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd, +@@ -2624,15 +2204,13 @@ static void handle_hc_chhltd_intr_dma(dw static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd, dwc_hc_t * hc, dwc_otg_hc_regs_t * hc_regs, @@ -3961,7 +3938,7 @@ index 64d33a5..d3e2035 100644 } else { #ifdef DEBUG if (!halt_status_ok(hcd, hc, hc_regs, qtd)) { -@@ -2645,11 +2223,372 @@ static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd, +@@ -2645,11 +2223,372 @@ static int32_t handle_hc_chhltd_intr(dwc return 1; } @@ -4335,7 +4312,7 @@ index 64d33a5..d3e2035 100644 hcintmsk_data_t hcintmsk; dwc_hc_t *hc; dwc_otg_hc_regs_t *hc_regs; -@@ -2668,24 +2607,32 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) +@@ -2668,24 +2607,32 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc } qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list); @@ -4383,7 +4360,7 @@ index 64d33a5..d3e2035 100644 if (!dwc_otg_hcd->core_if->dma_enable) { if (hcint.b.chhltd && hcint.d32 != 0x2) { hcint.b.chhltd = 0; -@@ -2703,7 +2650,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num) +@@ -2703,7 +2650,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc hcint.b.nyet = 0; } if (hcint.b.chhltd) { @@ -4392,8 +4369,6 @@ index 64d33a5..d3e2035 100644 } if (hcint.b.ahberr) { retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd); -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c -index ee8eec9..07b1808 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c @@ -58,6 +58,7 @@ @@ -4423,7 +4398,7 @@ index ee8eec9..07b1808 100644 /** @name Linux HC Driver API Functions */ /** @{ */ -@@ -351,7 +353,6 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle, +@@ -351,7 +353,6 @@ static int _complete(dwc_otg_hcd_t * hcd urb); } } @@ -4431,7 +4406,7 @@ index ee8eec9..07b1808 100644 DWC_FREE(dwc_otg_urb); if (!new_entry) { DWC_ERROR("dwc_otg_hcd: complete: cannot allocate URB TQ entry\n"); -@@ -395,13 +396,9 @@ static struct dwc_otg_hcd_function_ops hcd_fops = { +@@ -395,13 +396,9 @@ static struct dwc_otg_hcd_function_ops h static struct fiq_handler fh = { .name = "usb_fiq", }; @@ -4583,8 +4558,6 @@ index ee8eec9..07b1808 100644 } #ifdef DEBUG -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c -index db95851..8706a5c 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c @@ -41,7 +41,6 @@ @@ -4595,7 +4568,7 @@ index db95851..8706a5c 100644 extern bool microframe_schedule; -@@ -576,7 +575,6 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -576,7 +575,6 @@ static int check_max_xfer_size(dwc_otg_h } @@ -4603,7 +4576,7 @@ index db95851..8706a5c 100644 /** * Schedules an interrupt or isochronous transfer in the periodic schedule. -@@ -636,9 +634,9 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -636,9 +634,9 @@ static int schedule_periodic(dwc_otg_hcd DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry); } else { @@ -4615,7 +4588,7 @@ index db95851..8706a5c 100644 } /* Always start in the inactive schedule. */ -@@ -679,7 +677,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -679,7 +677,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h /* Always start in the inactive schedule. */ DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive, &qh->qh_list_entry); @@ -4624,7 +4597,7 @@ index db95851..8706a5c 100644 } else { status = schedule_periodic(hcd, qh); if ( !hcd->periodic_qh_count ) { -@@ -739,13 +737,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +@@ -739,13 +737,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t hcd->non_periodic_qh_ptr->next; } DWC_LIST_REMOVE_INIT(&qh->qh_list_entry); @@ -4641,7 +4614,7 @@ index db95851..8706a5c 100644 intr_mask.b.sofintr = 1; DWC_MODIFY_REG32(&hcd->core_if->core_global_regs->gintmsk, intr_mask.d32, 0); -@@ -770,28 +767,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, +@@ -770,28 +767,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h int sched_next_periodic_split) { if (dwc_qh_is_non_per(qh)) { @@ -4671,7 +4644,7 @@ index db95851..8706a5c 100644 } } else { uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd); -@@ -850,9 +830,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, +@@ -850,9 +830,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready, &qh->qh_list_entry); } else { @@ -4683,7 +4656,7 @@ index db95851..8706a5c 100644 } DWC_LIST_MOVE_HEAD -@@ -943,6 +923,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd, +@@ -943,6 +923,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * if (*qh == NULL) { retval = -DWC_E_NO_MEMORY; goto done; @@ -4693,9 +4666,6 @@ index db95851..8706a5c 100644 } } retval = dwc_otg_hcd_qh_add(hcd, *qh); -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c -deleted file mode 100755 -index 50b94a8..0000000 --- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c +++ /dev/null @@ -1,113 +0,0 @@ @@ -4812,9 +4782,6 @@ index 50b94a8..0000000 - - return; -} -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h -deleted file mode 100755 -index ca17379..0000000 --- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h +++ /dev/null @@ -1,48 +0,0 @@ @@ -4866,8 +4833,6 @@ index ca17379..0000000 -extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable; - -#endif -diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c -index 5d310df..4b32941 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c @@ -59,6 +59,8 @@ @@ -4896,6 +4861,3 @@ index 5d310df..4b32941 100644 free_wrapper(gadget_wrapper); return -EBUSY; } --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0030-bcm2835-add-v4l2-camera-device.patch b/target/linux/brcm2708/patches-3.14/0030-bcm2835-add-v4l2-camera-device.patch index c250a051de..141537a92b 100644 --- a/target/linux/brcm2708/patches-3.14/0030-bcm2835-add-v4l2-camera-device.patch +++ b/target/linux/brcm2708/patches-3.14/0030-bcm2835-add-v4l2-camera-device.patch @@ -46,9 +46,6 @@ Signed-off-by: Luke Diamand <luked@broadcom.com> create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.c create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.h -diff --git a/Documentation/video4linux/bcm2835-v4l2.txt b/Documentation/video4linux/bcm2835-v4l2.txt -new file mode 100644 -index 0000000..c585a8f --- /dev/null +++ b/Documentation/video4linux/bcm2835-v4l2.txt @@ -0,0 +1,60 @@ @@ -112,8 +109,6 @@ index 0000000..c585a8f +List of available formats: + +$ v4l2-ctl --list-formats -diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig -index b2a4403..c1f82ec 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -118,6 +118,7 @@ config VIDEO_S3C_CAMIF @@ -124,8 +119,6 @@ index b2a4403..c1f82ec 100644 endif # V4L_PLATFORM_DRIVERS -diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile -index e5269da..6e01549 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile @@ -51,4 +51,6 @@ obj-y += davinci/ @@ -135,9 +128,6 @@ index e5269da..6e01549 100644 +obj-$(CONFIG_VIDEO_BCM2835) += bcm2835/ + ccflags-y += -I$(srctree)/drivers/media/i2c -diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig -new file mode 100644 -index 0000000..a8fd172 --- /dev/null +++ b/drivers/media/platform/bcm2835/Kconfig @@ -0,0 +1,25 @@ @@ -166,9 +156,6 @@ index 0000000..a8fd172 + + +endif # VIDEO_BM2835 -diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile -new file mode 100644 -index 0000000..f17c79c --- /dev/null +++ b/drivers/media/platform/bcm2835/Makefile @@ -0,0 +1,5 @@ @@ -177,9 +164,6 @@ index 0000000..f17c79c +obj-$(CONFIG_VIDEO_BCM2835_MMAL) += bcm2835-v4l2.o + +ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 -diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c -new file mode 100644 -index 0000000..47fe45d --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -0,0 +1,1478 @@ @@ -1661,9 +1645,6 @@ index 0000000..47fe45d + +module_init(bm2835_mmal_init); +module_exit(bm2835_mmal_exit); -diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h -new file mode 100644 -index 0000000..883eab7 --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h @@ -0,0 +1,113 @@ @@ -1780,9 +1761,6 @@ index 0000000..883eab7 + (pix_fmt)->pixelformat, (pix_fmt)->bytesperline, \ + (pix_fmt)->sizeimage, (pix_fmt)->colorspace, (pix_fmt)->priv); \ +} -diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c -new file mode 100644 -index 0000000..d1408e5 --- /dev/null +++ b/drivers/media/platform/bcm2835/controls.c @@ -0,0 +1,725 @@ @@ -2511,9 +2489,6 @@ index 0000000..d1408e5 + + return 0; +} -diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h -new file mode 100644 -index 0000000..602b4a7 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-common.h @@ -0,0 +1,52 @@ @@ -2569,9 +2544,6 @@ index 0000000..602b4a7 + u32 v; +}; + -diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h -new file mode 100644 -index 0000000..856e80e --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-encodings.h @@ -0,0 +1,93 @@ @@ -2668,9 +2640,6 @@ index 0000000..856e80e +#define MMAL_ENCODING_VARIANT_H264_AVC1 MMAL_FOURCC('A', 'V', 'C', '1') +/** Implicitly delineated NAL units without emulation prevention */ +#define MMAL_ENCODING_VARIANT_H264_RAW MMAL_FOURCC('R', 'A', 'W', ' ') -diff --git a/drivers/media/platform/bcm2835/mmal-msg-common.h b/drivers/media/platform/bcm2835/mmal-msg-common.h -new file mode 100644 -index 0000000..66e8a6e --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-common.h @@ -0,0 +1,50 @@ @@ -2724,9 +2693,6 @@ index 0000000..66e8a6e +}; + +#endif /* MMAL_MSG_COMMON_H */ -diff --git a/drivers/media/platform/bcm2835/mmal-msg-format.h b/drivers/media/platform/bcm2835/mmal-msg-format.h -new file mode 100644 -index 0000000..123d86e --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-format.h @@ -0,0 +1,81 @@ @@ -2811,9 +2777,6 @@ index 0000000..123d86e +}; + +#endif /* MMAL_MSG_FORMAT_H */ -diff --git a/drivers/media/platform/bcm2835/mmal-msg-port.h b/drivers/media/platform/bcm2835/mmal-msg-port.h -new file mode 100644 -index 0000000..a55c1ea --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-port.h @@ -0,0 +1,107 @@ @@ -2924,9 +2887,6 @@ index 0000000..a55c1ea + */ + +}; -diff --git a/drivers/media/platform/bcm2835/mmal-msg.h b/drivers/media/platform/bcm2835/mmal-msg.h -new file mode 100644 -index 0000000..67b1076 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg.h @@ -0,0 +1,404 @@ @@ -3334,9 +3294,6 @@ index 0000000..67b1076 + u8 payload[MMAL_MSG_MAX_PAYLOAD]; + } u; +}; -diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h -new file mode 100644 -index 0000000..c611b58 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-parameters.h @@ -0,0 +1,539 @@ @@ -3879,9 +3836,6 @@ index 0000000..c611b58 + u32 num_effect_params; + u32 effect_parameter[MMAL_MAX_IMAGEFX_PARAMETERS]; +}; -diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c -new file mode 100644 -index 0000000..a06fb44 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c @@ -0,0 +1,1916 @@ @@ -5801,9 +5755,6 @@ index 0000000..a06fb44 + kfree(instance); + return -ENODEV; +} -diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.h b/drivers/media/platform/bcm2835/mmal-vchiq.h -new file mode 100644 -index 0000000..9d1d11e --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.h @@ -0,0 +1,178 @@ @@ -5985,6 +5936,3 @@ index 0000000..9d1d11e + struct mmal_buffer *buf); + +#endif /* MMAL_VCHIQ_H */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0031-V4L2-Fixes-from-6by9.patch b/target/linux/brcm2708/patches-3.14/0031-V4L2-Fixes-from-6by9.patch index ab578bf531..6c7500e872 100644 --- a/target/linux/brcm2708/patches-3.14/0031-V4L2-Fixes-from-6by9.patch +++ b/target/linux/brcm2708/patches-3.14/0031-V4L2-Fixes-from-6by9.patch @@ -230,8 +230,6 @@ Signed-off-by: Dave Stevenson <dsteve@broadcom.com> drivers/media/platform/bcm2835/mmal-vchiq.c | 4 +- 8 files changed, 1292 insertions(+), 178 deletions(-) -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index e89e430..d70da44 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -694,6 +694,9 @@ CONFIG_DVB_B2C2_FLEXCOP_USB=m @@ -244,8 +242,6 @@ index e89e430..d70da44 100644 CONFIG_RADIO_SI470X=y CONFIG_USB_SI470X=m CONFIG_I2C_SI470X=m -diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c -index 47fe45d..f809b83 100644 --- a/drivers/media/platform/bcm2835/bcm2835-camera.c +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -36,7 +36,8 @@ @@ -413,7 +409,7 @@ index 47fe45d..f809b83 100644 }; static struct mmal_fmt *get_format(struct v4l2_format *f) -@@ -229,7 +336,8 @@ static void buffer_cb(struct vchiq_mmal_instance *instance, +@@ -229,7 +336,8 @@ static void buffer_cb(struct vchiq_mmal_ } } else { if (dev->capture.frame_count) { @@ -423,7 +419,7 @@ index 47fe45d..f809b83 100644 s64 runtime_us = pts - dev->capture.vc_start_timestamp; u32 div = 0; -@@ -250,7 +358,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance, +@@ -250,7 +358,7 @@ static void buffer_cb(struct vchiq_mmal_ USEC_PER_SEC; } v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, @@ -432,7 +428,7 @@ index 47fe45d..f809b83 100644 "with offset %llu to %d.%06d\n", (int)dev->capture.kernel_start_ts. tv_sec, -@@ -425,7 +533,15 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -425,7 +533,15 @@ static int start_streaming(struct vb2_qu vchiq_mmal_port_enable(dev->instance, dev->capture.port, buffer_cb); if (ret) { v4l2_err(&dev->v4l2_dev, @@ -449,7 +445,7 @@ index 47fe45d..f809b83 100644 return -1; } -@@ -530,6 +646,7 @@ static int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv, +@@ -530,6 +646,7 @@ static int vidioc_enum_fmt_vid_overlay(s strlcpy(f->description, fmt->name, sizeof(f->description)); f->pixelformat = fmt->fourcc; @@ -457,7 +453,7 @@ index 47fe45d..f809b83 100644 return 0; } -@@ -647,10 +764,18 @@ static int vidioc_g_fbuf(struct file *file, void *fh, +@@ -647,10 +764,18 @@ static int vidioc_g_fbuf(struct file *fi { /* The video overlay must stay within the framebuffer and can't be positioned independently. */ @@ -479,7 +475,7 @@ index 47fe45d..f809b83 100644 return 0; } -@@ -717,6 +842,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +@@ -717,6 +842,8 @@ static int vidioc_enum_fmt_vid_cap(struc strlcpy(f->description, fmt->name, sizeof(f->description)); f->pixelformat = fmt->fourcc; @@ -488,7 +484,7 @@ index 47fe45d..f809b83 100644 return 0; } -@@ -729,20 +856,13 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +@@ -729,20 +856,13 @@ static int vidioc_g_fmt_vid_cap(struct f f->fmt.pix.height = dev->capture.height; f->fmt.pix.field = V4L2_FIELD_NONE; f->fmt.pix.pixelformat = dev->capture.fmt->fourcc; @@ -514,7 +510,7 @@ index 47fe45d..f809b83 100644 f->fmt.pix.priv = 0; v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix, -@@ -766,21 +886,35 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +@@ -766,21 +886,35 @@ static int vidioc_try_fmt_vid_cap(struct } f->fmt.pix.field = V4L2_FIELD_NONE; @@ -560,7 +556,7 @@ index 47fe45d..f809b83 100644 v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix, __func__); return 0; -@@ -818,8 +952,8 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, +@@ -818,8 +952,8 @@ static int mmal_setup_components(struct switch (mfmt->mmal_component) { case MMAL_COMPONENT_CAMERA: /* Make a further decision on port based on resolution */ @@ -571,7 +567,7 @@ index 47fe45d..f809b83 100644 camera_port = port = &dev->component[MMAL_COMPONENT_CAMERA]-> output[MMAL_CAMERA_PORT_VIDEO]; -@@ -861,8 +995,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, +@@ -861,8 +995,9 @@ static int mmal_setup_components(struct camera_port->es.video.crop.y = 0; camera_port->es.video.crop.width = f->fmt.pix.width; camera_port->es.video.crop.height = f->fmt.pix.height; @@ -582,7 +578,7 @@ index 47fe45d..f809b83 100644 ret = vchiq_mmal_port_set_format(dev->instance, camera_port); -@@ -896,8 +1031,10 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, +@@ -896,8 +1031,10 @@ static int mmal_setup_components(struct preview_port->es.video.crop.y = 0; preview_port->es.video.crop.width = f->fmt.pix.width; preview_port->es.video.crop.height = f->fmt.pix.height; @@ -595,7 +591,7 @@ index 47fe45d..f809b83 100644 ret = vchiq_mmal_port_set_format(dev->instance, preview_port); if (overlay_enabled) { ret = vchiq_mmal_port_connect_tunnel( -@@ -913,7 +1050,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, +@@ -913,7 +1050,9 @@ static int mmal_setup_components(struct if (ret) { v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, @@ -606,7 +602,7 @@ index 47fe45d..f809b83 100644 /* ensure capture is not going to be tried */ dev->capture.port = NULL; } else { -@@ -927,69 +1066,91 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, +@@ -927,69 +1066,91 @@ static int mmal_setup_components(struct camera_port->current_buffer.num = camera_port->recommended_buffer.num; @@ -752,7 +748,7 @@ index 47fe45d..f809b83 100644 } } else { /* configure buffering */ -@@ -1001,13 +1162,20 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, +@@ -1001,13 +1162,20 @@ static int mmal_setup_components(struct if (!ret) { dev->capture.fmt = mfmt; dev->capture.stride = f->fmt.pix.bytesperline; @@ -775,7 +771,7 @@ index 47fe45d..f809b83 100644 } } -@@ -1048,14 +1216,115 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +@@ -1048,14 +1216,115 @@ static int vidioc_s_fmt_vid_cap(struct f } ret = mmal_setup_components(dev, f); @@ -892,7 +888,7 @@ index 47fe45d..f809b83 100644 static const struct v4l2_ioctl_ops camera0_ioctl_ops = { /* overlay */ .vidioc_enum_fmt_vid_overlay = vidioc_enum_fmt_vid_overlay, -@@ -1084,6 +1353,51 @@ static const struct v4l2_ioctl_ops camera0_ioctl_ops = { +@@ -1084,6 +1353,51 @@ static const struct v4l2_ioctl_ops camer .vidioc_querybuf = vb2_ioctl_querybuf, .vidioc_qbuf = vb2_ioctl_qbuf, .vidioc_dqbuf = vb2_ioctl_dqbuf, @@ -944,7 +940,7 @@ index 47fe45d..f809b83 100644 .vidioc_streamon = vb2_ioctl_streamon, .vidioc_streamoff = vb2_ioctl_streamoff, -@@ -1122,8 +1436,10 @@ static int set_camera_parameters(struct vchiq_mmal_instance *instance, +@@ -1122,8 +1436,10 @@ static int set_camera_parameters(struct .max_stills_h = MAX_HEIGHT, .stills_yuv422 = 1, .one_shot_stills = 1, @@ -957,7 +953,7 @@ index 47fe45d..f809b83 100644 .num_preview_video_frames = 3, .stills_capture_circular_buffer_height = 0, .fast_preview_resume = 0, -@@ -1141,6 +1457,7 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev) +@@ -1141,6 +1457,7 @@ static int __init mmal_init(struct bm283 { int ret; struct mmal_es_format *format; @@ -965,7 +961,7 @@ index 47fe45d..f809b83 100644 ret = vchiq_mmal_init(&dev->instance); if (ret < 0) -@@ -1176,8 +1493,8 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev) +@@ -1176,8 +1493,8 @@ static int __init mmal_init(struct bm283 format->es->video.crop.y = 0; format->es->video.crop.width = 1024; format->es->video.crop.height = 768; @@ -976,7 +972,7 @@ index 47fe45d..f809b83 100644 format = &dev->component[MMAL_COMPONENT_CAMERA]-> -@@ -1192,8 +1509,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev) +@@ -1192,8 +1509,14 @@ static int __init mmal_init(struct bm283 format->es->video.crop.y = 0; format->es->video.crop.width = 1024; format->es->video.crop.height = 768; @@ -993,7 +989,7 @@ index 47fe45d..f809b83 100644 format = &dev->component[MMAL_COMPONENT_CAMERA]-> -@@ -1207,13 +1530,22 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev) +@@ -1207,13 +1530,22 @@ static int __init mmal_init(struct bm283 format->es->video.crop.y = 0; format->es->video.crop.width = 2592; format->es->video.crop.height = 1944; @@ -1017,7 +1013,7 @@ index 47fe45d..f809b83 100644 /* get the preview component ready */ ret = vchiq_mmal_component_init( -@@ -1260,6 +1592,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev) +@@ -1260,6 +1592,14 @@ static int __init mmal_init(struct bm283 } { @@ -1032,7 +1028,7 @@ index 47fe45d..f809b83 100644 unsigned int enable = 1; vchiq_mmal_port_parameter_set( dev->instance, -@@ -1312,6 +1652,11 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev, +@@ -1312,6 +1652,11 @@ static int __init bm2835_mmal_init_devic int ret; *vfd = vdev_template; @@ -1044,7 +1040,7 @@ index 47fe45d..f809b83 100644 vfd->v4l2_dev = &dev->v4l2_dev; -@@ -1328,8 +1673,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev, +@@ -1328,8 +1673,9 @@ static int __init bm2835_mmal_init_devic if (ret < 0) return ret; @@ -1056,7 +1052,7 @@ index 47fe45d..f809b83 100644 return 0; } -@@ -1337,9 +1683,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev, +@@ -1337,9 +1683,9 @@ static int __init bm2835_mmal_init_devic static struct v4l2_format default_v4l2_format = { .fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG, .fmt.pix.width = 1024, @@ -1078,8 +1074,6 @@ index 47fe45d..f809b83 100644 ret = mmal_setup_components(dev, &default_v4l2_format); if (ret < 0) { v4l2_err(&dev->v4l2_dev, -diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h -index 883eab7..7fe9f65 100644 --- a/drivers/media/platform/bcm2835/bcm2835-camera.h +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h @@ -15,7 +15,7 @@ @@ -1149,8 +1143,6 @@ index 883eab7..7fe9f65 100644 /* Debug helpers */ -diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c -index d1408e5..3017b94 100644 --- a/drivers/media/platform/bcm2835/controls.c +++ b/drivers/media/platform/bcm2835/controls.c @@ -30,11 +30,23 @@ @@ -1209,7 +1201,7 @@ index d1408e5..3017b94 100644 }; struct v4l2_to_mmal_effects_setting { -@@ -126,6 +145,25 @@ static const struct v4l2_to_mmal_effects_setting +@@ -126,6 +145,25 @@ static const struct v4l2_to_mmal_effects 1, 1, 0, 0, 0, {0, 0, 0, 0, 0} } }; @@ -1235,7 +1227,7 @@ index d1408e5..3017b94 100644 /* control handlers*/ -@@ -133,10 +171,7 @@ static int ctrl_set_rational(struct bm2835_mmal_dev *dev, +@@ -133,10 +171,7 @@ static int ctrl_set_rational(struct bm28 struct v4l2_ctrl *ctrl, const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) { @@ -1247,7 +1239,7 @@ index d1408e5..3017b94 100644 struct vchiq_mmal_port *control; control = &dev->component[MMAL_COMPONENT_CAMERA]->control; -@@ -166,6 +201,41 @@ static int ctrl_set_value(struct bm2835_mmal_dev *dev, +@@ -166,6 +201,41 @@ static int ctrl_set_value(struct bm2835_ &u32_value, sizeof(u32_value)); } @@ -1289,7 +1281,7 @@ index d1408e5..3017b94 100644 static int ctrl_set_rotate(struct bm2835_mmal_dev *dev, struct v4l2_ctrl *ctrl, const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) -@@ -245,37 +315,97 @@ static int ctrl_set_exposure(struct bm2835_mmal_dev *dev, +@@ -245,37 +315,97 @@ static int ctrl_set_exposure(struct bm28 struct v4l2_ctrl *ctrl, const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) { @@ -1399,7 +1391,7 @@ index d1408e5..3017b94 100644 struct v4l2_ctrl *ctrl, const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) { -@@ -285,24 +415,18 @@ static int ctrl_set_metering_mode(struct bm2835_mmal_dev *dev, +@@ -285,24 +415,18 @@ static int ctrl_set_metering_mode(struct control = &dev->component[MMAL_COMPONENT_CAMERA]->control; switch (ctrl->val) { @@ -1432,7 +1424,7 @@ index d1408e5..3017b94 100644 } return vchiq_mmal_port_parameter_set(dev->instance, control, -@@ -367,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev, +@@ -367,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm28 &u32_value, sizeof(u32_value)); } @@ -1462,7 +1454,7 @@ index d1408e5..3017b94 100644 static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev, struct v4l2_ctrl *ctrl, const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) -@@ -443,8 +590,8 @@ static int ctrl_set_colfx(struct bm2835_mmal_dev *dev, +@@ -443,8 +590,8 @@ static int ctrl_set_colfx(struct bm2835_ &dev->colourfx, sizeof(dev->colourfx)); v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, @@ -1473,7 +1465,7 @@ index d1408e5..3017b94 100644 (ret == 0 ? 0 : -EINVAL)); return (ret == 0 ? 0 : EINVAL); } -@@ -494,7 +641,7 @@ static int ctrl_set_bitrate_mode(struct bm2835_mmal_dev *dev, +@@ -494,7 +641,7 @@ static int ctrl_set_bitrate_mode(struct return 0; } @@ -1482,7 +1474,7 @@ index d1408e5..3017b94 100644 struct v4l2_ctrl *ctrl, const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl) { -@@ -510,12 +657,247 @@ static int ctrl_set_q_factor(struct bm2835_mmal_dev *dev, +@@ -510,12 +657,247 @@ static int ctrl_set_q_factor(struct bm28 &u32_value, sizeof(u32_value)); } @@ -1730,7 +1722,7 @@ index d1408e5..3017b94 100644 if ((mmal_ctrl == NULL) || (mmal_ctrl->id != ctrl->id) || -@@ -524,7 +906,13 @@ static int bm2835_mmal_s_ctrl(struct v4l2_ctrl *ctrl) +@@ -524,7 +906,13 @@ static int bm2835_mmal_s_ctrl(struct v4l return -EINVAL; } @@ -1745,7 +1737,7 @@ index d1408e5..3017b94 100644 } static const struct v4l2_ctrl_ops bm2835_mmal_ctrl_ops = { -@@ -537,40 +925,54 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = { +@@ -537,40 +925,54 @@ static const struct bm2835_mmal_v4l2_ctr { V4L2_CID_SATURATION, MMAL_CONTROL_TYPE_STD, -100, 100, 0, 1, NULL, @@ -1809,7 +1801,7 @@ index d1408e5..3017b94 100644 }, /* todo this needs mixing in with set exposure { -@@ -578,83 +980,258 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = { +@@ -578,83 +980,258 @@ static const struct bm2835_mmal_v4l2_ctr }, */ { @@ -2083,7 +2075,7 @@ index d1408e5..3017b94 100644 int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev, struct v4l2_ctrl_handler *hdl) { -@@ -674,10 +1251,30 @@ int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev, +@@ -674,10 +1251,30 @@ int bm2835_mmal_init_controls(struct bm2 break; case MMAL_CONTROL_TYPE_STD_MENU: @@ -2115,8 +2107,6 @@ index d1408e5..3017b94 100644 case MMAL_CONTROL_TYPE_INT_MENU: dev->ctrls[c] = v4l2_ctrl_new_int_menu(hdl, -diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h -index 602b4a7..076f9a8 100644 --- a/drivers/media/platform/bcm2835/mmal-common.h +++ b/drivers/media/platform/bcm2835/mmal-common.h @@ -26,6 +26,7 @@ @@ -2127,8 +2117,6 @@ index 602b4a7..076f9a8 100644 u32 mmal; int depth; u32 mmal_component; /* MMAL component index to be used to encode */ -diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h -index 856e80e..024d620 100644 --- a/drivers/media/platform/bcm2835/mmal-encodings.h +++ b/drivers/media/platform/bcm2835/mmal-encodings.h @@ -12,6 +12,8 @@ @@ -2183,8 +2171,6 @@ index 856e80e..024d620 100644 +/* @} MmalColorSpace List */ + +#endif /* MMAL_ENCODINGS_H */ -diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h -index c611b58..aa0fd18 100644 --- a/drivers/media/platform/bcm2835/mmal-parameters.h +++ b/drivers/media/platform/bcm2835/mmal-parameters.h @@ -57,7 +57,8 @@ enum mmal_parameter_common_type { @@ -2211,7 +2197,7 @@ index c611b58..aa0fd18 100644 }; enum mmal_parameter_camera_config_timestamp_mode { -@@ -176,6 +184,14 @@ enum mmal_parameter_camera_config_timestamp_mode { +@@ -176,6 +184,14 @@ enum mmal_parameter_camera_config_timest */ }; @@ -2350,11 +2336,9 @@ index c611b58..aa0fd18 100644 }; /** Valid mirror modes */ -diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c -index a06fb44..76f249e 100644 --- a/drivers/media/platform/bcm2835/mmal-vchiq.c +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c -@@ -742,7 +742,7 @@ static int send_synchronous_mmal_msg(struct vchiq_mmal_instance *instance, +@@ -742,7 +742,7 @@ static int send_synchronous_mmal_msg(str return ret; } @@ -2363,7 +2347,7 @@ index a06fb44..76f249e 100644 if (ret <= 0) { pr_err("error %d waiting for sync completion\n", ret); if (ret == 0) -@@ -1326,7 +1326,7 @@ static int port_parameter_get(struct vchiq_mmal_instance *instance, +@@ -1326,7 +1326,7 @@ static int port_parameter_get(struct vch memcpy(value, &rmsg->u.port_parameter_get_reply.value, rmsg->u.port_parameter_get_reply.size); @@ -2372,6 +2356,3 @@ index a06fb44..76f249e 100644 ret, port->component->handle, port->handle, parameter_id); release_msg: --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0032-snd-bcm2835-Add-support-for-spdif-hdmi-passthrough.patch b/target/linux/brcm2708/patches-3.14/0032-snd-bcm2835-Add-support-for-spdif-hdmi-passthrough.patch index 4b6dcbc18e..e5420d329c 100644 --- a/target/linux/brcm2708/patches-3.14/0032-snd-bcm2835-Add-support-for-spdif-hdmi-passthrough.patch +++ b/target/linux/brcm2708/patches-3.14/0032-snd-bcm2835-Add-support-for-spdif-hdmi-passthrough.patch @@ -14,8 +14,6 @@ support the AES parameters for this device. sound/arm/bcm2835.h | 9 ++++ 4 files changed, 250 insertions(+), 19 deletions(-) -diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c -index 8c5334a..aad905f 100755 --- a/sound/arm/bcm2835-ctl.c +++ b/sound/arm/bcm2835-ctl.c @@ -30,6 +30,7 @@ @@ -26,7 +24,7 @@ index 8c5334a..aad905f 100755 #include "bcm2835.h" -@@ -183,6 +184,122 @@ static struct snd_kcontrol_new snd_bcm2835_ctl[] = { +@@ -183,6 +184,122 @@ static struct snd_kcontrol_new snd_bcm28 }, }; @@ -149,7 +147,7 @@ index 8c5334a..aad905f 100755 int snd_bcm2835_new_ctl(bcm2835_chip_t * chip) { int err; -@@ -196,5 +313,11 @@ int snd_bcm2835_new_ctl(bcm2835_chip_t * chip) +@@ -196,5 +313,11 @@ int snd_bcm2835_new_ctl(bcm2835_chip_t * if (err < 0) return err; } @@ -161,8 +159,6 @@ index 8c5334a..aad905f 100755 + } return 0; } -diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c -index b4084bb..ebd3f62 100755 --- a/sound/arm/bcm2835-pcm.c +++ b/sound/arm/bcm2835-pcm.c @@ -15,6 +15,8 @@ @@ -174,7 +170,7 @@ index b4084bb..ebd3f62 100755 #include "bcm2835.h" /* hardware definition */ -@@ -34,6 +36,23 @@ static struct snd_pcm_hardware snd_bcm2835_playback_hw = { +@@ -34,6 +36,23 @@ static struct snd_pcm_hardware snd_bcm28 .periods_max = 128, }; @@ -198,7 +194,7 @@ index b4084bb..ebd3f62 100755 static void snd_bcm2835_playback_free(struct snd_pcm_runtime *runtime) { audio_info("Freeing up alsa stream here ..\n"); -@@ -89,7 +108,8 @@ static irqreturn_t bcm2835_playback_fifo_irq(int irq, void *dev_id) +@@ -89,7 +108,8 @@ static irqreturn_t bcm2835_playback_fifo } /* open callback */ @@ -208,7 +204,7 @@ index b4084bb..ebd3f62 100755 { bcm2835_chip_t *chip = snd_pcm_substream_chip(substream); struct snd_pcm_runtime *runtime = substream->runtime; -@@ -102,6 +122,11 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) +@@ -102,6 +122,11 @@ static int snd_bcm2835_playback_open(str audio_info("Alsa open (%d)\n", substream->number); idx = substream->number; @@ -220,7 +216,7 @@ index b4084bb..ebd3f62 100755 if (idx > MAX_SUBSTREAMS) { audio_error ("substream(%d) device doesn't exist max(%d) substreams allowed\n", -@@ -143,13 +168,20 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream) +@@ -143,13 +168,20 @@ static int snd_bcm2835_playback_open(str } runtime->private_data = alsa_stream; runtime->private_free = snd_bcm2835_playback_free; @@ -259,7 +255,7 @@ index b4084bb..ebd3f62 100755 /* close callback */ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) { -@@ -166,6 +208,7 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) +@@ -166,6 +208,7 @@ static int snd_bcm2835_playback_close(st struct snd_pcm_runtime *runtime = substream->runtime; bcm2835_alsa_stream_t *alsa_stream = runtime->private_data; @@ -267,7 +263,7 @@ index b4084bb..ebd3f62 100755 audio_info(" .. IN\n"); audio_info("Alsa close\n"); -@@ -196,6 +239,8 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) +@@ -196,6 +239,8 @@ static int snd_bcm2835_playback_close(st * runtime->private_free callback we registered in *_open above */ @@ -276,7 +272,7 @@ index b4084bb..ebd3f62 100755 audio_info(" .. OUT\n"); return 0; -@@ -205,10 +250,9 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) +@@ -205,10 +250,9 @@ static int snd_bcm2835_playback_close(st static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { @@ -289,7 +285,7 @@ index b4084bb..ebd3f62 100755 audio_info(" .. IN\n"); -@@ -219,19 +263,9 @@ static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream, +@@ -219,19 +263,9 @@ static int snd_bcm2835_pcm_hw_params(str return err; } @@ -312,7 +308,7 @@ index b4084bb..ebd3f62 100755 audio_info(" .. OUT\n"); return err; -@@ -247,11 +281,35 @@ static int snd_bcm2835_pcm_hw_free(struct snd_pcm_substream *substream) +@@ -247,11 +281,35 @@ static int snd_bcm2835_pcm_hw_free(struc /* prepare callback */ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream) { @@ -348,7 +344,7 @@ index b4084bb..ebd3f62 100755 memset(&alsa_stream->pcm_indirect, 0, sizeof(alsa_stream->pcm_indirect)); alsa_stream->pcm_indirect.hw_buffer_size = -@@ -392,6 +450,18 @@ static struct snd_pcm_ops snd_bcm2835_playback_ops = { +@@ -392,6 +450,18 @@ static struct snd_pcm_ops snd_bcm2835_pl .ack = snd_bcm2835_pcm_ack, }; @@ -367,7 +363,7 @@ index b4084bb..ebd3f62 100755 /* create a pcm device */ int snd_bcm2835_new_pcm(bcm2835_chip_t * chip) { -@@ -424,3 +494,25 @@ int snd_bcm2835_new_pcm(bcm2835_chip_t * chip) +@@ -424,3 +494,25 @@ int snd_bcm2835_new_pcm(bcm2835_chip_t * return 0; } @@ -393,11 +389,9 @@ index b4084bb..ebd3f62 100755 + + return 0; +} -diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c -index e2047a7..4136760 100755 --- a/sound/arm/bcm2835.c +++ b/sound/arm/bcm2835.c -@@ -104,7 +104,7 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) +@@ -104,7 +104,7 @@ static int snd_bcm2835_alsa_probe(struct goto out; snd_card_set_dev(g_card, &pdev->dev); @@ -406,7 +400,7 @@ index e2047a7..4136760 100755 strcpy(g_card->shortname, "bcm2835 ALSA"); sprintf(g_card->longname, "%s", g_card->shortname); -@@ -121,6 +121,12 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev) +@@ -121,6 +121,12 @@ static int snd_bcm2835_alsa_probe(struct goto out_bcm2835_new_pcm; } @@ -427,8 +421,6 @@ index e2047a7..4136760 100755 out_bcm2835_new_pcm: out_bcm2835_create: BUG_ON(!g_card); -diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h -index 36afee3..8c2fe26 100755 --- a/sound/arm/bcm2835.h +++ b/sound/arm/bcm2835.h @@ -97,6 +97,7 @@ typedef enum { @@ -468,6 +460,3 @@ index 36afee3..8c2fe26 100755 int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream); int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0033-dmaengine-Add-support-for-BCM2708.patch b/target/linux/brcm2708/patches-3.14/0033-dmaengine-Add-support-for-BCM2708.patch index 320589a827..0311e69978 100644 --- a/target/linux/brcm2708/patches-3.14/0033-dmaengine-Add-support-for-BCM2708.patch +++ b/target/linux/brcm2708/patches-3.14/0033-dmaengine-Add-support-for-BCM2708.patch @@ -14,8 +14,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> 3 files changed, 595 insertions(+) create mode 100644 drivers/dma/bcm2708-dmaengine.c -diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 605b016..edd5842 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -312,6 +312,12 @@ config DMA_BCM2835 @@ -31,8 +29,6 @@ index 605b016..edd5842 100644 config TI_CPPI41 tristate "AM33xx CPPI41 DMA support" depends on ARCH_OMAP -diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index a029d0f4..f4d9516 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -39,6 +39,7 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o @@ -43,9 +39,6 @@ index a029d0f4..f4d9516 100644 obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o obj-$(CONFIG_TI_CPPI41) += cppi41.o -diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c -new file mode 100644 -index 0000000..b244293 --- /dev/null +++ b/drivers/dma/bcm2708-dmaengine.c @@ -0,0 +1,588 @@ @@ -637,6 +630,3 @@ index 0000000..b244293 +MODULE_DESCRIPTION("BCM2708 DMA engine driver"); +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_LICENSE("GPL v2"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0034-ASoC-Add-support-for-BCM2708.patch b/target/linux/brcm2708/patches-3.14/0034-ASoC-Add-support-for-BCM2708.patch index ce5ffb9fef..2d414909f1 100644 --- a/target/linux/brcm2708/patches-3.14/0034-ASoC-Add-support-for-BCM2708.patch +++ b/target/linux/brcm2708/patches-3.14/0034-ASoC-Add-support-for-BCM2708.patch @@ -18,8 +18,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> 3 files changed, 955 insertions(+) create mode 100644 sound/soc/bcm/bcm2708-i2s.c -diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 6a834e1..7e5b945 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -7,3 +7,14 @@ config SND_BCM2835_SOC_I2S @@ -37,11 +35,9 @@ index 6a834e1..7e5b945 100644 + Say Y or M if you want to add support for codecs attached to + the BCM2708 I2S interface. You will also need + to select the audio interfaces to support below. -diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index bc816b7..f8bbe1f 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile -@@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o +@@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s. obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -49,9 +45,6 @@ index bc816b7..f8bbe1f 100644 +snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o + +obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o -diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c -new file mode 100644 -index 0000000..ebaf3d6 --- /dev/null +++ b/sound/soc/bcm/bcm2708-i2s.c @@ -0,0 +1,940 @@ @@ -995,6 +988,3 @@ index 0000000..ebaf3d6 +MODULE_DESCRIPTION("BCM2708 I2S interface"); +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_LICENSE("GPL v2"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0035-BCM2708-Extend-mach-header.patch b/target/linux/brcm2708/patches-3.14/0035-BCM2708-Extend-mach-header.patch index 4101593805..ba6cc127de 100644 --- a/target/linux/brcm2708/patches-3.14/0035-BCM2708-Extend-mach-header.patch +++ b/target/linux/brcm2708/patches-3.14/0035-BCM2708-Extend-mach-header.patch @@ -12,8 +12,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> arch/arm/mach-bcm2708/include/mach/platform.h | 2 ++ 2 files changed, 4 insertions(+) -diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h -index 6d2f9a0..a4aac4c 100644 --- a/arch/arm/mach-bcm2708/include/mach/dma.h +++ b/arch/arm/mach-bcm2708/include/mach/dma.h @@ -45,6 +45,8 @@ @@ -25,8 +23,6 @@ index 6d2f9a0..a4aac4c 100644 #define BCM2708_DMA_NEXTCB 0x1C #define BCM2708_DMA_DEBUG 0x20 -diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -index 992a630..2e7e1bb 100644 --- a/arch/arm/mach-bcm2708/include/mach/platform.h +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -62,10 +62,12 @@ @@ -42,6 +38,3 @@ index 992a630..2e7e1bb 100644 #define SPI0_BASE (BCM2708_PERI_BASE + 0x204000) /* SPI0 */ #define BSC0_BASE (BCM2708_PERI_BASE + 0x205000) /* BSC0 I2C/TWI */ #define UART1_BASE (BCM2708_PERI_BASE + 0x215000) /* Uart 1 */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0036-ASoC-Add-support-for-PCM5102A-codec.patch b/target/linux/brcm2708/patches-3.14/0036-ASoC-Add-support-for-PCM5102A-codec.patch index 7cf36d3cca..0b491e7687 100644 --- a/target/linux/brcm2708/patches-3.14/0036-ASoC-Add-support-for-PCM5102A-codec.patch +++ b/target/linux/brcm2708/patches-3.14/0036-ASoC-Add-support-for-PCM5102A-codec.patch @@ -14,8 +14,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> 3 files changed, 69 insertions(+) create mode 100644 sound/soc/codecs/pcm5102a.c -diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 983d087a..f0d76ec 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -59,6 +59,7 @@ config SND_SOC_ALL_CODECS @@ -36,8 +34,6 @@ index 983d087a..f0d76ec 100644 config SND_SOC_RT5631 tristate -diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index bc12676..612f414 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -46,6 +46,7 @@ snd-soc-hdmi-codec-objs := hdmi.o @@ -48,7 +44,7 @@ index bc12676..612f414 100644 snd-soc-rt5631-objs := rt5631.o snd-soc-rt5640-objs := rt5640.o snd-soc-sgtl5000-objs := sgtl5000.o -@@ -179,6 +180,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-soc-hdmi-codec.o +@@ -179,6 +180,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd- obj-$(CONFIG_SND_SOC_PCM1681) += snd-soc-pcm1681.o obj-$(CONFIG_SND_SOC_PCM1792A) += snd-soc-pcm1792a-codec.o obj-$(CONFIG_SND_SOC_PCM3008) += snd-soc-pcm3008.o @@ -56,9 +52,6 @@ index bc12676..612f414 100644 obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o obj-$(CONFIG_SND_SOC_SGTL5000) += snd-soc-sgtl5000.o -diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c -new file mode 100644 -index 0000000..126f1e9 --- /dev/null +++ b/sound/soc/codecs/pcm5102a.c @@ -0,0 +1,63 @@ @@ -125,6 +118,3 @@ index 0000000..126f1e9 +MODULE_DESCRIPTION("ASoC PCM5102A codec driver"); +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_LICENSE("GPL v2"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0037-BCM2708-Add-I2S-support-to-board-file.patch b/target/linux/brcm2708/patches-3.14/0037-BCM2708-Add-I2S-support-to-board-file.patch index 5dccabb246..b6658a66df 100644 --- a/target/linux/brcm2708/patches-3.14/0037-BCM2708-Add-I2S-support-to-board-file.patch +++ b/target/linux/brcm2708/patches-3.14/0037-BCM2708-Add-I2S-support-to-board-file.patch @@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> arch/arm/mach-bcm2708/bcm2708.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index 89d0824..07da1fd 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -615,6 +615,28 @@ static struct platform_device bcm2835_thermal_device = { +@@ -615,6 +615,28 @@ static struct platform_device bcm2835_th .name = "bcm2835_thermal", }; @@ -55,6 +53,3 @@ index 89d0824..07da1fd 100644 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0038-ASoC-Add-support-for-HifiBerry-DAC.patch b/target/linux/brcm2708/patches-3.14/0038-ASoC-Add-support-for-HifiBerry-DAC.patch index d3c1a9c505..1aba4c2e11 100644 --- a/target/linux/brcm2708/patches-3.14/0038-ASoC-Add-support-for-HifiBerry-DAC.patch +++ b/target/linux/brcm2708/patches-3.14/0038-ASoC-Add-support-for-HifiBerry-DAC.patch @@ -15,8 +15,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> 3 files changed, 112 insertions(+) create mode 100644 sound/soc/bcm/hifiberry_dac.c -diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 7e5b945..b36a62f 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -18,3 +18,10 @@ config SND_BCM2708_SOC_I2S @@ -30,11 +28,9 @@ index 7e5b945..b36a62f 100644 + select SND_SOC_PCM5102A + help + Say Y or M if you want to add support for HifiBerry DAC. -diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index f8bbe1f..be90a49cb 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile -@@ -7,3 +7,8 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o +@@ -7,3 +7,8 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o @@ -43,9 +39,6 @@ index f8bbe1f..be90a49cb 100644 +snd-soc-hifiberry-dac-objs := hifiberry_dac.o + +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o -diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c -new file mode 100644 -index 0000000..4b70b45 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dac.c @@ -0,0 +1,100 @@ @@ -149,6 +142,3 @@ index 0000000..4b70b45 +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0039-BCM2708-Add-HifiBerry-DAC-to-board-file.patch b/target/linux/brcm2708/patches-3.14/0039-BCM2708-Add-HifiBerry-DAC-to-board-file.patch index 4433d5ed7f..9dc51dc701 100644 --- a/target/linux/brcm2708/patches-3.14/0039-BCM2708-Add-HifiBerry-DAC-to-board-file.patch +++ b/target/linux/brcm2708/patches-3.14/0039-BCM2708-Add-HifiBerry-DAC-to-board-file.patch @@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> arch/arm/mach-bcm2708/bcm2708.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index 07da1fd..82b09a5 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -637,6 +637,20 @@ static struct platform_device bcm2708_i2s_device = { +@@ -637,6 +637,20 @@ static struct platform_device bcm2708_i2 }; #endif @@ -48,6 +46,3 @@ index 07da1fd..82b09a5 100644 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch b/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch index bb0dada77b..5b06ecf78d 100644 --- a/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch +++ b/target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch @@ -18,11 +18,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> sound/soc/bcm/bcm2708-i2s.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) -diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c -index ebaf3d6..a179216 100644 --- a/sound/soc/bcm/bcm2708-i2s.c +++ b/sound/soc/bcm/bcm2708-i2s.c -@@ -346,6 +346,10 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream, +@@ -346,6 +346,10 @@ static int bcm2708_i2s_hw_params(struct data_length = 16; bclk_ratio = 40; break; @@ -33,7 +31,7 @@ index ebaf3d6..a179216 100644 case SNDRV_PCM_FORMAT_S32_LE: data_length = 32; bclk_ratio = 80; -@@ -424,7 +428,7 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream, +@@ -424,7 +428,7 @@ static int bcm2708_i2s_hw_params(struct /* Setup the frame format */ format = BCM2708_I2S_CHEN; @@ -42,7 +40,7 @@ index ebaf3d6..a179216 100644 format |= BCM2708_I2S_CHWEX; format |= BCM2708_I2S_CHWID((data_length-8)&0xf); -@@ -714,6 +718,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = { +@@ -714,6 +718,7 @@ static struct snd_soc_dai_driver bcm2708 .channels_max = 2, .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE @@ -50,7 +48,7 @@ index ebaf3d6..a179216 100644 | SNDRV_PCM_FMTBIT_S32_LE }, .capture = { -@@ -721,6 +726,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = { +@@ -721,6 +726,7 @@ static struct snd_soc_dai_driver bcm2708 .channels_max = 2, .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE @@ -72,6 +70,3 @@ index ebaf3d6..a179216 100644 SNDRV_PCM_FMTBIT_S32_LE, .period_bytes_min = 32, .period_bytes_max = 64 * PAGE_SIZE, --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0041-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch b/target/linux/brcm2708/patches-3.14/0041-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch index 46953e0317..c5aeaae5ad 100644 --- a/target/linux/brcm2708/patches-3.14/0041-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch +++ b/target/linux/brcm2708/patches-3.14/0041-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch @@ -11,8 +11,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> arch/arm/configs/bcmrpi_defconfig | 11 +++++++++++ 1 file changed, 11 insertions(+) -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index d70da44..36e7473 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -739,6 +739,13 @@ CONFIG_SND_USB_UA101=m @@ -40,6 +38,3 @@ index d70da44..36e7473 100644 CONFIG_UIO=m CONFIG_UIO_PDRV_GENIRQ=m CONFIG_STAGING=y --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0042-ASoC-BCM2708-Add-support-for-RPi-DAC.patch b/target/linux/brcm2708/patches-3.14/0042-ASoC-BCM2708-Add-support-for-RPi-DAC.patch index 7f4075a34f..3cbafe1f68 100644 --- a/target/linux/brcm2708/patches-3.14/0042-ASoC-BCM2708-Add-support-for-RPi-DAC.patch +++ b/target/linux/brcm2708/patches-3.14/0042-ASoC-BCM2708-Add-support-for-RPi-DAC.patch @@ -19,8 +19,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de> create mode 100644 sound/soc/bcm/rpi-dac.c create mode 100644 sound/soc/codecs/pcm1794a.c -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 36e7473..f877ab2 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -744,8 +744,10 @@ CONFIG_SND_SOC_DMAENGINE_PCM=y @@ -34,11 +32,9 @@ index 36e7473..f877ab2 100644 CONFIG_SOUND_PRIME=m CONFIG_HIDRAW=y CONFIG_HID_A4TECH=m -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index 82b09a5..cf10f74 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -651,6 +651,20 @@ static struct platform_device snd_pcm5102a_codec_device = { +@@ -651,6 +651,20 @@ static struct platform_device snd_pcm510 }; #endif @@ -71,8 +67,6 @@ index 82b09a5..cf10f74 100644 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); -diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index b36a62f..714841d 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -25,3 +25,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -86,11 +80,9 @@ index b36a62f..714841d 100644 + select SND_SOC_PCM1794A + help + Say Y or M if you want to add support for RPi-DAC. -diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index be90a49cb..ccc9809 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile -@@ -10,5 +10,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o +@@ -10,5 +10,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd # BCM2708 Machine Support snd-soc-hifiberry-dac-objs := hifiberry_dac.o @@ -98,9 +90,6 @@ index be90a49cb..ccc9809 100644 obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o +obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o -diff --git a/sound/soc/bcm/rpi-dac.c b/sound/soc/bcm/rpi-dac.c -new file mode 100644 -index 0000000..ef3cd93 --- /dev/null +++ b/sound/soc/bcm/rpi-dac.c @@ -0,0 +1,97 @@ @@ -201,8 +190,6 @@ index 0000000..ef3cd93 +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index f0d76ec..4d2569e 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -59,6 +59,7 @@ config SND_SOC_ALL_CODECS @@ -223,8 +210,6 @@ index f0d76ec..4d2569e 100644 config SND_SOC_PCM5102A tristate -diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 612f414..9b806a2 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -46,6 +46,7 @@ snd-soc-hdmi-codec-objs := hdmi.o @@ -235,7 +220,7 @@ index 612f414..9b806a2 100644 snd-soc-pcm5102a-objs := pcm5102a.o snd-soc-rt5631-objs := rt5631.o snd-soc-rt5640-objs := rt5640.o -@@ -180,6 +181,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-soc-hdmi-codec.o +@@ -180,6 +181,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd- obj-$(CONFIG_SND_SOC_PCM1681) += snd-soc-pcm1681.o obj-$(CONFIG_SND_SOC_PCM1792A) += snd-soc-pcm1792a-codec.o obj-$(CONFIG_SND_SOC_PCM3008) += snd-soc-pcm3008.o @@ -243,9 +228,6 @@ index 612f414..9b806a2 100644 obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o -diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c -new file mode 100644 -index 0000000..b4eaa44 --- /dev/null +++ b/sound/soc/codecs/pcm1794a.c @@ -0,0 +1,62 @@ @@ -311,6 +293,3 @@ index 0000000..b4eaa44 +MODULE_DESCRIPTION("ASoC PCM1794A codec driver"); +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_LICENSE("GPL v2"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0043-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch b/target/linux/brcm2708/patches-3.14/0043-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch index b1e1e7bb98..3184849a68 100644 --- a/target/linux/brcm2708/patches-3.14/0043-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch +++ b/target/linux/brcm2708/patches-3.14/0043-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch @@ -20,8 +20,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net> sound/soc/codecs/wm8804.h | 4 ++++ 2 files changed, 19 insertions(+), 4 deletions(-) -diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c -index 9bc8206..c35b4f3 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c @@ -63,6 +63,7 @@ struct wm8804_priv { @@ -32,7 +30,7 @@ index 9bc8206..c35b4f3 100644 }; static int txsrc_get(struct snd_kcontrol *kcontrol, -@@ -277,6 +278,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream, +@@ -277,6 +278,7 @@ static int wm8804_hw_params(struct snd_p blen = 0x1; break; case SNDRV_PCM_FORMAT_S24_LE: @@ -49,7 +47,7 @@ index 9bc8206..c35b4f3 100644 { u64 Kpart; unsigned long int K, Ndiv, Nmod, tmp; -@@ -330,7 +332,8 @@ static int pll_factors(struct pll_div *pll_div, unsigned int target, +@@ -330,7 +332,8 @@ static int pll_factors(struct pll_div *p */ for (i = 0; i < ARRAY_SIZE(post_table); i++) { tmp = target * post_table[i].div; @@ -59,7 +57,7 @@ index 9bc8206..c35b4f3 100644 pll_div->freqmode = post_table[i].freqmode; pll_div->mclkdiv = post_table[i].mclkdiv; target *= post_table[i].div; -@@ -387,8 +390,11 @@ static int wm8804_set_pll(struct snd_soc_dai *dai, int pll_id, +@@ -387,8 +390,11 @@ static int wm8804_set_pll(struct snd_soc } else { int ret; struct pll_div pll_div; @@ -72,7 +70,7 @@ index 9bc8206..c35b4f3 100644 if (ret) return ret; -@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai, +@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_ int div_id, int div) { struct snd_soc_codec *codec; @@ -80,7 +78,7 @@ index 9bc8206..c35b4f3 100644 codec = dai->codec; switch (div_id) { -@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai, +@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_ snd_soc_update_bits(codec, WM8804_PLL5, 0x30, (div & 0x3) << 4); break; @@ -91,7 +89,7 @@ index 9bc8206..c35b4f3 100644 default: dev_err(dai->dev, "Unknown clock divider: %d\n", div_id); return -EINVAL; -@@ -641,7 +652,7 @@ static const struct snd_soc_dai_ops wm8804_dai_ops = { +@@ -641,7 +652,7 @@ static const struct snd_soc_dai_ops wm88 }; #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \ @@ -100,8 +98,6 @@ index 9bc8206..c35b4f3 100644 #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \ -diff --git a/sound/soc/codecs/wm8804.h b/sound/soc/codecs/wm8804.h -index 8ec14f5..e72d4f4 100644 --- a/sound/soc/codecs/wm8804.h +++ b/sound/soc/codecs/wm8804.h @@ -57,5 +57,9 @@ @@ -114,6 +110,3 @@ index 8ec14f5..e72d4f4 100644 +#define WM8804_MCLKDIV_128FS 1 #endif /* _WM8804_H */ --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0044-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch b/target/linux/brcm2708/patches-3.14/0044-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch index c1c4604e36..d7aaf5fbdf 100644 --- a/target/linux/brcm2708/patches-3.14/0044-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch +++ b/target/linux/brcm2708/patches-3.14/0044-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch @@ -12,8 +12,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net> 3 files changed, 162 insertions(+) create mode 100644 sound/soc/bcm/hifiberry_digi.c -diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 714841d..e563dbc 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -30,11 +28,9 @@ index 714841d..e563dbc 100644 config SND_BCM2708_SOC_RPI_DAC tristate "Support for RPi-DAC" depends on SND_BCM2708_SOC_I2S -diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index ccc9809..826df7d 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile -@@ -10,7 +10,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o +@@ -10,7 +10,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd # BCM2708 Machine Support snd-soc-hifiberry-dac-objs := hifiberry_dac.o @@ -44,9 +40,6 @@ index ccc9809..826df7d 100644 obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o -diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c -new file mode 100644 -index 0000000..e4f769d --- /dev/null +++ b/sound/soc/bcm/hifiberry_digi.c @@ -0,0 +1,153 @@ @@ -203,6 +196,3 @@ index 0000000..e4f769d +MODULE_AUTHOR("Daniel Matuschek <info@crazy-audio.com>"); +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0045-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch b/target/linux/brcm2708/patches-3.14/0045-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch index 2e5dad3d80..664a7439ad 100644 --- a/target/linux/brcm2708/patches-3.14/0045-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch +++ b/target/linux/brcm2708/patches-3.14/0045-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch @@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net> arch/arm/mach-bcm2708/bcm2708.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index cf10f74..beb2eca 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -651,6 +651,21 @@ static struct platform_device snd_pcm5102a_codec_device = { +@@ -651,6 +651,21 @@ static struct platform_device snd_pcm510 }; #endif @@ -47,6 +45,3 @@ index cf10f74..beb2eca 100644 #if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE) bcm_register_device(&snd_rpi_dac_device); bcm_register_device(&snd_pcm1794a_codec_device); --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0046-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch b/target/linux/brcm2708/patches-3.14/0046-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch index cd420afa21..c62664cdfa 100644 --- a/target/linux/brcm2708/patches-3.14/0046-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch +++ b/target/linux/brcm2708/patches-3.14/0046-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch @@ -10,8 +10,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net> arch/arm/configs/bcmrpi_defconfig | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index f877ab2..3d3c8ab 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -742,8 +742,10 @@ CONFIG_SND_USB_6FIRE=m @@ -25,6 +23,3 @@ index f877ab2..3d3c8ab 100644 CONFIG_SND_BCM2708_SOC_RPI_DAC=m CONFIG_SND_SOC_I2C_AND_SPI=m CONFIG_SND_SOC_PCM5102A=m --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0047-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch b/target/linux/brcm2708/patches-3.14/0047-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch index 53734283b1..431b0a178f 100644 --- a/target/linux/brcm2708/patches-3.14/0047-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch +++ b/target/linux/brcm2708/patches-3.14/0047-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch @@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net> sound/soc/codecs/wm8804.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c -index c35b4f3..8915d08 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c -@@ -685,7 +685,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8804 = { +@@ -685,7 +685,7 @@ static struct snd_soc_codec_driver soc_c .suspend = wm8804_suspend, .resume = wm8804_resume, .set_bias_level = wm8804_set_bias_level, @@ -22,6 +20,3 @@ index c35b4f3..8915d08 100644 .controls = wm8804_snd_controls, .num_controls = ARRAY_SIZE(wm8804_snd_controls), --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0048-ASoc-Don-t-report-S24_LE-support-it-produces-white-n.patch b/target/linux/brcm2708/patches-3.14/0048-ASoc-Don-t-report-S24_LE-support-it-produces-white-n.patch index 694ce89e8f..094dee1f0d 100644 --- a/target/linux/brcm2708/patches-3.14/0048-ASoc-Don-t-report-S24_LE-support-it-produces-white-n.patch +++ b/target/linux/brcm2708/patches-3.14/0048-ASoc-Don-t-report-S24_LE-support-it-produces-white-n.patch @@ -9,11 +9,9 @@ Subject: [PATCH 48/54] ASoc: Don't report S24_LE support, it produces white sound/soc/codecs/pcm5102a.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c -index a179216..b25e158 100644 --- a/sound/soc/bcm/bcm2708-i2s.c +++ b/sound/soc/bcm/bcm2708-i2s.c -@@ -718,7 +718,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = { +@@ -718,7 +718,7 @@ static struct snd_soc_dai_driver bcm2708 .channels_max = 2, .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE @@ -22,11 +20,9 @@ index a179216..b25e158 100644 | SNDRV_PCM_FMTBIT_S32_LE }, .capture = { -diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c -index 126f1e9..7812d34 100644 --- a/sound/soc/codecs/pcm5102a.c +++ b/sound/soc/codecs/pcm5102a.c -@@ -28,7 +28,7 @@ static struct snd_soc_dai_driver pcm5102a_dai = { +@@ -28,7 +28,7 @@ static struct snd_soc_dai_driver pcm5102 .channels_max = 2, .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S16_LE | @@ -35,6 +31,3 @@ index 126f1e9..7812d34 100644 SNDRV_PCM_FMTBIT_S32_LE }, }; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0049-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch b/target/linux/brcm2708/patches-3.14/0049-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch index ee218623c4..72538714cf 100644 --- a/target/linux/brcm2708/patches-3.14/0049-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch +++ b/target/linux/brcm2708/patches-3.14/0049-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch @@ -18,8 +18,6 @@ Subject: [PATCH 49/54] Add IQaudIO Sound Card support for Raspberry Pi create mode 100644 sound/soc/codecs/pcm512x.c create mode 100644 sound/soc/codecs/pcm512x.h -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 3d3c8ab..a024670 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -750,6 +750,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m @@ -30,11 +28,9 @@ index 3d3c8ab..a024670 100644 CONFIG_SOUND_PRIME=m CONFIG_HIDRAW=y CONFIG_HID_A4TECH=m -diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c -index beb2eca..95a47fa 100644 --- a/arch/arm/mach-bcm2708/bcm2708.c +++ b/arch/arm/mach-bcm2708/bcm2708.c -@@ -680,6 +680,22 @@ static struct platform_device snd_pcm1794a_codec_device = { +@@ -680,6 +680,22 @@ static struct platform_device snd_pcm179 }; #endif @@ -70,8 +66,6 @@ index beb2eca..95a47fa 100644 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); -diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index e563dbc..84e4f27 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -39,3 +39,10 @@ config SND_BCM2708_SOC_RPI_DAC @@ -85,11 +79,9 @@ index e563dbc..84e4f27 100644 + select SND_SOC_PCM512x + help + Say Y or M if you want to add support for IQaudIO-DAC. -diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 826df7d..d597fb0 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile -@@ -12,7 +12,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o +@@ -12,7 +12,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd snd-soc-hifiberry-dac-objs := hifiberry_dac.o snd-soc-hifiberry-digi-objs := hifiberry_digi.o snd-soc-rpi-dac-objs := rpi-dac.o @@ -99,9 +91,6 @@ index 826df7d..d597fb0 100644 obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o +obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o -diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c -new file mode 100644 -index 0000000..515f044 --- /dev/null +++ b/sound/soc/bcm/iqaudio-dac.c @@ -0,0 +1,111 @@ @@ -216,8 +205,6 @@ index 0000000..515f044 +MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>"); +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 4d2569e..ac28805 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -61,6 +61,7 @@ config SND_SOC_ALL_CODECS @@ -238,11 +225,9 @@ index 4d2569e..ac28805 100644 config SND_SOC_RT5631 tristate -diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 9b806a2..61461c1 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile -@@ -48,6 +48,7 @@ snd-soc-pcm1792a-codec-objs := pcm1792a.o +@@ -48,6 +48,7 @@ snd-soc-pcm1792a-codec-objs := pcm1792a. snd-soc-pcm3008-objs := pcm3008.o snd-soc-pcm1794a-objs := pcm1794a.o snd-soc-pcm5102a-objs := pcm5102a.o @@ -250,7 +235,7 @@ index 9b806a2..61461c1 100644 snd-soc-rt5631-objs := rt5631.o snd-soc-rt5640-objs := rt5640.o snd-soc-sgtl5000-objs := sgtl5000.o -@@ -183,6 +184,7 @@ obj-$(CONFIG_SND_SOC_PCM1792A) += snd-soc-pcm1792a-codec.o +@@ -183,6 +184,7 @@ obj-$(CONFIG_SND_SOC_PCM1792A) += snd-so obj-$(CONFIG_SND_SOC_PCM3008) += snd-soc-pcm3008.o obj-$(CONFIG_SND_SOC_PCM1794A) += snd-soc-pcm1794a.o obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o @@ -258,9 +243,6 @@ index 9b806a2..61461c1 100644 obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o obj-$(CONFIG_SND_SOC_SGTL5000) += snd-soc-sgtl5000.o -diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -new file mode 100644 -index 0000000..55b6200 --- /dev/null +++ b/sound/soc/codecs/pcm512x.c @@ -0,0 +1,677 @@ @@ -941,9 +923,6 @@ index 0000000..55b6200 +MODULE_DESCRIPTION("ASoC PCM512x codec driver"); +MODULE_AUTHOR("Mark Brown <broonie@linaro.org>"); +MODULE_LICENSE("GPL v2"); -diff --git a/sound/soc/codecs/pcm512x.h b/sound/soc/codecs/pcm512x.h -new file mode 100644 -index 0000000..b2f518e --- /dev/null +++ b/sound/soc/codecs/pcm512x.h @@ -0,0 +1,142 @@ @@ -1089,6 +1068,3 @@ index 0000000..b2f518e +#define PCM512x_AMLR_SHIFT 0 + +#endif --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch b/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch index 6a774263b9..de076303e3 100644 --- a/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch +++ b/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch @@ -11,11 +11,9 @@ hardware for both the normal and invert cases. sound/soc/soc-core.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) -diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index fe1df50..c3f41e7 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -3038,8 +3038,8 @@ int snd_soc_info_volsw_range(struct snd_kcontrol *kcontrol, +@@ -3038,8 +3038,8 @@ int snd_soc_info_volsw_range(struct snd_ uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; uinfo->count = snd_soc_volsw_is_stereo(mc) ? 2 : 1; @@ -26,7 +24,7 @@ index fe1df50..c3f41e7 100644 return 0; } -@@ -3070,9 +3070,10 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol, +@@ -3070,9 +3070,10 @@ int snd_soc_put_volsw_range(struct snd_k unsigned int val, val_mask; int ret; @@ -39,7 +37,7 @@ index fe1df50..c3f41e7 100644 val_mask = mask << shift; val = val << shift; -@@ -3081,9 +3082,10 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol, +@@ -3081,9 +3082,10 @@ int snd_soc_put_volsw_range(struct snd_k return ret; if (snd_soc_volsw_is_stereo(mc)) { @@ -52,7 +50,7 @@ index fe1df50..c3f41e7 100644 val_mask = mask << shift; val = val << shift; -@@ -3121,18 +3123,14 @@ int snd_soc_get_volsw_range(struct snd_kcontrol *kcontrol, +@@ -3121,18 +3123,14 @@ int snd_soc_get_volsw_range(struct snd_k (snd_soc_read(codec, reg) >> shift) & mask; if (invert) ucontrol->value.integer.value[0] = @@ -73,6 +71,3 @@ index fe1df50..c3f41e7 100644 } return 0; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0051-Use-a-range-macro-for-Playback-Volume.patch b/target/linux/brcm2708/patches-3.14/0051-Use-a-range-macro-for-Playback-Volume.patch index b23a4ccc51..79b9f7915b 100644 --- a/target/linux/brcm2708/patches-3.14/0051-Use-a-range-macro-for-Playback-Volume.patch +++ b/target/linux/brcm2708/patches-3.14/0051-Use-a-range-macro-for-Playback-Volume.patch @@ -9,11 +9,9 @@ DAC ouput stages. sound/soc/codecs/pcm512x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 55b6200..2653311 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c -@@ -240,8 +240,8 @@ static const struct soc_enum pcm512x_veds = +@@ -240,8 +240,8 @@ static const struct soc_enum pcm512x_ved pcm512x_ramp_step_text); static const struct snd_kcontrol_new pcm512x_controls[] = { @@ -24,6 +22,3 @@ index 55b6200..2653311 100644 SOC_DOUBLE("Playback Digital Switch", PCM512x_MUTE, PCM512x_RQML_SHIFT, PCM512x_RQMR_SHIFT, 1, 1), --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0052-fix-soc-core-s-inverse-range-and-let-IQaudIO-DAC-use.patch b/target/linux/brcm2708/patches-3.14/0052-fix-soc-core-s-inverse-range-and-let-IQaudIO-DAC-use.patch index 9007bcd1de..848ebd144b 100644 --- a/target/linux/brcm2708/patches-3.14/0052-fix-soc-core-s-inverse-range-and-let-IQaudIO-DAC-use.patch +++ b/target/linux/brcm2708/patches-3.14/0052-fix-soc-core-s-inverse-range-and-let-IQaudIO-DAC-use.patch @@ -9,11 +9,9 @@ Subject: [PATCH 52/54] fix soc-core's inverse range and let IQaudIO DAC use sound/soc/soc-core.c | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) -diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 2653311..b669e15 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c -@@ -239,9 +239,10 @@ static const struct soc_enum pcm512x_veds = +@@ -239,9 +239,10 @@ static const struct soc_enum pcm512x_ved SOC_ENUM_SINGLE(PCM512x_DIGITAL_MUTE_2, PCM512x_VEDS_SHIFT, 4, pcm512x_ramp_step_text); @@ -25,11 +23,9 @@ index 2653311..b669e15 100644 SOC_DOUBLE("Playback Digital Switch", PCM512x_MUTE, PCM512x_RQML_SHIFT, PCM512x_RQMR_SHIFT, 1, 1), -diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index c3f41e7..a8a753f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -3072,8 +3072,8 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol, +@@ -3072,8 +3072,8 @@ int snd_soc_put_volsw_range(struct snd_k if (invert) val = ((max - ucontrol->value.integer.value[0] + min) & mask); @@ -40,7 +36,7 @@ index c3f41e7..a8a753f 100644 val_mask = mask << shift; val = val << shift; -@@ -3084,8 +3084,8 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol, +@@ -3084,8 +3084,8 @@ int snd_soc_put_volsw_range(struct snd_k if (snd_soc_volsw_is_stereo(mc)) { if (invert) val = ((max - ucontrol->value.integer.value[1] + min) & mask); @@ -51,6 +47,3 @@ index c3f41e7..a8a753f 100644 val_mask = mask << shift; val = val << shift; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0053-Move-GPIO-setup-to-hw_params.patch b/target/linux/brcm2708/patches-3.14/0053-Move-GPIO-setup-to-hw_params.patch index 2219d876d9..130da2b5e2 100644 --- a/target/linux/brcm2708/patches-3.14/0053-Move-GPIO-setup-to-hw_params.patch +++ b/target/linux/brcm2708/patches-3.14/0053-Move-GPIO-setup-to-hw_params.patch @@ -9,11 +9,9 @@ the GPIO setup for other uses of the PCM interface sound/soc/bcm/bcm2708-i2s.c | 55 +++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 27 deletions(-) -diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c -index b25e158..9976571 100644 --- a/sound/soc/bcm/bcm2708-i2s.c +++ b/sound/soc/bcm/bcm2708-i2s.c -@@ -305,6 +305,31 @@ static int bcm2708_i2s_set_dai_bclk_ratio(struct snd_soc_dai *dai, +@@ -305,6 +305,31 @@ static int bcm2708_i2s_set_dai_bclk_rati return 0; } @@ -45,7 +43,7 @@ index b25e158..9976571 100644 static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) -@@ -334,6 +359,9 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream, +@@ -334,6 +359,9 @@ static int bcm2708_i2s_hw_params(struct if (csreg & (BCM2708_I2S_TXON | BCM2708_I2S_RXON)) return 0; @@ -55,7 +53,7 @@ index b25e158..9976571 100644 /* * Adjust the data length according to the format. * We prefill the half frame length with an integer -@@ -790,31 +818,6 @@ static const struct snd_soc_component_driver bcm2708_i2s_component = { +@@ -790,31 +818,6 @@ static const struct snd_soc_component_dr .name = "bcm2708-i2s-comp", }; @@ -87,7 +85,7 @@ index b25e158..9976571 100644 static const struct snd_pcm_hardware bcm2708_pcm_hardware = { .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_JOINT_DUPLEX, -@@ -865,8 +868,6 @@ static int bcm2708_i2s_probe(struct platform_device *pdev) +@@ -865,8 +868,6 @@ static int bcm2708_i2s_probe(struct plat if (IS_ERR(dev)) return PTR_ERR(dev); @@ -96,6 +94,3 @@ index b25e158..9976571 100644 dev->i2s_regmap = regmap[0]; dev->clk_regmap = regmap[1]; --- -1.9.1 - diff --git a/target/linux/brcm2708/patches-3.14/0054-fb-distinguish-physical-and-bus-addresses.patch b/target/linux/brcm2708/patches-3.14/0054-fb-distinguish-physical-and-bus-addresses.patch index 74606f9f92..661bdc60d6 100644 --- a/target/linux/brcm2708/patches-3.14/0054-fb-distinguish-physical-and-bus-addresses.patch +++ b/target/linux/brcm2708/patches-3.14/0054-fb-distinguish-physical-and-bus-addresses.patch @@ -7,8 +7,6 @@ Subject: [PATCH 54/54] fb: distinguish physical and bus addresses drivers/video/bcm2708_fb.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) -diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c -index 798eb52..b3b1e04 100644 --- a/drivers/video/bcm2708_fb.c +++ b/drivers/video/bcm2708_fb.c @@ -89,6 +89,7 @@ struct bcm2708_fb { @@ -19,7 +17,7 @@ index 798eb52..b3b1e04 100644 }; #define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb) -@@ -314,13 +315,15 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -314,13 +315,15 @@ static int bcm2708_fb_set_par(struct fb_ else fb->fb.fix.visual = FB_VISUAL_TRUECOLOR; @@ -36,7 +34,7 @@ index 798eb52..b3b1e04 100644 if (!fb->fb.screen_base) { /* the console may currently be locked */ console_trylock(); -@@ -331,7 +334,7 @@ static int bcm2708_fb_set_par(struct fb_info *info) +@@ -331,7 +334,7 @@ static int bcm2708_fb_set_par(struct fb_ } print_debug ("BCM2708FB: start = %p,%p width=%d, height=%d, bpp=%d, pitch=%d size=%d success=%d\n", @@ -45,7 +43,7 @@ index 798eb52..b3b1e04 100644 fbinfo->xres, fbinfo->yres, fbinfo->bpp, fbinfo->pitch, (int)fb->fb.screen_size, val); -@@ -457,11 +460,11 @@ static void bcm2708_fb_copyarea(struct fb_info *info, +@@ -457,11 +460,11 @@ static void bcm2708_fb_copyarea(struct f for (y = 0; y < region->height; y += scanlines_per_cb) { dma_addr_t src = @@ -59,7 +57,7 @@ index 798eb52..b3b1e04 100644 bytes_per_pixel * region->dx + (region->dy + y) * fb->fb.fix.line_length; -@@ -499,10 +502,10 @@ static void bcm2708_fb_copyarea(struct fb_info *info, +@@ -499,10 +502,10 @@ static void bcm2708_fb_copyarea(struct f stride = -fb->fb.fix.line_length; } set_dma_cb(cb, burst_size, @@ -72,6 +70,3 @@ index 798eb52..b3b1e04 100644 bytes_per_pixel * region->sx, stride, region->width * bytes_per_pixel, --- -1.9.1 - |