kernel: refresh patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43564
This commit is contained in:
parent
3951f9492f
commit
9a495f6bbb
258 changed files with 2062 additions and 4554 deletions
|
@ -11,11 +11,9 @@ Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|||
arch/mips/ar7/platform.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/mips/ar7/platform.c b/arch/mips/ar7/platform.c
|
||||
index 7e2356f..e4f47d3 100644
|
||||
--- a/arch/mips/ar7/platform.c
|
||||
+++ b/arch/mips/ar7/platform.c
|
||||
@@ -581,6 +581,7 @@ static int __init ar7_register_uarts(void)
|
||||
@@ -581,6 +581,7 @@ static int __init ar7_register_uarts(voi
|
||||
uart_port.type = PORT_AR7;
|
||||
uart_port.uartclk = clk_get_rate(bus_clk) / 2;
|
||||
uart_port.iotype = UPIO_MEM32;
|
||||
|
@ -23,6 +21,3 @@ index 7e2356f..e4f47d3 100644
|
|||
uart_port.regshift = 2;
|
||||
|
||||
uart_port.line = 0;
|
||||
--
|
||||
1.8.5.3.2.g3dbf181
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/char/Kconfig
|
||||
+++ b/drivers/char/Kconfig
|
||||
@@ -464,6 +464,15 @@ config MWAVE
|
||||
@@ -452,6 +452,15 @@ config MWAVE
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called mwave.
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
depends on SCx200
|
||||
--- a/drivers/char/Makefile
|
||||
+++ b/drivers/char/Makefile
|
||||
@@ -43,6 +43,7 @@ obj-$(CONFIG_HW_RANDOM) += hw_random/
|
||||
@@ -42,6 +42,7 @@ obj-$(CONFIG_HW_RANDOM) += hw_random/
|
||||
obj-$(CONFIG_PPDEV) += ppdev.o
|
||||
obj-$(CONFIG_NWBUTTON) += nwbutton.o
|
||||
obj-$(CONFIG_NWFLASH) += nwflash.o
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
#define AR7_IRQ_UART0 15
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -86,7 +86,7 @@ config AR7
|
||||
@@ -89,7 +89,7 @@ config AR7
|
||||
select HAVE_CLK
|
||||
help
|
||||
Support for the Texas Instruments AR7 System-on-a-Chip
|
||||
|
@ -46,7 +46,7 @@
|
|||
|
||||
config ATH79
|
||||
bool "Atheros AR71XX/AR724X/AR913X based boards"
|
||||
@@ -839,6 +839,7 @@ config NLM_XLP_BOARD
|
||||
@@ -796,6 +796,7 @@ config NLM_XLP_BOARD
|
||||
endchoice
|
||||
|
||||
source "arch/mips/alchemy/Kconfig"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/mtd/Kconfig
|
||||
+++ b/drivers/mtd/Kconfig
|
||||
@@ -192,6 +192,11 @@ config MTD_OF_PARTS
|
||||
@@ -169,6 +169,11 @@ config MTD_OF_PARTS
|
||||
the partition map from the children of the flash node,
|
||||
as described in Documentation/devicetree/booting-without-of.txt.
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
};
|
||||
|
||||
/* Uart divisor latch read */
|
||||
@@ -2843,7 +2850,11 @@ static void serial8250_console_putchar(s
|
||||
@@ -2861,7 +2868,11 @@ static void serial8250_console_putchar(s
|
||||
struct uart_8250_port *up =
|
||||
container_of(port, struct uart_8250_port, port);
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/ethernet/ti/cpmac.c
|
||||
+++ b/drivers/net/ethernet/ti/cpmac.c
|
||||
@@ -1155,6 +1155,8 @@ static int cpmac_probe(struct platform_d
|
||||
@@ -1154,6 +1154,8 @@ static int cpmac_probe(struct platform_d
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
dev->irq = platform_get_irq_byname(pdev, "irq");
|
||||
|
||||
dev->netdev_ops = &cpmac_netdev_ops;
|
||||
@@ -1233,7 +1235,7 @@ int cpmac_init(void)
|
||||
@@ -1232,7 +1234,7 @@ int cpmac_init(void)
|
||||
cpmac_mii->reset = cpmac_mdio_reset;
|
||||
cpmac_mii->irq = mii_irqs;
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
if (!cpmac_mii->priv) {
|
||||
printk(KERN_ERR "Can't ioremap mdio registers\n");
|
||||
@@ -1244,10 +1246,16 @@ int cpmac_init(void)
|
||||
@@ -1243,10 +1245,16 @@ int cpmac_init(void)
|
||||
#warning FIXME: unhardcode gpio&reset bits
|
||||
ar7_gpio_disable(26);
|
||||
ar7_gpio_disable(27);
|
||||
|
@ -37,7 +37,7 @@
|
|||
cpmac_mii->reset(cpmac_mii);
|
||||
|
||||
for (i = 0; i < 300; i++) {
|
||||
@@ -1264,7 +1272,11 @@ int cpmac_init(void)
|
||||
@@ -1263,7 +1271,11 @@ int cpmac_init(void)
|
||||
mask = 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
+ ubnt_loco_m_xw_setup);
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -121,9 +121,11 @@ enum ath79_mach_type {
|
||||
@@ -122,9 +122,11 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
|
||||
ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
|
||||
ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
select SOC_AR724X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -114,6 +114,7 @@ obj-$(CONFIG_ATH79_MACH_WNDR3700) += mac
|
||||
@@ -115,6 +115,7 @@ obj-$(CONFIG_ATH79_MACH_WNDR3700) += mac
|
||||
obj-$(CONFIG_ATH79_MACH_WNDR4300) += mach-wndr4300.o
|
||||
obj-$(CONFIG_ATH79_MACH_WNR2000) += mach-wnr2000.o
|
||||
obj-$(CONFIG_ATH79_MACH_WNR2000_V3) += mach-wnr2000-v3.o
|
||||
|
@ -29,7 +29,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_WPE72) += mach-wpe72.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -144,6 +144,7 @@ enum ath79_mach_type {
|
||||
@@ -145,6 +145,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_WNDR4300, /* NETGEAR WNDR4300 */
|
||||
ATH79_MACH_WNR2000, /* NETGEAR WNR2000 */
|
||||
ATH79_MACH_WNR2000_V3, /* NETGEAR WNR2000 v3 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -101,6 +101,7 @@ enum ath79_mach_type {
|
||||
@@ -102,6 +102,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA750RE, /* TP-LINK TL-WA750RE */
|
||||
ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
|
||||
ATH79_MACH_TL_WA850RE, /* TP-LINK TL-WA850RE */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -104,6 +104,7 @@ enum ath79_mach_type {
|
||||
@@ -105,6 +105,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA801ND_V2, /* TP-LINK TL-WA801ND v2 */
|
||||
ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
|
||||
ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -57,6 +57,7 @@ enum ath79_mach_type {
|
||||
@@ -58,6 +58,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
|
||||
ATH79_MACH_MR600, /* OpenMesh MR600 */
|
||||
ATH79_MACH_MYNET_N600, /* WD My Net N600 */
|
||||
|
@ -10,7 +10,7 @@
|
|||
ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
|
||||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -830,6 +830,16 @@ config ATH79_MACH_MYNET_N600
|
||||
@@ -839,6 +839,16 @@ config ATH79_MACH_MYNET_N600
|
||||
select ATH79_DEV_WMAC
|
||||
select ATH79_NVRAM
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
|||
select SOC_AR934X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -67,6 +67,7 @@ obj-$(CONFIG_ATH79_MACH_JWAP003) += mach
|
||||
@@ -68,6 +68,7 @@ obj-$(CONFIG_ATH79_MACH_JWAP003) += mach
|
||||
obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
|
||||
obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
|
||||
obj-$(CONFIG_ATH79_MACH_MYNET_N600) += mach-mynet-n600.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -76,6 +76,7 @@ enum ath79_mach_type {
|
||||
@@ -77,6 +77,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_450, /* MikroTik RouterBOARD 450 */
|
||||
ATH79_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
|
||||
ATH79_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
|
||||
|
@ -29,7 +29,7 @@
|
|||
select SOC_AR934X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -78,6 +78,7 @@ obj-$(CONFIG_ATH79_MACH_PB44) += mach-p
|
||||
@@ -79,6 +79,7 @@ obj-$(CONFIG_ATH79_MACH_PB44) += mach-p
|
||||
obj-$(CONFIG_ATH79_MACH_PB92) += mach-pb92.o
|
||||
obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
|
||||
obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -109,6 +109,7 @@ enum ath79_mach_type {
|
||||
@@ -110,6 +110,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
|
||||
ATH79_MACH_TL_WDR3500, /* TP-LINK TL-WDR3500 */
|
||||
ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -82,6 +82,7 @@ enum ath79_mach_type {
|
||||
@@ -83,6 +83,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
|
||||
ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
|
||||
ATH79_MACH_RB_951G, /* Mikrotik RouterBOARD 951G */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -50,6 +50,7 @@ enum ath79_mach_type {
|
||||
@@ -51,6 +51,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
|
||||
ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
|
||||
ATH79_MACH_EAP7660D, /* Senao EAP7660D */
|
||||
|
@ -29,7 +29,7 @@
|
|||
select SOC_AR71XX
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -62,6 +62,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m
|
||||
@@ -63,6 +63,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m
|
||||
obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
|
||||
obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
|
||||
obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
|
||||
|
|
|
@ -22,7 +22,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
|
|||
|
||||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -939,6 +939,10 @@ config SOC_AR934X
|
||||
@@ -948,6 +948,10 @@ config SOC_AR934X
|
||||
select PCI_AR724X if PCI
|
||||
def_bool n
|
||||
|
||||
|
@ -33,7 +33,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
|
|||
config SOC_QCA955X
|
||||
select USB_ARCH_HAS_EHCI
|
||||
select HW_HAS_PCI
|
||||
@@ -982,7 +986,7 @@ config ATH79_DEV_USB
|
||||
@@ -991,7 +995,7 @@ config ATH79_DEV_USB
|
||||
def_bool n
|
||||
|
||||
config ATH79_DEV_WMAC
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -726,6 +726,15 @@ config ATH79_MACH_TL_WR841N_V8
|
||||
@@ -735,6 +735,15 @@ config ATH79_MACH_TL_WR841N_V8
|
||||
select ATH79_DEV_USB
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
select SOC_AR913X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -100,6 +100,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += m
|
||||
@@ -101,6 +101,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += m
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8) += mach-tl-wr841n-v8.o
|
||||
|
@ -28,7 +28,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -124,6 +124,7 @@ enum ath79_mach_type {
|
||||
@@ -125,6 +125,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */
|
||||
ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */
|
||||
ATH79_MACH_TL_WR841N_V8, /* TP-LINK TL-WR841N/ND v8 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -63,6 +63,7 @@ obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mac
|
||||
@@ -64,6 +64,7 @@ obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mac
|
||||
obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
|
||||
obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
|
||||
obj-$(CONFIG_ATH79_MACH_GS_OOLITE) += mach-gs-oolite.o
|
||||
|
@ -10,7 +10,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -51,6 +51,7 @@ enum ath79_mach_type {
|
||||
@@ -52,6 +52,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
|
||||
ATH79_MACH_EAP7660D, /* Senao EAP7660D */
|
||||
ATH79_MACH_GS_OOLITE, /* GS OOLITE V1.0 */
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -131,3 +131,4 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) +
|
||||
@@ -132,3 +132,4 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) +
|
||||
obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
|
||||
obj-$(CONFIG_ATH79_MACH_ZCN_1523H) += mach-zcn-1523h.o
|
||||
obj-$(CONFIG_ATH79_MACH_CARAMBOLA2) += mach-carambola2.o
|
||||
+obj-$(CONFIG_ATH79_MACH_NBG6716) += mach-nbg6716.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -64,6 +64,7 @@ enum ath79_mach_type {
|
||||
@@ -65,6 +65,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_MZK_W04NU, /* Planex MZK-W04NU */
|
||||
ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
|
||||
ATH79_MACH_NBG460N, /* Zyxel NBG460N/550N/550NH */
|
||||
|
@ -17,7 +17,7 @@
|
|||
ATH79_MACH_OM2P, /* OpenMesh OM2P */
|
||||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -909,6 +909,17 @@ config ATH79_MACH_NBG460N
|
||||
@@ -918,6 +918,17 @@ config ATH79_MACH_NBG460N
|
||||
select ATH79_DEV_M25P80
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -67,6 +67,7 @@ enum ath79_mach_type {
|
||||
@@ -68,6 +68,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_NBG6716, /* Zyxel NBG6716 */
|
||||
ATH79_MACH_OM2P_HS, /* OpenMesh OM2P-HS */
|
||||
ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -65,6 +65,7 @@ enum ath79_mach_type {
|
||||
@@ -66,6 +66,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
|
||||
ATH79_MACH_NBG460N, /* Zyxel NBG460N/550N/550NH */
|
||||
ATH79_MACH_NBG6716, /* Zyxel NBG6716 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -50,6 +50,8 @@ enum ath79_mach_type {
|
||||
@@ -51,6 +51,8 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
|
||||
ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
|
||||
ATH79_MACH_EAP7660D, /* Senao EAP7660D */
|
||||
|
@ -40,7 +40,7 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -62,6 +62,8 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m
|
||||
@@ -63,6 +63,8 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m
|
||||
obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
|
||||
obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
|
||||
obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
select SOC_AR71XX
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -93,6 +93,8 @@ enum ath79_mach_type {
|
||||
@@ -94,6 +94,8 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
|
||||
ATH79_MACH_RB_2011L, /* Mikrotik RouterBOARD 2011L */
|
||||
ATH79_MACH_RB_2011US, /* Mikrotik RouterBOARD 2011UAS */
|
||||
|
@ -28,7 +28,7 @@
|
|||
ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -85,6 +85,7 @@ obj-$(CONFIG_ATH79_MACH_RB750) += mach-
|
||||
@@ -86,6 +86,7 @@ obj-$(CONFIG_ATH79_MACH_RB750) += mach-
|
||||
obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
|
||||
obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
|
||||
obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -666,6 +666,16 @@ config ATH79_MACH_TL_WAX50RE
|
||||
@@ -675,6 +675,16 @@ config ATH79_MACH_TL_WAX50RE
|
||||
select ATH79_DEV_M25P80
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
select SOC_AR724X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -96,6 +96,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR13U) += mac
|
||||
@@ -97,6 +97,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR13U) += mac
|
||||
obj-$(CONFIG_ATH79_MACH_TL_MR3020) += mach-tl-mr3020.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WAX50RE) += mach-tl-wax50re.o
|
||||
|
@ -29,7 +29,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_TL_WDR3500) += mach-tl-wdr3500.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -114,6 +114,7 @@ enum ath79_mach_type {
|
||||
@@ -115,6 +115,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
|
||||
ATH79_MACH_TL_WA850RE, /* TP-LINK TL-WA850RE */
|
||||
ATH79_MACH_TL_WA801ND_V2, /* TP-LINK TL-WA801ND v2 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -113,6 +113,7 @@ enum ath79_mach_type {
|
||||
@@ -114,6 +114,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WA750RE, /* TP-LINK TL-WA750RE */
|
||||
ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
|
||||
ATH79_MACH_TL_WA850RE, /* TP-LINK TL-WA850RE */
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
rb2011_setup(RB2011_FLAG_SFP |
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -93,6 +93,7 @@ enum ath79_mach_type {
|
||||
@@ -94,6 +94,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
|
||||
ATH79_MACH_RB_2011L, /* Mikrotik RouterBOARD 2011L */
|
||||
ATH79_MACH_RB_2011US, /* Mikrotik RouterBOARD 2011UAS */
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -52,6 +52,7 @@ enum ath79_mach_type {
|
||||
@@ -53,6 +53,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_EAP7660D, /* Senao EAP7660D */
|
||||
ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
|
||||
ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
|
||||
|
@ -29,7 +29,7 @@
|
|||
ATH79_MACH_JA76PF, /* jjPlus JA76PF */
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -64,6 +64,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mac
|
||||
@@ -65,6 +65,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mac
|
||||
obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
|
||||
obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
|
||||
obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
select SOC_AR724X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -64,6 +64,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mac
|
||||
@@ -65,6 +65,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mac
|
||||
obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
|
||||
obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
|
||||
obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
|
||||
|
@ -29,7 +29,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361) += mach-hiwifi-hc6361.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -52,6 +52,7 @@ enum ath79_mach_type {
|
||||
@@ -53,6 +53,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_EAP7660D, /* Senao EAP7660D */
|
||||
ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
|
||||
ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -47,6 +47,7 @@ enum ath79_mach_type {
|
||||
@@ -48,6 +48,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_DIR_825_C1, /* D-Link DIR-825 rev. C1 */
|
||||
ATH79_MACH_DIR_835_A1, /* D-Link DIR-835 rev. A1 */
|
||||
ATH79_MACH_DRAGINO2, /* Dragino Version 2 */
|
||||
|
@ -29,7 +29,7 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -60,6 +60,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += m
|
||||
@@ -61,6 +61,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += m
|
||||
obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o
|
||||
obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += mach-dir-825-c1.o
|
||||
obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -141,6 +141,7 @@ enum ath79_mach_type {
|
||||
@@ -142,6 +142,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WR841N_V9, /* TP-LINK TL-WR841N/ND v9 */
|
||||
ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */
|
||||
ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
|
||||
|
@ -28,7 +28,7 @@
|
|||
select SOC_AR724X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -116,6 +116,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2)
|
||||
@@ -117,6 +117,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2)
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WR2543N) += mach-tl-wr2543n.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WR703N) += mach-tl-wr703n.o
|
||||
obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3) += mach-tl-wr720n-v3.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -50,6 +50,7 @@ enum ath79_mach_type {
|
||||
@@ -51,6 +51,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_ESR900, /* EnGenius ESR900 */
|
||||
ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
|
||||
ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
|
||||
|
@ -28,7 +28,7 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -62,6 +62,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m
|
||||
@@ -63,6 +63,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1) += m
|
||||
obj-$(CONFIG_ATH79_MACH_DRAGINO2) += mach-dragino2.o
|
||||
obj-$(CONFIG_ATH79_MACH_ESR900) += mach-esr900.o
|
||||
obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
+
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -143,6 +143,7 @@ enum ath79_mach_type {
|
||||
@@ -144,6 +144,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_TL_WR842N_V2, /* TP-LINK TL-WR842N/ND v2 */
|
||||
ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
|
||||
ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -76,6 +76,7 @@ enum ath79_mach_type {
|
||||
@@ -77,6 +77,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
|
||||
ATH79_MACH_OM2Pv2, /* OpenMesh OM2Pv2 */
|
||||
ATH79_MACH_OM2P, /* OpenMesh OM2P */
|
||||
|
@ -28,7 +28,7 @@
|
|||
select SOC_AR934X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -81,6 +81,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W04NU) += ma
|
||||
@@ -82,6 +82,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W04NU) += ma
|
||||
obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += mach-mzk-w300nh.o
|
||||
obj-$(CONFIG_ATH79_MACH_NBG460N) += mach-nbg460n.o
|
||||
obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -103,6 +103,7 @@ enum ath79_mach_type {
|
||||
@@ -104,6 +104,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_SXTLITE2ND, /* Mikrotik RouterBOARD SXT Lite 2nD */
|
||||
ATH79_MACH_RB_SXTLITE5ND, /* Mikrotik RouterBOARD SXT Lite 5nD */
|
||||
ATH79_MACH_RW2458N, /* Redwave RW2458N */
|
||||
|
@ -28,7 +28,7 @@
|
|||
select SOC_AR71XX
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -92,6 +92,7 @@ obj-$(CONFIG_ATH79_MACH_RB95X) += mach-
|
||||
@@ -93,6 +93,7 @@ obj-$(CONFIG_ATH79_MACH_RB95X) += mach-
|
||||
obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
|
||||
obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
|
||||
obj-$(CONFIG_ATH79_MACH_RW2458N) += mach-rw2458n.o
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011R5, "2011r5", rb2011r5_setup);
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -99,7 +99,7 @@ enum ath79_mach_type {
|
||||
@@ -100,7 +100,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_RB_2011G, /* Mikrotik RouterBOARD 2011UAS-2HnD */
|
||||
ATH79_MACH_RB_2011L, /* Mikrotik RouterBOARD 2011L */
|
||||
ATH79_MACH_RB_2011US, /* Mikrotik RouterBOARD 2011UAS */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/Kconfig
|
||||
+++ b/arch/mips/ath79/Kconfig
|
||||
@@ -1044,6 +1044,17 @@ config ATH79_MACH_BHU_BXU2000N2_A
|
||||
@@ -1053,6 +1053,17 @@ config ATH79_MACH_BHU_BXU2000N2_A
|
||||
select ATH79_DEV_USB
|
||||
select ATH79_DEV_WMAC
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
|||
config SOC_AR71XX
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -80,6 +80,7 @@ enum ath79_mach_type {
|
||||
@@ -81,6 +81,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_OM5P, /* OpenMesh OM5P */
|
||||
ATH79_MACH_PB42, /* Atheros PB42 */
|
||||
ATH79_MACH_PB92, /* Atheros PB92 */
|
||||
|
@ -30,7 +30,7 @@
|
|||
ATH79_MACH_RB_433, /* MikroTik RouterBOARD 433/433AH */
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -85,6 +85,7 @@ obj-$(CONFIG_ATH79_MACH_OM5P) += mach-o
|
||||
@@ -86,6 +86,7 @@ obj-$(CONFIG_ATH79_MACH_OM5P) += mach-o
|
||||
obj-$(CONFIG_ATH79_MACH_PB42) += mach-pb42.o
|
||||
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
|
||||
obj-$(CONFIG_ATH79_MACH_PB92) += mach-pb92.o
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -184,6 +184,7 @@ enum ath79_mach_type {
|
||||
@@ -185,6 +185,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */
|
||||
ATH79_MACH_WZR_HP_G300NH2, /* Buffalo WZR-HP-G300NH2 */
|
||||
ATH79_MACH_WZR_HP_G450H, /* Buffalo WZR-HP-G450H */
|
||||
|
@ -29,7 +29,7 @@
|
|||
select SOC_AR71XX
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -141,6 +141,7 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) +
|
||||
@@ -142,6 +142,7 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) +
|
||||
obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2) += mach-wzr-hp-g300nh2.o
|
||||
obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o
|
||||
obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -39,6 +39,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_CARAMBOLA2, /* 8devices Carambola2 */
|
||||
@@ -40,6 +40,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_CPE510, /* TP-LINK CPE510 */
|
||||
ATH79_MACH_DB120, /* Atheros DB120 reference board */
|
||||
ATH79_MACH_PB44, /* Atheros PB44 reference board */
|
||||
+ ATH79_MACH_DHP_1565_A1, /* D-Link DHP-1565 rev. A1 */
|
||||
|
@ -30,9 +30,9 @@
|
|||
select SOC_AR933X
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -54,6 +54,7 @@ obj-$(CONFIG_ATH79_MACH_AW_NR580) += mac
|
||||
obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
|
||||
@@ -55,6 +55,7 @@ obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)
|
||||
obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
|
||||
obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
|
||||
obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
|
||||
+obj-$(CONFIG_ATH79_MACH_DHP_1565_A1) += mach-dhp-1565-a1.o
|
||||
obj-$(CONFIG_ATH79_MACH_DIR_505_A1) += mach-dir-505-a1.o
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
select SOC_AR71XX
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -75,6 +75,7 @@ obj-$(CONFIG_ATH79_MACH_JA76PF) += mach
|
||||
@@ -76,6 +76,7 @@ obj-$(CONFIG_ATH79_MACH_JA76PF) += mach
|
||||
obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
|
||||
obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
|
||||
obj-$(CONFIG_ATH79_MACH_MR600) += mach-mr600.o
|
||||
|
@ -29,7 +29,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_MYNET_REXT) += mach-mynet-rext.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -66,6 +66,7 @@ enum ath79_mach_type {
|
||||
@@ -67,6 +67,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
|
||||
ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
|
||||
ATH79_MACH_MR600, /* OpenMesh MR600 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -67,6 +67,7 @@ enum ath79_mach_type {
|
||||
@@ -68,6 +68,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_MR600V2, /* OpenMesh MR600v2 */
|
||||
ATH79_MACH_MR600, /* OpenMesh MR600 */
|
||||
ATH79_MACH_MR900, /* OpenMesh MR900 */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
select SOC_AR71XX
|
||||
--- a/arch/mips/ath79/Makefile
|
||||
+++ b/arch/mips/ath79/Makefile
|
||||
@@ -88,6 +88,7 @@ obj-$(CONFIG_ATH79_MACH_PB42) += mach-p
|
||||
@@ -89,6 +89,7 @@ obj-$(CONFIG_ATH79_MACH_PB42) += mach-p
|
||||
obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
|
||||
obj-$(CONFIG_ATH79_MACH_PB92) += mach-pb92.o
|
||||
obj-$(CONFIG_ATH79_MACH_QIHOO_C301) += mach-qihoo-c301.o
|
||||
|
@ -30,7 +30,7 @@
|
|||
obj-$(CONFIG_ATH79_MACH_RB91X) += mach-rb91x.o
|
||||
--- a/arch/mips/ath79/machtypes.h
|
||||
+++ b/arch/mips/ath79/machtypes.h
|
||||
@@ -84,6 +84,7 @@ enum ath79_mach_type {
|
||||
@@ -85,6 +85,7 @@ enum ath79_mach_type {
|
||||
ATH79_MACH_PB42, /* Atheros PB42 */
|
||||
ATH79_MACH_PB92, /* Atheros PB92 */
|
||||
ATH79_MACH_QIHOO_C301, /* Qihoo 360 C301 */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/alchemy/board-mtx1.c
|
||||
+++ b/arch/mips/alchemy/board-mtx1.c
|
||||
@@ -171,7 +171,7 @@ static struct platform_device mtx1_gpio_
|
||||
@@ -169,7 +169,7 @@ static struct platform_device mtx1_gpio_
|
||||
|
||||
static struct mtd_partition mtx1_mtd_partitions[] = {
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/net/ethernet/amd/au1000_eth.c
|
||||
+++ b/drivers/net/ethernet/amd/au1000_eth.c
|
||||
@@ -990,10 +990,14 @@ static void au1000_multicast_list(struct
|
||||
@@ -988,10 +988,14 @@ static void au1000_multicast_list(struct
|
||||
writel(reg, &aup->mac->control);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/alchemy/board-mtx1.c
|
||||
+++ b/arch/mips/alchemy/board-mtx1.c
|
||||
@@ -100,6 +100,9 @@ void __init board_setup(void)
|
||||
@@ -98,6 +98,9 @@ void __init board_setup(void)
|
||||
alchemy_gpio_direction_output(211, 1); /* green on */
|
||||
alchemy_gpio_direction_output(212, 0); /* red off */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/drivers/mtd/bcm47xxpart.c
|
||||
+++ b/drivers/mtd/bcm47xxpart.c
|
||||
@@ -89,6 +89,7 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
@@ -93,6 +93,7 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
int trx_part = -1;
|
||||
int last_trx_part = -1;
|
||||
int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
|
||||
|
@ -8,7 +8,7 @@
|
|||
|
||||
if (blocksize <= 0x10000)
|
||||
blocksize = 0x10000;
|
||||
@@ -269,12 +270,23 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
@@ -280,12 +281,23 @@ static int bcm47xxpart_parse(struct mtd_
|
||||
if (buf[0] == NVRAM_HEADER) {
|
||||
bcm47xxpart_add_part(&parts[curr_part++], "nvram",
|
||||
master->size - blocksize, 0);
|
||||
|
|
|
@ -351,7 +351,7 @@
|
|||
}
|
||||
--- a/arch/mips/mm/tlbex.c
|
||||
+++ b/arch/mips/mm/tlbex.c
|
||||
@@ -1277,6 +1277,9 @@ static void build_r4000_tlb_refill_handl
|
||||
@@ -1280,6 +1280,9 @@ static void build_r4000_tlb_refill_handl
|
||||
/* No need for uasm_i_nop */
|
||||
}
|
||||
|
||||
|
@ -361,7 +361,7 @@
|
|||
#ifdef CONFIG_64BIT
|
||||
build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
|
||||
#else
|
||||
@@ -1835,6 +1838,9 @@ build_r4000_tlbchange_handler_head(u32 *
|
||||
@@ -1840,6 +1843,9 @@ build_r4000_tlbchange_handler_head(u32 *
|
||||
{
|
||||
struct work_registers wr = build_get_work_registers(p);
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue