2021-04-12 11:32:10

by Ikjoon Jang

[permalink] [raw]
Subject: [PATCH v4 0/2] HID: google: add device tree bindings for Whiskers switch device

Add device a tree binding for a "cros-cbas" switch device of
ChromeOS tablets with Whiskers base board.

Changes in v4:
Define cros-cbase bindings inside google,cros-ec.yaml instead of
a seperated binding document.

Ikjoon Jang (2):
mfd: google,cros-ec: add DT bindings for a baseboard's switch device
HID: google: Add of_match table to Whiskers switch device.

.../devicetree/bindings/mfd/google,cros-ec.yaml | 16 ++++++++++++++++
drivers/hid/hid-google-hammer.c | 10 ++++++++++
2 files changed, 26 insertions(+)

--
2.31.1.295.g9ea45b61b8-goog


2021-04-12 11:35:08

by Ikjoon Jang

[permalink] [raw]
Subject: [PATCH v4 2/2] HID: google: Add of_match table to Whiskers switch device.

Add a device tree match table for "cros-cbas" switch device.

Signed-off-by: Ikjoon Jang <[email protected]>
Reviewed-by: Dmitry Torokhov <[email protected]>
Acked-by: Jiri Kosina <[email protected]>

---

(no changes since v1)

Please note that v3 was submitted in 28 Oct 2019, 1.5yrs ago.
Link(v2): https://patchwork.kernel.org/project/linux-input/patch/[email protected]/

---
drivers/hid/hid-google-hammer.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/drivers/hid/hid-google-hammer.c b/drivers/hid/hid-google-hammer.c
index d9319622da44..be4f9f3dbbba 100644
--- a/drivers/hid/hid-google-hammer.c
+++ b/drivers/hid/hid-google-hammer.c
@@ -17,6 +17,7 @@
#include <linux/hid.h>
#include <linux/leds.h>
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/platform_data/cros_ec_commands.h>
#include <linux/platform_data/cros_ec_proto.h>
#include <linux/platform_device.h>
@@ -272,12 +273,21 @@ static const struct acpi_device_id cbas_ec_acpi_ids[] = {
};
MODULE_DEVICE_TABLE(acpi, cbas_ec_acpi_ids);

+#ifdef CONFIG_OF
+static const struct of_device_id cbas_ec_of_match[] = {
+ { .compatible = "google,cros-cbas" },
+ { },
+};
+MODULE_DEVICE_TABLE(of, cbas_ec_of_match);
+#endif
+
static struct platform_driver cbas_ec_driver = {
.probe = cbas_ec_probe,
.remove = cbas_ec_remove,
.driver = {
.name = "cbas_ec",
.acpi_match_table = ACPI_PTR(cbas_ec_acpi_ids),
+ .of_match_table = of_match_ptr(cbas_ec_of_match),
.pm = &cbas_ec_pm_ops,
},
};
--
2.31.1.295.g9ea45b61b8-goog

2021-04-13 01:21:14

by Ikjoon Jang

[permalink] [raw]
Subject: [PATCH v4 1/2] mfd: google,cros-ec: add DT bindings for a baseboard's switch device

This is for ChromeOS tablets which have a 'cros_cbas' switch device
in the "Whiskers" base board. This device can be instantiated only by
device tree on ARM platforms. ChromeOS EC doesn't provide a way to
probe the device.

Signed-off-by: Ikjoon Jang <[email protected]>

---

Changes in v4:
Define cros-cbase bindings inside google,cros-ec.yaml instead of
a seperated binding document.

.../devicetree/bindings/mfd/google,cros-ec.yaml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
index 76bf16ee27ec..c76809cd9f7f 100644
--- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
+++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
@@ -127,6 +127,18 @@ patternProperties:
type: object
$ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"

+ "^cbas$":
+ type: object
+ properties:
+ compatible:
+ const: google,cros-cbas
+ required:
+ - compatible
+ additionalProperties: false
+ description:
+ This device is used to signal when a detachable base is attached
+ to a Chrome OS tablet.
+
required:
- compatible

@@ -180,6 +192,10 @@ examples:
interrupts = <99 0>;
interrupt-parent = <&gpio7>;
spi-max-frequency = <5000000>;
+
+ base_detection: cbas {
+ compatible = "google,cros-cbas";
+ };
};
};

--
2.31.1.295.g9ea45b61b8-goog

2021-04-14 00:46:34

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] mfd: google,cros-ec: add DT bindings for a baseboard's switch device

On Mon, Apr 12, 2021 at 07:30:19PM +0800, Ikjoon Jang wrote:
> This is for ChromeOS tablets which have a 'cros_cbas' switch device
> in the "Whiskers" base board. This device can be instantiated only by
> device tree on ARM platforms. ChromeOS EC doesn't provide a way to
> probe the device.
>
> Signed-off-by: Ikjoon Jang <[email protected]>
>
> ---
>
> Changes in v4:
> Define cros-cbase bindings inside google,cros-ec.yaml instead of
> a seperated binding document.
>
> .../devicetree/bindings/mfd/google,cros-ec.yaml | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> index 76bf16ee27ec..c76809cd9f7f 100644
> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> @@ -127,6 +127,18 @@ patternProperties:
> type: object
> $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
>
> + "^cbas$":

Not a pattern, put under 'properties'.

> + type: object
> + properties:
> + compatible:
> + const: google,cros-cbas

Blank line

> + required:
> + - compatible

Blank line

> + additionalProperties: false
> + description:

Make this 1st or at least before 'properties'.

> + This device is used to signal when a detachable base is attached
> + to a Chrome OS tablet.

This can't happen at runtime?

> +
> required:
> - compatible
>
> @@ -180,6 +192,10 @@ examples:
> interrupts = <99 0>;
> interrupt-parent = <&gpio7>;
> spi-max-frequency = <5000000>;
> +
> + base_detection: cbas {
> + compatible = "google,cros-cbas";
> + };
> };
> };
>
> --
> 2.31.1.295.g9ea45b61b8-goog
>

2021-04-14 13:40:24

by Ikjoon Jang

[permalink] [raw]
Subject: Re: [PATCH v4 1/2] mfd: google,cros-ec: add DT bindings for a baseboard's switch device

On Tue, Apr 13, 2021 at 10:57 PM Rob Herring <[email protected]> wrote:
>
> On Mon, Apr 12, 2021 at 07:30:19PM +0800, Ikjoon Jang wrote:
> > This is for ChromeOS tablets which have a 'cros_cbas' switch device
> > in the "Whiskers" base board. This device can be instantiated only by
> > device tree on ARM platforms. ChromeOS EC doesn't provide a way to
> > probe the device.
> >
> > Signed-off-by: Ikjoon Jang <[email protected]>
> >
> > ---
> >
> > Changes in v4:
> > Define cros-cbase bindings inside google,cros-ec.yaml instead of
> > a seperated binding document.
> >
> > .../devicetree/bindings/mfd/google,cros-ec.yaml | 16 ++++++++++++++++
> > 1 file changed, 16 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > index 76bf16ee27ec..c76809cd9f7f 100644
> > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
> > @@ -127,6 +127,18 @@ patternProperties:
> > type: object
> > $ref: "/schemas/extcon/extcon-usbc-cros-ec.yaml#"
> >
> > + "^cbas$":
>
> Not a pattern, put under 'properties'.
>
> > + type: object
> > + properties:
> > + compatible:
> > + const: google,cros-cbas
>
> Blank line
>
> > + required:
> > + - compatible
>
> Blank line
>
> > + additionalProperties: false
> > + description:
>
> Make this 1st or at least before 'properties'.

ACKed, thanks!

>
> > + This device is used to signal when a detachable base is attached
> > + to a Chrome OS tablet.
>
> This can't happen at runtime?

There is no way to detect the switch device's existence at runtime.
I'll add a note to the description about this.

>
> > +
> > required:
> > - compatible
> >
> > @@ -180,6 +192,10 @@ examples:
> > interrupts = <99 0>;
> > interrupt-parent = <&gpio7>;
> > spi-max-frequency = <5000000>;
> > +
> > + base_detection: cbas {
> > + compatible = "google,cros-cbas";
> > + };
> > };
> > };
> >
> > --
> > 2.31.1.295.g9ea45b61b8-goog
> >