mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: pinctrl: Drop k3
@ 2023-06-01 17:38 Nishanth Menon
  2023-06-02  6:46 ` Krzysztof Kozlowski
  2023-06-09  6:56 ` Linus Walleij
  0 siblings, 2 replies; 3+ messages in thread
From: Nishanth Menon @ 2023-06-01 17:38 UTC (permalink / raw)
  To: Conor Dooley, Krzysztof Kozlowski, Rob Herring, Linus Walleij
  Cc: devicetree, linux-gpio, linux-kernel, linux-arm-kernel,
	Vignesh Raghavendra, Tero Kristo, Nishanth Menon,
	Krzysztof Kozlowski

For convenience (less code duplication), the pin controller pin
configuration register values were defined in the bindings header.
These are not some IDs or other abstraction layer but raw numbers used
in the registers.

These constants do not fit the purpose of bindings. They do not
provide any abstraction, any hardware and driver independent ID. In
fact, the Linux pinctrl-single driver actually do not use the bindings
header at all.

Commit f2de003e1426 ("dt-bindings: pinctrl: k3: Deprecate header with
register constants") already moved users to the local header, so, drop
the binding header. See background discussion in [1].

While at it, clean up the MAINTAINERS file which is the only reference
left.

[1]: https://lore.kernel.org/linux-arm-kernel/71c7feff-4189-f12f-7353-bce41a61119d@linaro.org/
Suggested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
---
Linus,

If you could pick this up for the next 6.5 kernel window now that we have kept the
old header around for one cycle.

Ref: https://lore.kernel.org/linux-arm-kernel/20230313160019.vask6atfs6qwphml@twerp/

 MAINTAINERS                      |  1 -
 include/dt-bindings/pinctrl/k3.h | 60 --------------------------------
 2 files changed, 61 deletions(-)
 delete mode 100644 include/dt-bindings/pinctrl/k3.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 16ee982ce8cf..d25a463fd6a9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2948,7 +2948,6 @@ F:	Documentation/devicetree/bindings/arm/ti/k3.yaml
 F:	Documentation/devicetree/bindings/hwinfo/ti,k3-socinfo.yaml
 F:	arch/arm64/boot/dts/ti/Makefile
 F:	arch/arm64/boot/dts/ti/k3-*
-F:	include/dt-bindings/pinctrl/k3.h
 
 ARM/TOSHIBA VISCONTI ARCHITECTURE
 M:	Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
diff --git a/include/dt-bindings/pinctrl/k3.h b/include/dt-bindings/pinctrl/k3.h
deleted file mode 100644
index b5aca149664e..000000000000
--- a/include/dt-bindings/pinctrl/k3.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * This header provides constants for pinctrl bindings for TI's K3 SoC
- * family.
- *
- * Copyright (C) 2018-2021 Texas Instruments Incorporated - https://www.ti.com/
- */
-#ifndef _DT_BINDINGS_PINCTRL_TI_K3_H
-#define _DT_BINDINGS_PINCTRL_TI_K3_H
-
-/*
- * These bindings are deprecated, because they do not match the actual
- * concept of bindings but rather contain pure register values.
- * Instead include the header in the DTS source directory.
- */
-#warning "These bindings are deprecated. Instead, use the header in the DTS source directory."
-
-#define PULLUDEN_SHIFT		(16)
-#define PULLTYPESEL_SHIFT	(17)
-#define RXACTIVE_SHIFT		(18)
-
-#define PULL_DISABLE		(1 << PULLUDEN_SHIFT)
-#define PULL_ENABLE		(0 << PULLUDEN_SHIFT)
-
-#define PULL_UP			(1 << PULLTYPESEL_SHIFT | PULL_ENABLE)
-#define PULL_DOWN		(0 << PULLTYPESEL_SHIFT | PULL_ENABLE)
-
-#define INPUT_EN		(1 << RXACTIVE_SHIFT)
-#define INPUT_DISABLE		(0 << RXACTIVE_SHIFT)
-
-/* Only these macros are expected be used directly in device tree files */
-#define PIN_OUTPUT		(INPUT_DISABLE | PULL_DISABLE)
-#define PIN_OUTPUT_PULLUP	(INPUT_DISABLE | PULL_UP)
-#define PIN_OUTPUT_PULLDOWN	(INPUT_DISABLE | PULL_DOWN)
-#define PIN_INPUT		(INPUT_EN | PULL_DISABLE)
-#define PIN_INPUT_PULLUP	(INPUT_EN | PULL_UP)
-#define PIN_INPUT_PULLDOWN	(INPUT_EN | PULL_DOWN)
-
-#define AM62AX_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define AM62AX_MCU_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#define AM62X_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define AM62X_MCU_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#define AM64X_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define AM64X_MCU_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#define AM65X_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define AM65X_WKUP_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#define J721E_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define J721E_WKUP_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#define J721S2_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define J721S2_WKUP_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#define J784S4_IOPAD(pa, val, muxmode)		(((pa) & 0x1fff)) ((val) | (muxmode))
-#define J784S4_WKUP_IOPAD(pa, val, muxmode)	(((pa) & 0x1fff)) ((val) | (muxmode))
-
-#endif
-- 
2.40.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] dt-bindings: pinctrl: Drop k3
  2023-06-01 17:38 [PATCH] dt-bindings: pinctrl: Drop k3 Nishanth Menon
@ 2023-06-02  6:46 ` Krzysztof Kozlowski
  2023-06-09  6:56 ` Linus Walleij
  1 sibling, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-02  6:46 UTC (permalink / raw)
  To: Nishanth Menon, Conor Dooley, Krzysztof Kozlowski, Rob Herring,
	Linus Walleij
  Cc: devicetree, linux-gpio, linux-kernel, linux-arm-kernel,
	Vignesh Raghavendra, Tero Kristo

On 01/06/2023 19:38, Nishanth Menon wrote:
> For convenience (less code duplication), the pin controller pin
> configuration register values were defined in the bindings header.
> These are not some IDs or other abstraction layer but raw numbers used
> in the registers.
> 
> These constants do not fit the purpose of bindings. They do not
> provide any abstraction, any hardware and driver independent ID. In
> fact, the Linux pinctrl-single driver actually do not use the bindings
> header at all.
> 
> Commit f2de003e1426 ("dt-bindings: pinctrl: k3: Deprecate header with
> register constants") already moved users to the local header, so, drop
> the binding header. See background discussion in [1].
> 

This happened just a release ago, so I would rather expect to have it
deprecated for some time, so out of tree DTBs won't be broken. But any
platform ABI is up to platform maintainer so:

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] dt-bindings: pinctrl: Drop k3
  2023-06-01 17:38 [PATCH] dt-bindings: pinctrl: Drop k3 Nishanth Menon
  2023-06-02  6:46 ` Krzysztof Kozlowski
@ 2023-06-09  6:56 ` Linus Walleij
  1 sibling, 0 replies; 3+ messages in thread
From: Linus Walleij @ 2023-06-09  6:56 UTC (permalink / raw)
  To: Nishanth Menon
  Cc: Conor Dooley, Krzysztof Kozlowski, Rob Herring, devicetree,
	linux-gpio, linux-kernel, linux-arm-kernel, Vignesh Raghavendra,
	Tero Kristo, Krzysztof Kozlowski

On Thu, Jun 1, 2023 at 7:38 PM Nishanth Menon <nm@ti.com> wrote:

> If you could pick this up for the next 6.5 kernel window now that we have kept the
> old header around for one cycle.

Patch applied!

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-09  6:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-01 17:38 [PATCH] dt-bindings: pinctrl: Drop k3 Nishanth Menon
2023-06-02  6:46 ` Krzysztof Kozlowski
2023-06-09  6:56 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®