diff mbox

[6/7] input: cyapa: add of match device support and description document

Message ID 1434092198-13018-7-git-send-email-dudl@cypress.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dudley Du June 12, 2015, 6:56 a.m. UTC
Add of_match_device machanism support for Cypress trackpad device, and
add the sample description document of adding the trackpad device node in DT.
TEST=test on Chromebook.

Signed-off-by: Dudley Du <dudl@cypress.com>
---
 .../devicetree/bindings/input/cypress,cyapa.txt    | 44 ++++++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.txt        |  1 +
 drivers/input/mouse/cyapa.c                        | 10 +++++
 3 files changed, 55 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/cypress,cyapa.txt

Comments

Jeremiah Mahler June 13, 2015, 3:53 a.m. UTC | #1
Dudley,

On Fri, Jun 12, 2015 at 02:56:37PM +0800, Dudley Du wrote:
> Add of_match_device machanism support for Cypress trackpad device, and
> add the sample description document of adding the trackpad device node in DT.
> TEST=test on Chromebook.
> 
> Signed-off-by: Dudley Du <dudl@cypress.com>
> ---
>  .../devicetree/bindings/input/cypress,cyapa.txt    | 44 ++++++++++++++++++++++
>  .../devicetree/bindings/vendor-prefixes.txt        |  1 +
>  drivers/input/mouse/cyapa.c                        | 10 +++++
>  3 files changed, 55 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/cypress,cyapa.txt
> 
[...]
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> index 728cd0e..4813437 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> @@ -48,6 +48,7 @@ cnxt	Conexant Systems, Inc.
>  cortina	Cortina Systems, Inc.
>  cosmic	Cosmic Circuits
>  crystalfontz	Crystalfontz America, Inc.
> +cypress	Cypress Semiconductor Corporation
>  dallas	Maxim Integrated Products (formerly Dallas Semiconductor)
>  davicom	DAVICOM Semiconductor, Inc.
>  denx	Denx Software Engineering
> diff --git a/drivers/input/mouse/cyapa.c b/drivers/input/mouse/cyapa.c
> index 86f2263..7e7613f 100644
> --- a/drivers/input/mouse/cyapa.c
> +++ b/drivers/input/mouse/cyapa.c
> @@ -25,6 +25,7 @@
>  #include <linux/uaccess.h>
>  #include <linux/pm_runtime.h>
>  #include <linux/acpi.h>
> +#include <linux/of.h>
>  #include "cyapa.h"
>  
>  
> @@ -1562,12 +1563,21 @@ static const struct acpi_device_id cyapa_acpi_id[] = {
>  MODULE_DEVICE_TABLE(acpi, cyapa_acpi_id);
>  #endif
>  
> +#ifdef CONFIG_OF
> +static const struct of_device_id cyapa_of_match[] = {
> +	{ .compatible = "cypress,cyapa" },
> +	{ /* sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, cyapa_of_match);
> +#endif
> +
>  static struct i2c_driver cyapa_driver = {
>  	.driver = {
>  		.name = "cyapa",
>  		.owner = THIS_MODULE,
>  		.pm = &cyapa_pm_ops,
>  		.acpi_match_table = ACPI_PTR(cyapa_acpi_id),
> +		.of_match_table = of_match_ptr(cyapa_of_match),
>  	},
>  
>  	.probe = cyapa_probe,
> -- 
> 1.9.1

This patch fails to apply on linux-next 20150611 because of difference
in vendor-prefixes.txt.  Probably just needs to be updated.

  Applying: input: cyapa: add of match device support and description
  document
  error: patch failed:
  Documentation/devicetree/bindings/vendor-prefixes.txt:48
  error: Documentation/devicetree/bindings/vendor-prefixes.txt: patch does
  not apply
  Patch failed at 0001 input: cyapa: add of match device support and
  description document
Dudley Du June 15, 2015, 2:31 a.m. UTC | #2
Jeremiah,

Thanks for the review.

I made the patch based on dtor-next's code based.
I will make the next v1 patches based on the linux-next to avoid this problem.

Thanks,
Dudley

> -----Original Message-----
> From: Jeremiah Mahler [mailto:jmmahler@gmail.com]
> Sent: 2015?6?13? 11:54
> To: Dudley Du
> Cc: dmitry.torokhov@gmail.com; mark.rutland@arm.com; robh+dt@kernel.org;
> rydberg@euromail.se; bleung@google.com; devicetree@vger.kernel.org;
> linux-input@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 6/7] input: cyapa: add of match device support and description
> document
>
> Dudley,
>
> On Fri, Jun 12, 2015 at 02:56:37PM +0800, Dudley Du wrote:
> > Add of_match_device machanism support for Cypress trackpad device, and
> > add the sample description document of adding the trackpad device node in DT.
> > TEST=test on Chromebook.
> >
> > Signed-off-by: Dudley Du <dudl@cypress.com>
> > ---
> >  .../devicetree/bindings/input/cypress,cyapa.txt    | 44
> ++++++++++++++++++++++
> >  .../devicetree/bindings/vendor-prefixes.txt        |  1 +
> >  drivers/input/mouse/cyapa.c                        | 10 +++++
> >  3 files changed, 55 insertions(+)
> >  create mode 100644
> Documentation/devicetree/bindings/input/cypress,cyapa.txt
> >
> [...]
> > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt
> b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > index 728cd0e..4813437 100644
> > --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> > +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > @@ -48,6 +48,7 @@ cnxtConexant Systems, Inc.
> >  cortinaCortina Systems, Inc.
> >  cosmicCosmic Circuits
> >  crystalfontzCrystalfontz America, Inc.
> > +cypressCypress Semiconductor Corporation
> >  dallasMaxim Integrated Products (formerly Dallas Semiconductor)
> >  davicomDAVICOM Semiconductor, Inc.
> >  denxDenx Software Engineering
> > diff --git a/drivers/input/mouse/cyapa.c b/drivers/input/mouse/cyapa.c
> > index 86f2263..7e7613f 100644
> > --- a/drivers/input/mouse/cyapa.c
> > +++ b/drivers/input/mouse/cyapa.c
> > @@ -25,6 +25,7 @@
> >  #include <linux/uaccess.h>
> >  #include <linux/pm_runtime.h>
> >  #include <linux/acpi.h>
> > +#include <linux/of.h>
> >  #include "cyapa.h"
> >
> >
> > @@ -1562,12 +1563,21 @@ static const struct acpi_device_id cyapa_acpi_id[] =
> {
> >  MODULE_DEVICE_TABLE(acpi, cyapa_acpi_id);
> >  #endif
> >
> > +#ifdef CONFIG_OF
> > +static const struct of_device_id cyapa_of_match[] = {
> > +{ .compatible = "cypress,cyapa" },
> > +{ /* sentinel */ }
> > +};
> > +MODULE_DEVICE_TABLE(of, cyapa_of_match);
> > +#endif
> > +
> >  static struct i2c_driver cyapa_driver = {
> >  .driver = {
> >  .name = "cyapa",
> >  .owner = THIS_MODULE,
> >  .pm = &cyapa_pm_ops,
> >  .acpi_match_table = ACPI_PTR(cyapa_acpi_id),
> > +.of_match_table = of_match_ptr(cyapa_of_match),
> >  },
> >
> >  .probe = cyapa_probe,
> > --
> > 1.9.1
>
> This patch fails to apply on linux-next 20150611 because of difference
> in vendor-prefixes.txt.  Probably just needs to be updated.
>
>   Applying: input: cyapa: add of match device support and description
>   document
>   error: patch failed:
>   Documentation/devicetree/bindings/vendor-prefixes.txt:48
>   error: Documentation/devicetree/bindings/vendor-prefixes.txt: patch does
>   not apply
>   Patch failed at 0001 input: cyapa: add of match device support and
>   description document
>
> --
> - Jeremiah Mahler

This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/input/cypress,cyapa.txt b/Documentation/devicetree/bindings/input/cypress,cyapa.txt
new file mode 100644
index 0000000..9be2b44
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cypress,cyapa.txt
@@ -0,0 +1,44 @@ 
+Cypress I2C Touchpad
+
+Required properties:
+- compatible: must be "cypress,cyapa".
+- reg: I2C address of the chip.
+- interrupt-parent: a phandle for the interrupt controller (see interrupt
+  binding[0]).
+- interrupts: interrupt to which the chip is connected (see interrupt
+  binding[0]).
+
+Optional properties:
+- wakeup-source: touchpad can be used as a wakeup source.
+- pinctrl-names: should be "default" (see pinctrl binding [1]).
+- pinctrl-0: a phandle pointing to the pin settings for the device (see
+  pinctrl binding [1]).
+- vcc-supply: a phandle for the regulator supplying 3.3V power.
+
+[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
+[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+
+Example:
+	&i2c0 {
+		/* ... */
+
+		/* Cypress Gen3 touchpad */
+		touchpad@67 {
+			compatible = "cypress,cyapa";
+			reg = <0x24>;
+			interrupt-parent = <&gpio>;
+			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;	/* GPIO 2 */
+			wakeup-source;
+		};
+
+		/* Cypress Gen5 and later touchpad */
+		touchpad@24 {
+			compatible = "cypress,cyapa";
+			reg = <0x24>;
+			interrupt-parent = <&gpio>;
+			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;	/* GPIO 2 */
+			wakeup-source;
+		};
+
+		/* ... */
+	};
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 728cd0e..4813437 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -48,6 +48,7 @@  cnxt	Conexant Systems, Inc.
 cortina	Cortina Systems, Inc.
 cosmic	Cosmic Circuits
 crystalfontz	Crystalfontz America, Inc.
+cypress	Cypress Semiconductor Corporation
 dallas	Maxim Integrated Products (formerly Dallas Semiconductor)
 davicom	DAVICOM Semiconductor, Inc.
 denx	Denx Software Engineering
diff --git a/drivers/input/mouse/cyapa.c b/drivers/input/mouse/cyapa.c
index 86f2263..7e7613f 100644
--- a/drivers/input/mouse/cyapa.c
+++ b/drivers/input/mouse/cyapa.c
@@ -25,6 +25,7 @@ 
 #include <linux/uaccess.h>
 #include <linux/pm_runtime.h>
 #include <linux/acpi.h>
+#include <linux/of.h>
 #include "cyapa.h"
 
 
@@ -1562,12 +1563,21 @@  static const struct acpi_device_id cyapa_acpi_id[] = {
 MODULE_DEVICE_TABLE(acpi, cyapa_acpi_id);
 #endif
 
+#ifdef CONFIG_OF
+static const struct of_device_id cyapa_of_match[] = {
+	{ .compatible = "cypress,cyapa" },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, cyapa_of_match);
+#endif
+
 static struct i2c_driver cyapa_driver = {
 	.driver = {
 		.name = "cyapa",
 		.owner = THIS_MODULE,
 		.pm = &cyapa_pm_ops,
 		.acpi_match_table = ACPI_PTR(cyapa_acpi_id),
+		.of_match_table = of_match_ptr(cyapa_of_match),
 	},
 
 	.probe = cyapa_probe,