aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2016-01-12 20:50:41 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2016-01-12 20:50:41 +0000
commitba3a749f9b29b40784bb576651142c601d4a7211 (patch)
tree5adb2f84ad87b100b0a0bde6f1e0407aa32203e1 /target/linux/sunxi
parentbd99318c820c47af63c30dcf12fb3f929c257180 (diff)
downloadupstream-ba3a749f9b29b40784bb576651142c601d4a7211.tar.gz
upstream-ba3a749f9b29b40784bb576651142c601d4a7211.tar.bz2
upstream-ba3a749f9b29b40784bb576651142c601d4a7211.zip
kernel: refresh patches for kernel 4.4
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 48222
Diffstat (limited to 'target/linux/sunxi')
-rw-r--r--target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch6
-rw-r--r--target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch15
-rw-r--r--target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch3
-rw-r--r--target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch7
-rw-r--r--target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch18
-rw-r--r--target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch28
-rw-r--r--target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch6
-rw-r--r--target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch11
-rw-r--r--target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch4
-rw-r--r--target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch6
-rw-r--r--target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch11
-rw-r--r--target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch19
-rw-r--r--target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch4
-rw-r--r--target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch12
-rw-r--r--target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch4
-rw-r--r--target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch16
-rw-r--r--target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch22
-rw-r--r--target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch12
-rw-r--r--target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch12
-rw-r--r--target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch2
-rw-r--r--target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch7
28 files changed, 70 insertions, 169 deletions
diff --git a/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch b/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch
index f9caaa014c..4d353f3789 100644
--- a/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch
+++ b/target/linux/sunxi/patches-4.4/100-clk-sunxi-add-dram-gates-support.patch
@@ -19,13 +19,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-simple-gates.c | 12 ++++++++++++
2 files changed, 13 insertions(+)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index 153ac72..ef0b452 100644
-diff --git a/drivers/clk/sunxi/clk-simple-gates.c b/drivers/clk/sunxi/clk-simple-gates.c
-index c8acc06..f4da52b 100644
--- a/drivers/clk/sunxi/clk-simple-gates.c
+++ b/drivers/clk/sunxi/clk-simple-gates.c
-@@ -160,3 +160,15 @@ CLK_OF_DECLARE(sun5i_a13_ahb, "allwinner,sun5i-a13-ahb-gates-clk",
+@@ -158,3 +158,15 @@ CLK_OF_DECLARE(sun5i_a13_ahb, "allwinner
sun4i_a10_ahb_init);
CLK_OF_DECLARE(sun7i_a20_ahb, "allwinner,sun7i-a20-ahb-gates-clk",
sun4i_a10_ahb_init);
diff --git a/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch b/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch
index 9bdf400c9c..e21eca4e1f 100644
--- a/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch
+++ b/target/linux/sunxi/patches-4.4/101-dt-sun4i-add-dram-gates.patch
@@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 36 ++++++++++++++++++++++++++++++++----
1 file changed, 32 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index aa90f31..849d024 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -66,7 +66,7 @@
diff --git a/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch b/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch
index 981ef5ba78..397269076c 100644
--- a/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch
+++ b/target/linux/sunxi/patches-4.4/102-dt-sun7i-add-dram-gates.patch
@@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 32 +++++++++++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index e02eb72..21169c0 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -68,7 +68,7 @@
diff --git a/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch b/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch
index 04a536f330..8bc66274c3 100644
--- a/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch
+++ b/target/linux/sunxi/patches-4.4/103-clk-sunxi-add-h3-clksupport.patch
@@ -24,10 +24,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
4 files changed, 121 insertions(+)
create mode 100644 drivers/clk/sunxi/clk-sun8i-bus-gates.c
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index ef0b452..014eab8 100644
-diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile
-index 103efab..abf4916 100644
--- a/drivers/clk/sunxi/Makefile
+++ b/drivers/clk/sunxi/Makefile
@@ -10,6 +10,7 @@ obj-y += clk-a10-pll2.o
@@ -38,9 +34,6 @@ index 103efab..abf4916 100644
obj-y += clk-sun8i-mbus.o
obj-y += clk-sun9i-core.o
obj-y += clk-sun9i-mmc.o
-diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
-new file mode 100644
-index 0000000..7ab60c5
--- /dev/null
+++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
@@ -0,0 +1,112 @@
@@ -156,11 +149,9 @@ index 0000000..7ab60c5
+
+CLK_OF_DECLARE(sun8i_h3_bus_gates, "allwinner,sun8i-h3-bus-gates-clk",
+ sun8i_h3_bus_gates_init);
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 9c79af0c..5ba2188 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -778,6 +778,10 @@ static const struct mux_data sun6i_a31_ahb1_mux_data __initconst = {
+@@ -778,6 +778,10 @@ static const struct mux_data sun6i_a31_a
.shift = 12,
};
@@ -171,7 +162,7 @@ index 9c79af0c..5ba2188 100644
static void __init sunxi_mux_clk_setup(struct device_node *node,
struct mux_data *data)
{
-@@ -1130,6 +1134,7 @@ static const struct of_device_id clk_divs_match[] __initconst = {
+@@ -1130,6 +1134,7 @@ static const struct of_device_id clk_div
static const struct of_device_id clk_mux_match[] __initconst = {
{.compatible = "allwinner,sun4i-a10-cpu-clk", .data = &sun4i_cpu_mux_data,},
{.compatible = "allwinner,sun6i-a31-ahb1-mux-clk", .data = &sun6i_a31_ahb1_mux_data,},
@@ -179,7 +170,7 @@ index 9c79af0c..5ba2188 100644
{}
};
-@@ -1212,6 +1217,7 @@ CLK_OF_DECLARE(sun6i_a31_clk_init, "allwinner,sun6i-a31", sun6i_init_clocks);
+@@ -1212,6 +1217,7 @@ CLK_OF_DECLARE(sun6i_a31_clk_init, "allw
CLK_OF_DECLARE(sun6i_a31s_clk_init, "allwinner,sun6i-a31s", sun6i_init_clocks);
CLK_OF_DECLARE(sun8i_a23_clk_init, "allwinner,sun8i-a23", sun6i_init_clocks);
CLK_OF_DECLARE(sun8i_a33_clk_init, "allwinner,sun8i-a33", sun6i_init_clocks);
diff --git a/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch b/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch
index 19e957bd61..35a653c5fe 100644
--- a/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch
+++ b/target/linux/sunxi/patches-4.4/104-1-dt-sunxi-add-h3-dtsi.patch
@@ -13,9 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
1 file changed, 497 insertions(+)
create mode 100644 arch/arm/boot/dts/sun8i-h3.dtsi
-diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
-new file mode 100644
-index 0000000..1524130e
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -0,0 +1,497 @@
diff --git a/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch b/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch
index 589a85856c..67094a4beb 100644
--- a/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch
+++ b/target/linux/sunxi/patches-4.4/104-2-dt-sun8i-add-orangepi-plus.patch
@@ -17,11 +17,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2 files changed, 79 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index e8f44c7..cc7309b 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -661,7 +661,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \
+@@ -660,7 +660,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-a33-ga10h-v1.1.dtb \
sun8i-a33-ippo-q8h-v1.2.dtb \
sun8i-a33-q8-tablet.dtb \
@@ -31,9 +29,6 @@ index e8f44c7..cc7309b 100644
dtb-$(CONFIG_MACH_SUN9I) += \
sun9i-a80-optimus.dtb \
sun9i-a80-cubieboard4.dtb
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-new file mode 100644
-index 0000000..e67df59
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
@@ -0,0 +1,77 @@
diff --git a/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch b/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch
index 970de980f1..7715b585d0 100644
--- a/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch
+++ b/target/linux/sunxi/patches-4.4/105-phy-use_of_match_node.patch
@@ -13,8 +13,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-sun4i-usb.c | 121 +++++++++++++++++++++++++++++---------------
1 file changed, 79 insertions(+), 42 deletions(-)
-diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c
-index b12964b..35b1fa3 100644
--- a/drivers/phy/phy-sun4i-usb.c
+++ b/drivers/phy/phy-sun4i-usb.c
@@ -32,6 +32,7 @@
@@ -52,7 +50,7 @@ index b12964b..35b1fa3 100644
struct sun4i_usb_phy {
struct phy *phy;
void __iomem *pmu;
-@@ -159,17 +171,14 @@ static void sun4i_usb_phy_write(struct sun4i_usb_phy *phy, u32 addr, u32 data,
+@@ -159,17 +171,14 @@ static void sun4i_usb_phy_write(struct s
{
struct sun4i_usb_phy_data *phy_data = to_sun4i_usb_phy_data(phy);
u32 temp, usbc_bit = BIT(phy->index * 2);
@@ -72,7 +70,7 @@ index b12964b..35b1fa3 100644
}
for (i = 0; i < len; i++) {
-@@ -249,7 +258,8 @@ static int sun4i_usb_phy_init(struct phy *_phy)
+@@ -249,7 +258,8 @@ static int sun4i_usb_phy_init(struct phy
sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
/* Disconnect threshold adjustment */
@@ -82,7 +80,7 @@ index b12964b..35b1fa3 100644
sun4i_usb_phy_passby(phy, 1);
-@@ -476,7 +486,7 @@ static struct phy *sun4i_usb_phy_xlate(struct device *dev,
+@@ -476,7 +486,7 @@ static struct phy *sun4i_usb_phy_xlate(s
{
struct sun4i_usb_phy_data *data = dev_get_drvdata(dev);
@@ -91,7 +89,7 @@ index b12964b..35b1fa3 100644
return ERR_PTR(-ENODEV);
return data->phys[args->args[0]].phy;
-@@ -511,7 +521,6 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
+@@ -511,7 +521,6 @@ static int sun4i_usb_phy_probe(struct pl
struct device *dev = &pdev->dev;
struct device_node *np = dev->of_node;
struct phy_provider *phy_provider;
@@ -99,7 +97,7 @@ index b12964b..35b1fa3 100644
struct resource *res;
int i, ret;
-@@ -522,29 +531,9 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
+@@ -522,29 +531,9 @@ static int sun4i_usb_phy_probe(struct pl
mutex_init(&data->mutex);
INIT_DELAYED_WORK(&data->detect, sun4i_usb_phy0_id_vbus_det_scan);
dev_set_drvdata(dev, data);
@@ -132,7 +130,7 @@ index b12964b..35b1fa3 100644
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_ctrl");
data->base = devm_ioremap_resource(dev, res);
-@@ -590,7 +579,7 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
+@@ -590,7 +579,7 @@ static int sun4i_usb_phy_probe(struct pl
}
}
@@ -141,7 +139,7 @@ index b12964b..35b1fa3 100644
struct sun4i_usb_phy *phy = data->phys + i;
char name[16];
-@@ -602,7 +591,7 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
+@@ -602,7 +591,7 @@ static int sun4i_usb_phy_probe(struct pl
phy->vbus = NULL;
}
@@ -150,7 +148,7 @@ index b12964b..35b1fa3 100644
snprintf(name, sizeof(name), "usb%d_phy", i);
else
strlcpy(name, "usb_phy", sizeof(name));
-@@ -689,13 +678,61 @@ static int sun4i_usb_phy_probe(struct platform_device *pdev)
+@@ -689,13 +678,61 @@ static int sun4i_usb_phy_probe(struct pl
return 0;
}
diff --git a/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch b/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch
index 47c6332a77..33943230e8 100644
--- a/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch
+++ b/target/linux/sunxi/patches-4.4/106-phy-add-h3-usbphys.patch
@@ -16,8 +16,6 @@ Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-sun4i-usb.c | 41 +++++++++++++++++-----
2 files changed, 33 insertions(+), 9 deletions(-)
-diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
-index 0cebf74..95736d7 100644
--- a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
@@ -9,6 +9,7 @@ Required properties:
@@ -28,8 +26,6 @@ index 0cebf74..95736d7 100644
- reg : a list of offset + length pairs
- reg-names :
* "phy_ctrl"
-diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c
-index 35b1fa3..bae54f7 100644
--- a/drivers/phy/phy-sun4i-usb.c
+++ b/drivers/phy/phy-sun4i-usb.c
@@ -47,6 +47,9 @@
@@ -59,7 +55,7 @@ index 35b1fa3..bae54f7 100644
};
struct sun4i_usb_phy_cfg {
-@@ -239,6 +243,7 @@ static int sun4i_usb_phy_init(struct phy *_phy)
+@@ -239,6 +243,7 @@ static int sun4i_usb_phy_init(struct phy
struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
struct sun4i_usb_phy_data *data = to_sun4i_usb_phy_data(phy);
int ret;
@@ -67,13 +63,20 @@ index 35b1fa3..bae54f7 100644
ret = clk_prepare_enable(phy->clk);
if (ret)
-@@ -250,16 +255,26 @@ static int sun4i_usb_phy_init(struct phy *_phy)
+@@ -250,16 +255,26 @@ static int sun4i_usb_phy_init(struct phy
return ret;
}
- /* Enable USB 45 Ohm resistor calibration */
- if (phy->index == 0)
- sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1);
+-
+- /* Adjust PHY's magnitude and rate */
+- sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
+-
+- /* Disconnect threshold adjustment */
+- sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
+- data->cfg->disc_thresh, 2);
+ if (data->cfg->type == sun8i_h3_phy) {
+ if (phy->index == 0) {
+ val = readl(data->base + REG_PHY_UNK_H3);
@@ -86,15 +89,10 @@ index 35b1fa3..bae54f7 100644
+ /* Enable USB 45 Ohm resistor calibration */
+ if (phy->index == 0)
+ sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, 0x01, 1);
-
-- /* Adjust PHY's magnitude and rate */
-- sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
++
+ /* Adjust PHY's magnitude and rate */
+ sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, 0x14, 5);
-
-- /* Disconnect threshold adjustment */
-- sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
-- data->cfg->disc_thresh, 2);
++
+ /* Disconnect threshold adjustment */
+ sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL,
+ data->cfg->disc_thresh, 2);
@@ -102,7 +100,7 @@ index 35b1fa3..bae54f7 100644
sun4i_usb_phy_passby(phy, 1);
-@@ -726,6 +741,13 @@ static const struct sun4i_usb_phy_cfg sun8i_a33_cfg = {
+@@ -726,6 +741,13 @@ static const struct sun4i_usb_phy_cfg su
.dedicated_clocks = true,
};
@@ -116,7 +114,7 @@ index 35b1fa3..bae54f7 100644
static const struct of_device_id sun4i_usb_phy_of_match[] = {
{ .compatible = "allwinner,sun4i-a10-usb-phy", .data = &sun4i_a10_cfg },
{ .compatible = "allwinner,sun5i-a13-usb-phy", .data = &sun5i_a13_cfg },
-@@ -733,6 +755,7 @@ static const struct of_device_id sun4i_usb_phy_of_match[] = {
+@@ -733,6 +755,7 @@ static const struct of_device_id sun4i_u
{ .compatible = "allwinner,sun7i-a20-usb-phy", .data = &sun7i_a20_cfg },
{ .compatible = "allwinner,sun8i-a23-usb-phy", .data = &sun8i_a23_cfg },
{ .compatible = "allwinner,sun8i-a33-usb-phy", .data = &sun8i_a33_cfg },
diff --git a/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch b/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch
index 7cd0a62557..ddd5e978f4 100644
--- a/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch
+++ b/target/linux/sunxi/patches-4.4/107-clk-sunxi-add-h3-usbphy-clocks.patch
@@ -17,8 +17,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-usb.c | 12 ++++++++++++
2 files changed, 13 insertions(+)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index 8a47b77..a94bb56 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -68,6 +68,7 @@ Required properties:
@@ -29,11 +27,9 @@ index 8a47b77..a94bb56 100644
"allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80
"allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80
-diff --git a/drivers/clk/sunxi/clk-usb.c b/drivers/clk/sunxi/clk-usb.c
-index 1a72cd6..67b8e38 100644
--- a/drivers/clk/sunxi/clk-usb.c
+++ b/drivers/clk/sunxi/clk-usb.c
-@@ -243,3 +243,15 @@ static void __init sun9i_a80_usb_phy_setup(struct device_node *node)
+@@ -243,3 +243,15 @@ static void __init sun9i_a80_usb_phy_set
sunxi_usb_clk_setup(node, &sun9i_a80_usb_phy_data, &a80_usb_phy_lock);
}
CLK_OF_DECLARE(sun9i_a80_usb_phy, "allwinner,sun9i-a80-usb-phy-clk", sun9i_a80_usb_phy_setup);
diff --git a/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch b/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch
index 12c9e5e2af..780e034062 100644
--- a/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch
+++ b/target/linux/sunxi/patches-4.4/110-clk-sunxi-add-ve-for-sun457i.patch
@@ -20,11 +20,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
3 files changed, 176 insertions(+)
create mode 100644 drivers/clk/sunxi/clk-a10-ve.c
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index 014eab8..e59f57b 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
-@@ -76,6 +76,7 @@ Required properties:
+@@ -71,6 +71,7 @@ Required properties:
"allwinner,sun8i-h3-usb-clk" - for usb gates + resets on H3
"allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80
"allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80
@@ -32,7 +30,7 @@ index 014eab8..e59f57b 100644
Required properties for all clocks:
- reg : shall be the control register address for the clock.
-@@ -95,6 +96,9 @@ Required properties for all clocks:
+@@ -90,6 +91,9 @@ Required properties for all clocks:
And "allwinner,*-usb-clk" clocks also require:
- reset-cells : shall be set to 1
@@ -42,8 +40,6 @@ index 014eab8..e59f57b 100644
The "allwinner,sun9i-a80-mmc-config-clk" clock also requires:
- #reset-cells : shall be set to 1
- resets : shall be the reset control phandle for the mmc block.
-diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile
-index abf4916..1a909f9 100644
--- a/drivers/clk/sunxi/Makefile
+++ b/drivers/clk/sunxi/Makefile
@@ -7,6 +7,7 @@ obj-y += clk-a10-codec.o
@@ -54,9 +50,6 @@ index abf4916..1a909f9 100644
obj-y += clk-a20-gmac.o
obj-y += clk-mod0.o
obj-y += clk-simple-gates.o
-diff --git a/drivers/clk/sunxi/clk-a10-ve.c b/drivers/clk/sunxi/clk-a10-ve.c
-new file mode 100644
-index 0000000..044c171
--- /dev/null
+++ b/drivers/clk/sunxi/clk-a10-ve.c
@@ -0,0 +1,171 @@
diff --git a/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch b/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch
index f24711ea41..cfcf9bfb40 100644
--- a/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch
+++ b/target/linux/sunxi/patches-4.4/111-1-dt-sun4i-add-ve-clock-module.patch
@@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 849d024..2c8f5e6 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -520,6 +520,15 @@
diff --git a/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch b/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch
index bac58d088e..85d2d31615 100644
--- a/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch
+++ b/target/linux/sunxi/patches-4.4/111-2-dt-sun7i-add-ve-clock-module.patch
@@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 21169c0..0940a78 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -527,6 +527,15 @@
diff --git a/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch b/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch
index 3814e347fd..49c7162a6a 100644
--- a/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch
+++ b/target/linux/sunxi/patches-4.4/115-musb-ignore-vbus-errors.patch
@@ -11,11 +11,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/usb/musb/sunxi.c | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/drivers/usb/musb/sunxi.c b/drivers/usb/musb/sunxi.c
-index d9b0dc4..4b472b8 100644
--- a/drivers/usb/musb/sunxi.c
+++ b/drivers/usb/musb/sunxi.c
-@@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt(int irq, void *__hci)
+@@ -194,6 +194,10 @@ static irqreturn_t sunxi_musb_interrupt(
musb_writeb(musb->mregs, MUSB_FADDR, 0);
}
diff --git a/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch b/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch
index 3dfa60c77e..261a19d8d3 100644
--- a/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch
+++ b/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch
@@ -17,11 +17,9 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/sunxi-ss/sun4i-ss-core.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-core.c b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
-index eab6fe2..107cd2a 100644
--- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c
+++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
-@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_algs[] = {
+@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_a
.import = sun4i_hash_import_md5,
.halg = {
.digestsize = MD5_DIGEST_SIZE,
@@ -29,7 +27,7 @@ index eab6fe2..107cd2a 100644
.base = {
.cra_name = "md5",
.cra_driver_name = "md5-sun4i-ss",
-@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_algs[] = {
+@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_a
.import = sun4i_hash_import_sha1,
.halg = {
.digestsize = SHA1_DIGEST_SIZE,
diff --git a/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch b/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch
index 37921fa984..47dce12a9d 100644
--- a/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch
+++ b/target/linux/sunxi/patches-4.4/130-pinctrl-sunxi-add-h3-pio.patch
@@ -16,8 +16,6 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
4 files changed, 522 insertions(+)
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c
-diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
-index b321b26..e6ba602 100644
--- a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
@@ -18,6 +18,7 @@ Required properties:
@@ -28,8 +26,6 @@ index b321b26..e6ba602 100644
- reg: Should contain the register physical address and length for the
pin controller.
-diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
-index e68fd95..89ab7f5 100644
--- a/drivers/pinctrl/sunxi/Kconfig
+++ b/drivers/pinctrl/sunxi/Kconfig
@@ -51,6 +51,10 @@ config PINCTRL_SUN8I_A23_R
@@ -43,19 +39,14 @@ index e68fd95..89ab7f5 100644
config PINCTRL_SUN9I_A80
def_bool MACH_SUN9I
select PINCTRL_SUNXI_COMMON
-diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
-index e080290..6bd818e 100644
--- a/drivers/pinctrl/sunxi/Makefile
+++ b/drivers/pinctrl/sunxi/Makefile
-@@ -13,4 +13,5 @@ obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinctrl-sun8i-a23.o
+@@ -13,4 +13,5 @@ obj-$(CONFIG_PINCTRL_SUN8I_A23) += pinc
obj-$(CONFIG_PINCTRL_SUN8I_A23_R) += pinctrl-sun8i-a23-r.o
obj-$(CONFIG_PINCTRL_SUN8I_A33) += pinctrl-sun8i-a33.o
obj-$(CONFIG_PINCTRL_SUN8I_A83T) += pinctrl-sun8i-a83t.o
+obj-$(CONFIG_PINCTRL_SUN8I_H3) += pinctrl-sun8i-h3.o
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
-diff --git a/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c b/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c
-new file mode 100644
-index 0000000..98d465d
--- /dev/null
+++ b/drivers/pinctrl/sunxi/pinctrl-sun8i-h3.c
@@ -0,0 +1,516 @@
diff --git a/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch b/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch
index a07cbe5797..f8e599fbe3 100644
--- a/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch
+++ b/target/linux/sunxi/patches-4.4/131-reset-add-h3-resets.patch
@@ -12,8 +12,6 @@ Signed-off-by: Jens Kuske <jenskuske@gmail.com>
drivers/reset/reset-sunxi.c | 30 +++++++++++++++++++---
2 files changed, 28 insertions(+), 3 deletions(-)
-diff --git a/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt b/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt
-index c8f77571..e11f023 100644
--- a/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt
+++ b/Documentation/devicetree/bindings/reset/allwinner,sunxi-clock-reset.txt
@@ -8,6 +8,7 @@ Required properties:
@@ -24,11 +22,9 @@ index c8f77571..e11f023 100644
- reg: should be register base and length as documented in the
datasheet
- #reset-cells: 1, see below
-diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
-index 3d95c87..c91e146 100644
--- a/drivers/reset/reset-sunxi.c
+++ b/drivers/reset/reset-sunxi.c
-@@ -75,7 +75,9 @@ static struct reset_control_ops sunxi_reset_ops = {
+@@ -75,7 +75,9 @@ static struct reset_control_ops sunxi_re
.deassert = sunxi_reset_deassert,
};
@@ -39,7 +35,7 @@ index 3d95c87..c91e146 100644
{
struct sunxi_reset_data *data;
struct resource res;
-@@ -108,6 +110,7 @@ static int sunxi_reset_init(struct device_node *np)
+@@ -108,6 +110,7 @@ static int sunxi_reset_init(struct devic
data->rcdev.nr_resets = size * 32;
data->rcdev.ops = &sunxi_reset_ops;
data->rcdev.of_node = np;
@@ -47,7 +43,7 @@ index 3d95c87..c91e146 100644
reset_controller_register(&data->rcdev);
return 0;
-@@ -117,6 +120,21 @@ static int sunxi_reset_init(struct device_node *np)
+@@ -117,6 +120,21 @@ err_alloc:
return ret;
};
@@ -69,7 +65,7 @@ index 3d95c87..c91e146 100644
/*
* These are the reset controller we need to initialize early on in
* our system, before we can even think of using a regular device
-@@ -124,15 +142,21 @@ static int sunxi_reset_init(struct device_node *np)
+@@ -124,15 +142,21 @@ err_alloc:
*/
static const struct of_device_id sunxi_early_reset_dt_ids[] __initdata = {
{ .compatible = "allwinner,sun6i-a31-ahb1-reset", },
@@ -80,12 +76,13 @@ index 3d95c87..c91e146 100644
void __init sun6i_reset_init(void)
{
struct device_node *np;
+-
+- for_each_matching_node(np, sunxi_early_reset_dt_ids)
+- sunxi_reset_init(np);
+ const struct of_device_id *match;
+ int (*of_xlate)(struct reset_controller_dev *rcdev,
+ const struct of_phandle_args *reset_spec);
-
-- for_each_matching_node(np, sunxi_early_reset_dt_ids)
-- sunxi_reset_init(np);
++
+ for_each_matching_node_and_match(np, sunxi_early_reset_dt_ids, &match) {
+ of_xlate = match->data;
+ sunxi_reset_init(np, of_xlate);
diff --git a/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch b/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch
index a38d34174c..13d44e4468 100644
--- a/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch
+++ b/target/linux/sunxi/patches-4.4/132-dt-sun8i-add-h3-usbclocks.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun8i-h3.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
-index 1524130e..cbab947 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -269,6 +269,18 @@
diff --git a/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch b/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch
index 6910834297..78dcaa9fec 100644
--- a/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch
+++ b/target/linux/sunxi/patches-4.4/133-dt-sun8i-add-usbphy-usbhost-ctrl-nodes.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun8i-h3.dtsi | 101 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 101 insertions(+)
-diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
-index cbab947..1169f515 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -362,6 +362,107 @@
diff --git a/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch b/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch
index 403e185459..733639225c 100644
--- a/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch
+++ b/target/linux/sunxi/patches-4.4/134-dt-sun8i-orangepiplus-enable-usbhost.patch
@@ -13,8 +13,6 @@ Signed-off-by: Jens Kuske <jenskuske@gmail.com>
arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 44 ++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-index e67df59..1cb6c66 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
@@ -58,6 +58,35 @@
diff --git a/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch b/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch
index c90bbb5213..a4b2af9e5a 100644
--- a/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch
+++ b/target/linux/sunxi/patches-4.4/135-clk-sunxi-fix-signedness-bug.patch
@@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-sun8i-bus-gates.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/sunxi/clk-sun8i-bus-gates.c b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
-index 7ab60c5..b8c7753 100644
--- a/drivers/clk/sunxi/clk-sun8i-bus-gates.c
+++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
-@@ -40,7 +40,7 @@ static void __init sun8i_h3_bus_gates_init(struct device_node *node)
+@@ -40,7 +40,7 @@ static void __init sun8i_h3_bus_gates_in
const __be32 *p;
int number, i;
u8 clk_bit;
diff --git a/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch b/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch
index 1a48d7c23f..c7e0e2bf64 100644
--- a/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch
+++ b/target/linux/sunxi/patches-4.4/140-reset-add-of_reset_control_get_by_index.patch
@@ -16,11 +16,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
include/linux/reset.h | 9 +++++++++
2 files changed, 38 insertions(+), 11 deletions(-)
-diff --git a/drivers/reset/core.c b/drivers/reset/core.c
-index 7955e00..81ae17d 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
-@@ -141,27 +141,24 @@ int reset_control_status(struct reset_control *rstc)
+@@ -141,27 +141,24 @@ int reset_control_status(struct reset_co
EXPORT_SYMBOL_GPL(reset_control_status);
/**
@@ -56,7 +54,7 @@ index 7955e00..81ae17d 100644
ret = of_parse_phandle_with_args(node, "resets", "#reset-cells",
index, &args);
if (ret)
-@@ -202,6 +199,27 @@ struct reset_control *of_reset_control_get(struct device_node *node,
+@@ -202,6 +199,27 @@ struct reset_control *of_reset_control_g
return rstc;
}
@@ -84,11 +82,9 @@ index 7955e00..81ae17d 100644
EXPORT_SYMBOL_GPL(of_reset_control_get);
/**
-diff --git a/include/linux/reset.h b/include/linux/reset.h
-index 7f65f9c..6db74ad 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
-@@ -38,6 +38,9 @@ static inline struct reset_control *devm_reset_control_get_optional(
+@@ -38,6 +38,9 @@ static inline struct reset_control *devm
struct reset_control *of_reset_control_get(struct device_node *node,
const char *id);
@@ -98,7 +94,7 @@ index 7f65f9c..6db74ad 100644
#else
static inline int reset_control_reset(struct reset_control *rstc)
-@@ -106,6 +109,12 @@ static inline struct reset_control *of_reset_control_get(
+@@ -106,6 +109,12 @@ static inline struct reset_control *of_r
return ERR_PTR(-ENOSYS);
}
diff --git a/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch b/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch
index 62891b4e8c..eeab4972ba 100644
--- a/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch
+++ b/target/linux/sunxi/patches-4.4/141-reset-fix-of_reset_control_get.patch
@@ -21,11 +21,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/reset/core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/drivers/reset/core.c b/drivers/reset/core.c
-index 81ae17d..77cfc49 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
-@@ -215,9 +215,12 @@ struct reset_control *of_reset_control_get(struct device_node *node,
+@@ -215,9 +215,12 @@ struct reset_control *of_reset_control_g
{
int index = 0;
diff --git a/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch b/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch
index a80eed4481..665b15b00a 100644
--- a/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch
+++ b/target/linux/sunxi/patches-4.4/142-reset-use-ENOTSUPP-instead-of-ENOSYS.patch
@@ -13,11 +13,9 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
include/linux/reset.h | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
-diff --git a/drivers/reset/core.c b/drivers/reset/core.c
-index 77cfc49..9ab9290 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
-@@ -95,7 +95,7 @@ int reset_control_reset(struct reset_control *rstc)
+@@ -95,7 +95,7 @@ int reset_control_reset(struct reset_con
if (rstc->rcdev->ops->reset)
return rstc->rcdev->ops->reset(rstc->rcdev, rstc->id);
@@ -26,7 +24,7 @@ index 77cfc49..9ab9290 100644
}
EXPORT_SYMBOL_GPL(reset_control_reset);
-@@ -108,7 +108,7 @@ int reset_control_assert(struct reset_control *rstc)
+@@ -108,7 +108,7 @@ int reset_control_assert(struct reset_co
if (rstc->rcdev->ops->assert)
return rstc->rcdev->ops->assert(rstc->rcdev, rstc->id);
@@ -35,7 +33,7 @@ index 77cfc49..9ab9290 100644
}
EXPORT_SYMBOL_GPL(reset_control_assert);
-@@ -121,7 +121,7 @@ int reset_control_deassert(struct reset_control *rstc)
+@@ -121,7 +121,7 @@ int reset_control_deassert(struct reset_
if (rstc->rcdev->ops->deassert)
return rstc->rcdev->ops->deassert(rstc->rcdev, rstc->id);
@@ -44,7 +42,7 @@ index 77cfc49..9ab9290 100644
}
EXPORT_SYMBOL_GPL(reset_control_deassert);
-@@ -136,7 +136,7 @@ int reset_control_status(struct reset_control *rstc)
+@@ -136,7 +136,7 @@ int reset_control_status(struct reset_co
if (rstc->rcdev->ops->status)
return rstc->rcdev->ops->status(rstc->rcdev, rstc->id);
@@ -53,11 +51,9 @@ index 77cfc49..9ab9290 100644
}
EXPORT_SYMBOL_GPL(reset_control_status);
-diff --git a/include/linux/reset.h b/include/linux/reset.h
-index 6db74ad..c4c097d 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
-@@ -74,7 +74,7 @@ static inline void reset_control_put(struct reset_control *rstc)
+@@ -74,7 +74,7 @@ static inline void reset_control_put(str
static inline int device_reset_optional(struct device *dev)
{
@@ -66,7 +62,7 @@ index 6db74ad..c4c097d 100644
}
static inline struct reset_control *__must_check reset_control_get(
-@@ -94,19 +94,19 @@ static inline struct reset_control *__must_check devm_reset_control_get(
+@@ -94,19 +94,19 @@ static inline struct reset_control *__mu
static inline struct reset_control *reset_control_get_optional(
struct device *dev, const char *id)
{
diff --git a/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch b/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch
index 3e962d9dab..e1078e9696 100644
--- a/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch
+++ b/target/linux/sunxi/patches-4.4/143-reset-add-shared-resetcontrol-asserts.patch
@@ -22,11 +22,9 @@ Changes in v2:
include/linux/reset.h | 2 +
3 files changed, 116 insertions(+), 9 deletions(-)
-diff --git a/drivers/reset/core.c b/drivers/reset/core.c
-index 9ab9290..8c3436c 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
-@@ -22,16 +22,29 @@ static DEFINE_MUTEX(reset_controller_list_mutex);
+@@ -22,16 +22,29 @@ static DEFINE_MUTEX(reset_controller_lis
static LIST_HEAD(reset_controller_list);
/**
@@ -59,7 +57,7 @@ index 9ab9290..8c3436c 100644
};
/**
-@@ -66,6 +79,8 @@ int reset_controller_register(struct reset_controller_dev *rcdev)
+@@ -66,6 +79,8 @@ int reset_controller_register(struct res
rcdev->of_xlate = of_reset_simple_xlate;
}
@@ -68,7 +66,7 @@ index 9ab9290..8c3436c 100644
mutex_lock(&reset_controller_list_mutex);
list_add(&rcdev->list, &reset_controller_list);
mutex_unlock(&reset_controller_list_mutex);
-@@ -93,7 +108,7 @@ EXPORT_SYMBOL_GPL(reset_controller_unregister);
+@@ -93,7 +108,7 @@ EXPORT_SYMBOL_GPL(reset_controller_unreg
int reset_control_reset(struct reset_control *rstc)
{
if (rstc->rcdev->ops->reset)
@@ -143,7 +141,7 @@ index 9ab9290..8c3436c 100644
* reset_control_status - returns a negative errno if not supported, a
* positive value if the reset line is asserted, or zero if the reset
* line is not asserted.
-@@ -134,12 +191,47 @@ EXPORT_SYMBOL_GPL(reset_control_deassert);
+@@ -134,12 +191,47 @@ EXPORT_SYMBOL_GPL(reset_control_deassert
int reset_control_status(struct reset_control *rstc)
{
if (rstc->rcdev->ops->status)
@@ -192,7 +190,7 @@ index 9ab9290..8c3436c 100644
/**
* of_reset_control_get_by_index - Lookup and obtain a reference to a reset
* controller by index.
-@@ -155,6 +247,7 @@ struct reset_control *of_reset_control_get_by_index(struct device_node *node,
+@@ -155,6 +247,7 @@ struct reset_control *of_reset_control_g
{
struct reset_control *rstc = ERR_PTR(-EPROBE_DEFER);
struct reset_controller_dev *r, *rcdev;
@@ -200,7 +198,7 @@ index 9ab9290..8c3436c 100644
struct of_phandle_args args;
int rstc_id;
int ret;
-@@ -186,16 +279,22 @@ struct reset_control *of_reset_control_get_by_index(struct device_node *node,
+@@ -186,16 +279,22 @@ struct reset_control *of_reset_control_g
}
try_module_get(rcdev->owner);
@@ -225,7 +223,7 @@ index 9ab9290..8c3436c 100644
return rstc;
}
-@@ -259,6 +358,10 @@ void reset_control_put(struct reset_control *rstc)
+@@ -259,6 +358,10 @@ void reset_control_put(struct reset_cont
if (IS_ERR(rstc))
return;
@@ -236,8 +234,6 @@ index 9ab9290..8c3436c 100644
module_put(rstc->rcdev->owner);
kfree(rstc);
}
-diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h
-index ce6b962..7f2cbd1 100644
--- a/include/linux/reset-controller.h
+++ b/include/linux/reset-controller.h
@@ -31,6 +31,7 @@ struct of_phandle_args;
@@ -256,11 +252,9 @@ index ce6b962..7f2cbd1 100644
struct device_node *of_node;
int of_reset_n_cells;
int (*of_xlate)(struct reset_controller_dev *rcdev,
-diff --git a/include/linux/reset.h b/include/linux/reset.h
-index c4c097d..1cca8ce 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
-@@ -11,6 +11,8 @@ int reset_control_reset(struct reset_control *rstc);
+@@ -11,6 +11,8 @@ int reset_control_reset(struct reset_con
int reset_control_assert(struct reset_control *rstc);
int reset_control_deassert(struct reset_control *rstc);
int reset_control_status(struct reset_control *rstc);
diff --git a/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch b/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch
index faafa1f0a3..73cd3027bf 100644
--- a/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch
+++ b/target/linux/sunxi/patches-4.4/144-usb-ehci-plat-support-multiple-reset-ctrllines.patch
@@ -19,8 +19,6 @@ Changes in v2:
drivers/usb/host/ehci-platform.c | 47 +++++++++++++---------
2 files changed, 30 insertions(+), 19 deletions(-)
-diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
-index a12d601..0701812 100644
--- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
@@ -18,7 +18,7 @@ Optional properties:
@@ -32,8 +30,6 @@ index a12d601..0701812 100644
Example (Sequoia 440EPx):
ehci@e0000300 {
-diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
-index bd7082f2..6fbf32a 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -39,11 +39,12 @@
@@ -50,7 +46,7 @@ index bd7082f2..6fbf32a 100644
struct phy **phys;
int num_phys;
bool reset_on_resume;
-@@ -149,7 +150,7 @@ static int ehci_platform_probe(struct platform_device *dev)
+@@ -149,7 +150,7 @@ static int ehci_platform_probe(struct pl
struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
struct ehci_platform_priv *priv;
struct ehci_hcd *ehci;
@@ -59,7 +55,7 @@ index bd7082f2..6fbf32a 100644
if (usb_disabled())
return -ENODEV;
-@@ -232,18 +233,24 @@ static int ehci_platform_probe(struct platform_device *dev)
+@@ -232,18 +233,24 @@ static int ehci_platform_probe(struct pl
break;
}
}
@@ -95,7 +91,7 @@ index bd7082f2..6fbf32a 100644
}
if (pdata->big_endian_desc)
-@@ -300,8 +307,10 @@ static int ehci_platform_probe(struct platform_device *dev)
+@@ -302,8 +309,10 @@ err_power:
if (pdata->power_off)
pdata->power_off(dev);
err_reset:
@@ -108,7 +104,7 @@ index bd7082f2..6fbf32a 100644
err_put_clks:
while (--clk >= 0)
clk_put(priv->clks[clk]);
-@@ -319,15 +328,17 @@ static int ehci_platform_remove(struct platform_device *dev)
+@@ -321,15 +330,17 @@ static int ehci_platform_remove(struct p
struct usb_hcd *hcd = platform_get_drvdata(dev);
struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
struct ehci_platform_priv *priv = hcd_to_ehci_priv(hcd);
diff --git a/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch b/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch
index 6f536b918d..a25d487aad 100644
--- a/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch
+++ b/target/linux/sunxi/patches-4.4/145-usb-ohci-plat-support-multiple-reset-ctrllines.patch
@@ -19,8 +19,6 @@ Changes in v2:
drivers/usb/host/ohci-platform.c | 49 +++++++++++++---------
2 files changed, 30 insertions(+), 21 deletions(-)
-diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-index 19233b7..9df4569 100644
--- a/Documentation/devicetree/bindings/usb/usb-ohci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
@@ -14,7 +14,7 @@ Optional properties:
@@ -32,8 +30,6 @@ index 19233b7..9df4569 100644
Example:
-diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
-index c2669f18..7d8bbc4 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -33,11 +33,12 @@
@@ -50,7 +46,7 @@ index c2669f18..7d8bbc4 100644
struct phy **phys;
int num_phys;
};
-@@ -117,7 +118,7 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -117,7 +118,7 @@ static int ohci_platform_probe(struct pl
struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
struct ohci_platform_priv *priv;
struct ohci_hcd *ohci;
@@ -59,7 +55,7 @@ index c2669f18..7d8bbc4 100644
if (usb_disabled())
return -ENODEV;
-@@ -195,19 +196,23 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -195,19 +196,23 @@ static int ohci_platform_probe(struct pl
break;
}
}
@@ -96,7 +92,7 @@ index c2669f18..7d8bbc4 100644
}
if (pdata->big_endian_desc)
-@@ -265,8 +270,10 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -265,8 +270,10 @@ err_power:
if (pdata->power_off)
pdata->power_off(dev);
err_reset:
@@ -109,7 +105,7 @@ index c2669f18..7d8bbc4 100644
err_put_clks:
while (--clk >= 0)
clk_put(priv->clks[clk]);
-@@ -284,15 +291,17 @@ static int ohci_platform_remove(struct platform_device *dev)
+@@ -284,15 +291,17 @@ static int ohci_platform_remove(struct p
struct usb_hcd *hcd = platform_get_drvdata(dev);
struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd);
diff --git a/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch b/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch
index c0d9660100..c967ca91a7 100644
--- a/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch
+++ b/target/linux/sunxi/patches-4.4/150-dt-sun7i-enable-codec-on-pcduino3.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-pcduino3.dts | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
-index 861a4a6..067f365 100644
--- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
@@ -111,6 +111,11 @@
diff --git a/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch b/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch
index dceaea884b..b1e00b45ab 100644
--- a/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch
+++ b/target/linux/sunxi/patches-4.4/200-dt-sun7i-add-lamobo-r1.patch
@@ -18,11 +18,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2 files changed, 298 insertions(+)
create mode 100644 arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index cc7309b..6f8deac 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -639,6 +639,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
+@@ -638,6 +638,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-cubietruck.dtb \
sun7i-a20-hummingbird.dtb \
sun7i-a20-i12-tvbox.dtb \
@@ -30,9 +28,6 @@ index cc7309b..6f8deac 100644
sun7i-a20-m3.dtb \
sun7i-a20-mk808c.dtb \
sun7i-a20-olimex-som-evb.dtb \
-diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
-new file mode 100644
-index 0000000..975b0b2
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
@@ -0,0 +1,297 @@