lkml.org 
[lkml]   [2022]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] arm64: dts: qcom: sc7180-trogdor: Split out keyboard node and describe detachables
Hi,

On Wed, May 18, 2022 at 10:25 AM Stephen Boyd <swboyd@chromium.org> wrote:
>
> Trogdor devices that have a detachable keyboard still have a
> non-detachable keyboard input device present because we include the
> cros-ec-keyboard.dtsi snippet in the top-level sc7180-trogdor.dtsi file
> that every variant board includes. We do this because the
> keyboard-controller node also provides some buttons like the power
> button and volume buttons. Unfortunately, this means we register a
> keyboard input device that doesn't do anything on boards with a
> detachable keyboard.
>
> Change the node's compatible on detachables to the newly introduced
> "google,cros-ec-keyb-switches" compatible to indicate that there are
> only switches and no keyboard to register. Similarly, move the keyboard
> include that defines the keyboard-controller node out of
> sc7180-trogdor.dtsi to boards that actually have a keyboard so that the
> matrix properties are not defined on boards with the switches
> compatible. Future boards can either use the include approach or the
> node definition approach to describe a keyboard with possible switches
> or just some switches.
>
> Cc: Benson Leung <bleung@chromium.org>
> Cc: Guenter Roeck <groeck@chromium.org>
> Cc: Douglas Anderson <dianders@chromium.org>
> Cc: Hsin-Yi Wang <hsinyi@chromium.org>
> Cc: "Joseph S. Barrera III" <joebar@chromium.org>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> ---
>
> This is based on an immutable branch from Dmitry (on Cc)
>
> git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git ib/5.17-cros-ec-keyb
>
> where this patch should be applied on top of so that a bisect doesn't
> break. The driver side change only supports one compatible or the other,
> so we can't apply this patch unless the driver side change is present.
>
> arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 4 ++++
> arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi | 6 ++++++
> arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi | 2 ++
> arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi | 2 ++
> arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts | 2 ++
> arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 1 -
> 6 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
> index 14ed09f30a73..a131dba4bf97 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
> @@ -86,6 +86,10 @@ &camcc {
> };
>
> &cros_ec {
> + keyboard-controller {
> + compatible = "google,cros-ec-keyb-switches";
> + };
> +
> cros_ec_proximity: proximity {
> compatible = "google,cros-ec-mkbp-proximity";
> label = "proximity-wifi";
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
> index f32369af1351..5d7ca89f7862 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
> @@ -121,6 +121,12 @@ &camcc {
> status = "okay";
> };
>
> +&cros_ec {
> + keyboard-controller {
> + compatible = "google,cros-ec-keyb-switches";
> + };
> +};
> +
> &panel {
> compatible = "samsung,atna33xc20";
> enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
> diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
> index 69666f92176a..4601f5afe255 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
> @@ -9,6 +9,8 @@
> ap_h1_spi: &spi0 {};
>
> #include "sc7180-trogdor.dtsi"
> +/* Must come after sc7180-trogdor.dtsi to modify cros_ec */
> +#include <arm/cros-ec-keyboard.dtsi>

As pointed out in a separate email [1], I think the include of
sc7180-trogdor.dtsi needs to be removed from this file. I think it's
still OK to include the keyboard.dtsi file here, though, since the
trogdor.dtsi file will always be included before the lazor.dtsi. You
just might need to update the comment.

https://lore.kernel.org/r/CAD=FV=VSMyJrs9bTE2XEC=q7VtZi6YKFaKJQJyLTZhVaYa9-Jg@mail.gmail.com/

Other than that, this looks good to me.

This will, of course, need to be coordinated with Joe's patches adding
the new boards.

-Doug

\
 
 \ /
  Last update: 2022-05-21 00:24    [W:0.052 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site