Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: wyibo6109@gmail.com
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org,
	dmitry.torokhov@gmail.com, linux-input@vger.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: input: add OnePlus pogo-pin keyboard binding
Date: Fri, 09 Oct 2026 12:28:01 +0000	[thread overview]
Message-ID: <sashiko-outbox-165539@kernel.org> (raw)
In-Reply-To: <20261009122046.551915-2-wyibo6109@gmail.com>

Thank you for your contribution! Sashiko AI review found 5 potential issue(s) to consider:
- [Low] dt-bindings: missing vendor prefix and reuse of standard touchscreen properties
- [Low] dt-bindings: custom array properties missing type $ref
- [Low] dt-bindings: additionalProperties: false incorrectly used with allOf $ref
- [Low] dt-bindings: unnecessary #address-cells and #size-cells in example
- [Low] MAINTAINERS: alphabetical ordering violation
--

commit ef349c1a2a4dec7c790c73c2c1a20cb2d95556c8
Author: Yibo Wang <wyibo6109@gmail.com>

dt-bindings: input: add OnePlus pogo-pin keyboard binding

Binding for the Tinno keyboard MCU used by the OnePlus Pad 3 Pro /
Pad 4 and OPPO Pad 5 Pro smart keyboards, attached to a tablet UART.

> diff --git a/Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml b/Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml
> new file mode 100644
> index 0000000000000..3086a2c4e2895
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml
> @@ -0,0 +1,81 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

[ ... ]

> +allOf:
> +  - $ref: /schemas/serial/serial-peripheral-props.yaml#
> +
> +properties:
> +  compatible:
> +    const: oneplus,pogo-keyboard

[ ... ]

> +  touchpad-xy-max:
> +    description: Touchpad maximum X and Y coordinates in units.
> +    items:
> +      - description: maximum X
> +      - description: maximum Y
> +    minItems: 2
> +    maxItems: 2
> +
> +  touchpad-xy-resolution:
> +    description: Touchpad X and Y resolution in units per millimetre.
> +    items:
> +      - description: X resolution
> +      - description: Y resolution
> +    minItems: 2
> +    maxItems: 2

[Severity: Low]
Does this bypass the standard touchscreen properties? The binding could reuse
properties from touchscreen.yaml, such as touchscreen-size-x,
touchscreen-size-y, touchscreen-x-mm, and touchscreen-y-mm, rather than
introducing custom variations. 

If custom properties are strictly necessary here, should they include a
vendor prefix like oneplus,touchpad-xy-max?

Additionally, since these custom properties define an items array, do they
also need an explicit type reference (such as
$ref: /schemas/types.yaml#/definitions/uint32-array)? Without a standard
suffix, device tree schema tools might fail meta-schema validation because
they cannot automatically infer the type.

> +
> +required:
> +  - compatible
> +  - power-gpios
> +  - tx-enable-gpios
> +  - wake-gpios
> +
> +additionalProperties: false

[Severity: Low]
Does this strict constraint incorrectly override the referenced schema?

Because the schema imports serial-peripheral-props.yaml via the allOf block,
JSON schema evaluation will not account for those imported properties under
additionalProperties. Does this cause valid serial properties (like
max-speed) to be incorrectly rejected?

Could this be resolved by using unevaluatedProperties: false instead?

> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    serial {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        keyboard {

[Severity: Low]
Since the child keyboard node omits a reg property because it is a simple
point-to-point UART peripheral, are #address-cells and #size-cells needed on
the parent node? 

Could this trigger the avoid_unnecessary_addr_size dtc warning during make
dt_binding_check?

> +            compatible = "oneplus,pogo-keyboard";
> +            power-gpios = <&pmic_gpios 12 GPIO_ACTIVE_HIGH>;
> +            tx-enable-gpios = <&pmic2_gpios 6 GPIO_ACTIVE_HIGH>;
> +            wake-gpios = <&tlmm 151 GPIO_ACTIVE_LOW>;
> +            touchpad-xy-max = <2560 1440>;
> +            touchpad-xy-resolution = <24 25>;
> +        };
> +    };
> +...

> diff --git a/MAINTAINERS b/MAINTAINERS
> index b8c4e1080af94..d0adba45c8f0b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -20147,6 +20147,13 @@ S:	Maintained
>  T:	git git://linuxtv.org/media.git
>  F:	drivers/media/i2c/ov9734.c
>  
> +ONEPLUS POGO-PIN KEYBOARD DRIVER
> +M:	Yibo Wang <wyibo6109@gmail.com>
> +L:	linux-input@vger.kernel.org
> +S:	Maintained
> +F:	Documentation/devicetree/bindings/input/oneplus,pogo-keyboard.yaml
> +F:	drivers/input/keyboard/oneplus-pogo-kbd.c
> +
>  ONBOARD USB HUB DRIVER

[Severity: Low]
Should ONEPLUS POGO-PIN KEYBOARD DRIVER be placed after ONBOARD USB HUB
DRIVER? 

Alphabetically, ONEPLUS comes after ONBOARD, so inserting it here appears to
break the alphabetical ordering requested by the MAINTAINERS file.

>  M:	Matthias Kaehlcke <mka@chromium.org>
>  L:	linux-usb@vger.kernel.org

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261009122046.551915-1-wyibo6109@gmail.com?part=1

  reply	other threads:[~2026-10-09 12:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-09 12:20 [PATCH 0/2] Input: add support for OnePlus/OPPO Pad pogo-pin keyboards wyibo6109
2026-10-09 12:20 ` [PATCH 1/2] dt-bindings: input: add OnePlus pogo-pin keyboard binding wyibo6109
2026-10-09 12:28   ` sashiko-bot [this message]
2026-10-09 13:22   ` Krzysztof Kozlowski
2026-10-09 12:20 ` [PATCH 2/2] Input: add OnePlus/OPPO Pad pogo-pin keyboard serdev driver wyibo6109
2026-10-09 12:38   ` sashiko-bot
  -- strict thread matches above, loose matches on Subject: below --
2026-10-09 12:11 [PATCH 0/2] Input: add support for OnePlus/OPPO Pad pogo-pin keyboards Yibo Wang
2026-10-09 12:11 ` [PATCH 1/2] dt-bindings: input: add OnePlus pogo-pin keyboard binding Yibo Wang
2026-10-09 12:19   ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sashiko-outbox-165539@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=wyibo6109@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox