Message ID | 20241017094222.1014936-8-wenst@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | platform/chrome: Introduce DT hardware prober | expand |
Hi, On Thu, Oct 17, 2024 at 2:42 AM Chen-Yu Tsai <wenst@chromium.org> wrote: > > Instead of having them all available, mark them all as "fail-needs-probe" > and have the implementation try to probe which one is present. > > Also remove the shared resource workaround by moving the pinctrl entry > for the trackpad interrupt line back into the individual trackpad nodes. It could be worth noting in the description that it's a really bad idea to pick this patch if you don't also have the patch ("platform/chrome: Introduce device tree hardware prober"). > @@ -35,6 +37,7 @@ touchscreen@40 { > hid-descr-addr = <0x0001>; > interrupt-parent = <&pio>; > interrupts = <88 IRQ_TYPE_LEVEL_LOW>; > + status = "fail-needs-probe"; It's a little weird that there's no pinctrl definition for the touchscreens but there is one for the trackpad, but that predates your patch and is unlikely to be a big deal. > }; > }; > > @@ -47,6 +50,8 @@ &i2c4 { > trackpad2: trackpad@2c { > compatible = "hid-over-i2c"; > interrupts-extended = <&pio 117 IRQ_TYPE_LEVEL_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&trackpad_irq>; > reg = <0x2c>; I should have noticed before, but officially the order above is slightly off. According to: https://docs.kernel.org/devicetree/bindings/dts-coding-style.html The "reg" property should be higher (right after compatible). It's not a new problem with your patch but since you're inserting a new property you might as well match the new dts style. In any case, nothing is a huge deal. Reviewed-by: Douglas Anderson <dianders@chromium.org>
diff --git a/arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi b/arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi index e03474702cad..d9abd68da369 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi @@ -14,6 +14,7 @@ touchscreen2: touchscreen@34 { compatible = "melfas,mip4_ts"; reg = <0x34>; interrupts-extended = <&pio 88 IRQ_TYPE_LEVEL_LOW>; + status = "fail-needs-probe"; }; /* @@ -26,6 +27,7 @@ touchscreen3: touchscreen@20 { reg = <0x20>; hid-descr-addr = <0x0020>; interrupts-extended = <&pio 88 IRQ_TYPE_LEVEL_LOW>; + status = "fail-needs-probe"; }; /* Lenovo Ideapad C330 uses G2Touch touchscreen as a 2nd source touchscreen */ @@ -35,6 +37,7 @@ touchscreen@40 { hid-descr-addr = <0x0001>; interrupt-parent = <&pio>; interrupts = <88 IRQ_TYPE_LEVEL_LOW>; + status = "fail-needs-probe"; }; }; @@ -47,6 +50,8 @@ &i2c4 { trackpad2: trackpad@2c { compatible = "hid-over-i2c"; interrupts-extended = <&pio 117 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&trackpad_irq>; reg = <0x2c>; hid-descr-addr = <0x0020>; /* @@ -56,6 +61,7 @@ trackpad2: trackpad@2c { /* post-power-on-delay-ms = <100>; */ vdd-supply = <&mt6397_vgp6_reg>; wakeup-source; + status = "fail-needs-probe"; }; }; @@ -80,3 +86,11 @@ pins_wp { }; }; }; + +&touchscreen { + status = "fail-needs-probe"; +}; + +&trackpad { + status = "fail-needs-probe"; +}; diff --git a/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi b/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi index b4d85147b77b..eee64461421f 100644 --- a/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi @@ -358,12 +358,12 @@ touchscreen: touchscreen@10 { &i2c4 { clock-frequency = <400000>; status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&trackpad_irq>; trackpad: trackpad@15 { compatible = "elan,ekth3000"; interrupts-extended = <&pio 117 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&trackpad_irq>; reg = <0x15>; vcc-supply = <&mt6397_vgp6_reg>; wakeup-source;
Instead of having them all available, mark them all as "fail-needs-probe" and have the implementation try to probe which one is present. Also remove the shared resource workaround by moving the pinctrl entry for the trackpad interrupt line back into the individual trackpad nodes. Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> --- Changes since v7: - Mark touchscreen@40 as "fail-needs-probe" as well Changes since v6: none Changes since v5: none Changes since v4: - Rebased Changes since v3: - Also remove second source workaround, i.e. move the interrupt line pinctrl entry from the i2c node back to the components. Changes since v2: - Drop class from status --- arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi | 14 ++++++++++++++ arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-)