[PATCH v3 0/8] pinctrl/arm: dt-bindings: deprecate header with register constants
Rob Herring
robh at kernel.org
Mon Jun 6 11:59:23 PDT 2022
On Sun, Jun 05, 2022 at 06:05:00PM +0200, Krzysztof Kozlowski wrote:
> Hi,
>
> Merging
> =======
> 1. I plan to take the DTS changes (patches 1-6) via Samsung SoC tree.
> 2. The driver change (patch 7) can go independently via pinctrl tree or via my
> Samsung pinctrl tree.
> 3. The final bindings patch 8 will wait for next release, to avoid any cross
> tree merges or warnings.
>
> Changes since v2
> ================
> 1. Split last bindings patch per driver changes and bindings.
> 2. Add tags.
>
> Changes since v1
> ================
> 1. Correct title (in the comment) of each header (Chanho).
> 2. Patch #7: Adjust warning message.
> 3. Add tags.
>
> Description
> ===========
> The Samsung pin controller drivers were always expecting DTS to use raw
> register values for pin configuration (e.g. pull up/down, drive strength). DTS
> had these values hard-coded all over, so at some point we decided for
> convenience to move them to dt-bindings header. Less code duplication, some
> meaning added to raw number, etc.
>
> However these constants do not fit the purpose of bindings. They do not
> provide any abstraction, any hardware and driver independent ID. With minor
> exceptions, the Linux drivers actually do not use the bindings header at
> all. Because of this "dt-bindings ID" approach, these constants were re-used
> between chips, e.g. Exynos ones in S5PV210. These does not make much sense
> because the values between Exynos and S5PV210 (or S3C24xx) are not related. If
> it was an abstraction ID, this would be fine. But it's not.
>
> Clean this up by:
> 1. Moving the constants to DTS-local headers.
> 2. Deprecating the bindings header.
>
> Tested by comparing DTBs (dtx_diff, fdtdump).
>
> Best regards,
> Krzysztof
>
> Krzysztof Kozlowski (8):
> ARM: dts: s3c2410: use local header for pinctrl register values
> ARM: dts: s3c64xx: use local header for pinctrl register values
> ARM: dts: s5pv210: use local header for pinctrl register values
> ARM: dts: exynos: use local header for pinctrl register values
> arm64: dts: exynos: use local header for pinctrl register values
> arm64: dts: fsd: use local header for pinctrl register values
> pinctrl: samsung: do not use bindings header with constants
> dt-bindings: pinctrl: samsung: deprecate header with register
> constants
For the series:
Acked-by: Rob Herring <robh at kernel.org>
More information about the linux-arm-kernel
mailing list