diff mbox

[linux-sunxi,PATCHv2,0/3] ARM:sunxi:ps2 Added support for A10/A20 ps2 controller.

Message ID 548AEA8E.6040100@redhat.com
State New, archived
Headers show

Commit Message

Hans de Goede Dec. 12, 2014, 1:15 p.m. UTC
Hi,

On 07-12-14 00:15, vishnupatekar wrote:
> Here is v2 of SUNXI PS2 controller support patch-set as with v1.

So as promised I've run this on an A10 board, with a small fix to
the interrupt property in the sun4i.dtsi file this works as is.

This means that the sun7i compat should be dropped, and the sun4i
compat used everywhere.

I've created 3 fixup patches to do this, note one also renames / moves
the bindings file as it is in the wrong place.

I've attached the 3 fixup patches, pleasesquash these into your
existing patches before posting the next version.

Thanks & Regards,

Hans


>
> Changes in v2:
> 1. added default n depends on ARCH_SUNXI || COMPILE_TEST in Kconfig.
> 2. handled errors and free resources on errors.
> 3. used BIT(x), DIV_ROUND_UP macros.
> 4. corrected style errors.
> 5. added support for A10 also, A10 and A2 have same properties of PS2 controller.
> 6. by default commented ps20 and ps21 nodes,as ps20 pins conflict with HDMI
>     connector on Lime2 Board.
> 7. added compatible as allwinner,sun4i-a10-ps2.
> 8. corrected the possible race condition.
>
> Patch 0 Summary: Allwinner A10/A20 PS2 controller. These modifications are
> 	for PS2 host controller. IBM compliant IBM PS2 and AT-compatible
> 	keyboard and mouse can be connected.
>
> Patch 1 device tree bindings.
>
> Patch 2 adds support for sun7i ps2 driver.
>
> Patch 3 device tree support for PS2 controller.
>   1) Added A10/A20 ps2 nodes to the dtsi
>   2) Added A10/A20 ps2 pinmux to the dtsi
>   3) Added ps2 nodes to the lime2 dts file
>
> vishnupatekar (3):
>    sunxi:dts-bindings:input:ps2 bindings for A10/A20 ps2.
>    sunxi:drivers:input:ps2 Added sunxi A10/A20 ps2 driver
>    ARM:dts:sunxi:ps2 dt nodes for A10/A20 PS2 controller.
>
>   .../bindings/input/allwinner,sunxi-ps2.txt         |   23 ++
>   arch/arm/boot/dts/sun4i-a10.dtsi                   |   27 ++
>   arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts    |   13 +
>   arch/arm/boot/dts/sun7i-a20.dtsi                   |   29 ++
>   drivers/input/serio/Kconfig                        |   10 +
>   drivers/input/serio/Makefile                       |    1 +
>   drivers/input/serio/sunxi-ps2.c                    |  364 ++++++++++++++++++++
>   7 files changed, 467 insertions(+)
>   create mode 100644 Documentation/devicetree/bindings/input/allwinner,sunxi-ps2.txt
>   create mode 100644 drivers/input/serio/sunxi-ps2.c
>
diff mbox

Patch

>From 45985183f3e96adf1c846c7bbde32647367024dc Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 12 Dec 2014 14:01:43 +0100
Subject: [PATCH v2 3/4] FIXUP: "ARM:dts:sunxi:ps2 dt nodes for A10/A20 PS2
 controller."

2 fixups for: "ARM:dts:sunxi:ps2 dt nodes for A10/A20 PS2 controller."

1) Fixup the sun4i ps/2 nodes interrupt property, sun4i interrupts take
only 1 specifier

2) dt bindings should use the compat string for the earliest version of the
hardware which has the relevant hardware block, unless there are differences,
the A10 and A20 ps2 controllers are identical, so for both sun4i-a10-ps2
should be used as compat string, update the sun7i.dtsi ps2 entries to
use the sun4i-a10-ps2 compat string.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 arch/arm/boot/dts/sun4i-a10.dtsi | 4 ++--
 arch/arm/boot/dts/sun7i-a20.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index c04c117..e8cd6db 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -818,14 +818,14 @@ 
 		ps20: ps2@0x01c2a000 {
 			compatible = "allwinner,sun4i-a10-ps2";
 			reg = <0x01c2a000 0x400>;
-			interrupts = <0 62 4>;
+			interrupts = <62>;
 			clocks = <&apb1_gates 6>;
 			status = "disabled";
 		};
 		ps21: ps2@0x01c2a400 {
 			compatible = "allwinner,sun4i-a10-ps2";
 			reg = <0x01c2a400 0x400>;
-			interrupts = <0 63 4>;
+			interrupts = <63>;
 			clocks = <&apb1_gates 7>;
 			status = "disabled";
 		};
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 4417c8c3..d54d684 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -1114,14 +1114,14 @@ 
 			interrupts = <1 9 0xf04>;
 		};
 		ps20: ps2@0x01c2a000 {
-			compatible = "allwinner,sun7i-a20-ps2";
+			compatible = "allwinner,sun4i-a10-ps2";
 			reg = <0x01c2a000 0x400>;
 			interrupts = <0 62 4>;
 			clocks = <&apb1_gates 6>;
 			status = "disabled";
 		};
 		ps21: ps2@0x01c2a400 {
-			compatible = "allwinner,sun7i-a20-ps2";
+			compatible = "allwinner,sun4i-a10-ps2";
 			reg = <0x01c2a400 0x400>;
 			interrupts = <0 63 4>;
 			clocks = <&apb1_gates 7>;
-- 
2.1.0