linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Use exynos8895 driver data for ARTPEC-8 platform
       [not found] <CGME20250911141702epcas5p23d6a0708919eca66f9b29104efafbc1f@epcas5p2.samsung.com>
@ 2025-09-11 14:16 ` Ravi Patel
  2025-09-11 14:16   ` [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize Ravi Patel
                     ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Ravi Patel @ 2025-09-11 14:16 UTC (permalink / raw)
  To: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, krzk
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t, Ravi Patel

Existing samsung uart driver has separately added ARTPEC-8 specific
driver data, which is added long back (> 2yrs).

This driver data can be removed and other similar driver data
like exynos8895 can be used with some changes in the dt-binding and
device tree.
This patch series does the same.

NOTE: This series is useful for the upcoming ARTPEC-9 base patches
where uart is exactly same as the ARTPEC-8.

Ravi Patel (3):
  dt-bindings: serial: samsung: Update axis,artpec8-uart to use
    samsung,uart-fifosize
  arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial
    node
  tty: serial: samsung: Remove unused artpec-8 specific code

 .../bindings/serial/samsung_uart.yaml         |  2 +-
 arch/arm64/boot/dts/exynos/axis/artpec8.dtsi  |  3 +-
 drivers/tty/serial/Kconfig                    |  2 +-
 drivers/tty/serial/samsung_tty.c              | 38 -------------------
 4 files changed, 4 insertions(+), 41 deletions(-)

--
2.17.1



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

* [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize
  2025-09-11 14:16 ` [PATCH 0/3] Use exynos8895 driver data for ARTPEC-8 platform Ravi Patel
@ 2025-09-11 14:16   ` Ravi Patel
  2025-09-11 14:32     ` Krzysztof Kozlowski
  2025-09-11 14:16   ` [PATCH 2/3] arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial node Ravi Patel
  2025-09-11 14:16   ` [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code Ravi Patel
  2 siblings, 1 reply; 14+ messages in thread
From: Ravi Patel @ 2025-09-11 14:16 UTC (permalink / raw)
  To: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, krzk
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t, Ravi Patel

Update the axis,artpec8-uart compatible such that it uses the
samsung,uart-fifosize as required property.

This is to remove the axis,artpec8-uart specific code (which is
kind of duplicated) from the driver and use the other matching
exynos8895 uart code for ARTPEC-8.

Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
---
 Documentation/devicetree/bindings/serial/samsung_uart.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
index 1a1f991d5364..08eceaae2921 100644
--- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
+++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
@@ -152,7 +152,6 @@ allOf:
           contains:
             enum:
               - apple,s5l-uart
-              - axis,artpec8-uart
               - samsung,exynos4210-uart
               - samsung,exynos5433-uart
     then:
@@ -168,6 +167,7 @@ allOf:
         compatible:
           contains:
             enum:
+              - axis,artpec8-uart
               - google,gs101-uart
               - samsung,exynos8895-uart
     then:
--
2.17.1



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

* [PATCH 2/3] arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial node
  2025-09-11 14:16 ` [PATCH 0/3] Use exynos8895 driver data for ARTPEC-8 platform Ravi Patel
  2025-09-11 14:16   ` [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize Ravi Patel
@ 2025-09-11 14:16   ` Ravi Patel
  2025-09-11 14:24     ` Krzysztof Kozlowski
  2025-09-11 14:16   ` [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code Ravi Patel
  2 siblings, 1 reply; 14+ messages in thread
From: Ravi Patel @ 2025-09-11 14:16 UTC (permalink / raw)
  To: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, krzk
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t, Ravi Patel

Add the samsung,exynos8895-uart compatible in the serial node
and also add samsung,uart-fifosize property.

This is to remove the axis,artpec8-uart specific code (which is
kind of duplicated) from the driver and use the other matching
exynos8895 uart code for ARTPEC-8.

Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
---
 arch/arm64/boot/dts/exynos/axis/artpec8.dtsi | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/exynos/axis/artpec8.dtsi b/arch/arm64/boot/dts/exynos/axis/artpec8.dtsi
index db9833297982..0f018b258b60 100644
--- a/arch/arm64/boot/dts/exynos/axis/artpec8.dtsi
+++ b/arch/arm64/boot/dts/exynos/axis/artpec8.dtsi
@@ -223,7 +223,7 @@
 		};

 		serial_0: serial@16cc0000 {
-			compatible = "axis,artpec8-uart";
+			compatible = "axis,artpec8-uart", "samsung,exynos8895-uart";
 			reg = <0x16cc0000 0x100>;
 			clocks = <&cmu_fsys CLK_GOUT_FSYS_UART0_PCLK>,
 				 <&cmu_fsys CLK_GOUT_FSYS_UART0_SCLK_UART>;
@@ -231,6 +231,7 @@
 			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&serial0_bus>;
+			samsung,uart-fifosize = <64>;
 		};
 	};

--
2.17.1



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

* [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 14:16 ` [PATCH 0/3] Use exynos8895 driver data for ARTPEC-8 platform Ravi Patel
  2025-09-11 14:16   ` [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize Ravi Patel
  2025-09-11 14:16   ` [PATCH 2/3] arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial node Ravi Patel
@ 2025-09-11 14:16   ` Ravi Patel
  2025-09-11 14:27     ` Geert Uytterhoeven
  2 siblings, 1 reply; 14+ messages in thread
From: Ravi Patel @ 2025-09-11 14:16 UTC (permalink / raw)
  To: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, krzk
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t, Ravi Patel

Since ARTPEC-8 is using exynos8895 driver data, remove the unused
artpec-8 specific driver data.

ARTPEC-8 is using exynos4210 for earlycon, so earlycon code
for ARTPEC-8 is also not required.

Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
---
NOTE: This is exactly the revert of the below commit.
commit 1db536f95d0264a2b83fb032d5b057ba0113e622
Author: Vincent Whitchurch <vincent.whitchurch@axis.com>
Date:   Fri Mar 11 10:45:15 2022 +0100

tty: serial: samsung: Add ARTPEC-8 support
---
 drivers/tty/serial/Kconfig       |  2 +-
 drivers/tty/serial/samsung_tty.c | 38 --------------------------------
 2 files changed, 1 insertion(+), 39 deletions(-)

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 44427415a80d..6f4d6f44d997 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -219,7 +219,7 @@ config SERIAL_CLPS711X_CONSOLE

 config SERIAL_SAMSUNG
 	tristate "Samsung SoC serial support"
-	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || ARCH_ARTPEC || COMPILE_TEST
+	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || ARCH_APPLE || COMPILE_TEST
 	select SERIAL_CORE
 	help
 	  Support for the on-chip UARTs on the Samsung
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 2fb58c626daf..322ab280a59e 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -2577,37 +2577,6 @@ static const struct s3c24xx_serial_drv_data s5l_serial_drv_data = {
 #define S5L_SERIAL_DRV_DATA NULL
 #endif

-#if defined(CONFIG_ARCH_ARTPEC)
-static const struct s3c24xx_serial_drv_data artpec8_serial_drv_data = {
-	.info = {
-		.name		= "Axis ARTPEC-8 UART",
-		.type		= TYPE_S3C6400,
-		.port_type	= PORT_S3C6400,
-		.iotype		= UPIO_MEM,
-		.fifosize	= 64,
-		.has_divslot	= true,
-		.rx_fifomask	= S5PV210_UFSTAT_RXMASK,
-		.rx_fifoshift	= S5PV210_UFSTAT_RXSHIFT,
-		.rx_fifofull	= S5PV210_UFSTAT_RXFULL,
-		.tx_fifofull	= S5PV210_UFSTAT_TXFULL,
-		.tx_fifomask	= S5PV210_UFSTAT_TXMASK,
-		.tx_fifoshift	= S5PV210_UFSTAT_TXSHIFT,
-		.def_clk_sel	= S3C2410_UCON_CLKSEL0,
-		.num_clks	= 1,
-		.clksel_mask	= 0,
-		.clksel_shift	= 0,
-	},
-	.def_cfg = {
-		.ucon		= S5PV210_UCON_DEFAULT,
-		.ufcon		= S5PV210_UFCON_DEFAULT,
-		.has_fracval	= 1,
-	}
-};
-#define ARTPEC8_SERIAL_DRV_DATA (&artpec8_serial_drv_data)
-#else
-#define ARTPEC8_SERIAL_DRV_DATA (NULL)
-#endif
-
 static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
 	{
 		.name		= "s3c6400-uart",
@@ -2627,9 +2596,6 @@ static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
 	}, {
 		.name		= "exynos850-uart",
 		.driver_data	= (kernel_ulong_t)EXYNOS850_SERIAL_DRV_DATA,
-	}, {
-		.name		= "artpec8-uart",
-		.driver_data	= (kernel_ulong_t)ARTPEC8_SERIAL_DRV_DATA,
 	}, {
 		.name		= "gs101-uart",
 		.driver_data	= (kernel_ulong_t)GS101_SERIAL_DRV_DATA,
@@ -2655,8 +2621,6 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
 		.data = S5L_SERIAL_DRV_DATA },
 	{ .compatible = "samsung,exynos850-uart",
 		.data = EXYNOS850_SERIAL_DRV_DATA },
-	{ .compatible = "axis,artpec8-uart",
-		.data = ARTPEC8_SERIAL_DRV_DATA },
 	{ .compatible = "google,gs101-uart",
 		.data = GS101_SERIAL_DRV_DATA },
 	{ .compatible = "samsung,exynos8895-uart",
@@ -2828,8 +2792,6 @@ OF_EARLYCON_DECLARE(s5pv210, "samsung,s5pv210-uart",
 			s5pv210_early_console_setup);
 OF_EARLYCON_DECLARE(exynos4210, "samsung,exynos4210-uart",
 			s5pv210_early_console_setup);
-OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
-			s5pv210_early_console_setup);

 static int __init gs101_early_console_setup(struct earlycon_device *device,
 					    const char *opt)
--
2.17.1



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

* Re: [PATCH 2/3] arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial node
  2025-09-11 14:16   ` [PATCH 2/3] arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial node Ravi Patel
@ 2025-09-11 14:24     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-11 14:24 UTC (permalink / raw)
  To: Ravi Patel, gregkh, jirislaby, robh, krzk+dt, conor+dt,
	jesper.nilsson, lars.persson, alim.akhtar, arnd
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t

On 11/09/2025 16:16, Ravi Patel wrote:
> Add the samsung,exynos8895-uart compatible in the serial node
> and also add samsung,uart-fifosize property.
> 
> This is to remove the axis,artpec8-uart specific code (which is
> kind of duplicated) from the driver and use the other matching
> exynos8895 uart code for ARTPEC-8.
> 
> Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
> ---
>  arch/arm64/boot/dts/exynos/axis/artpec8.dtsi | 3 ++-


Please do not combine subsystems. This is a SoC patch, must be sent
separately.

I mentioned this on mailing list many times... recently:
https://lore.kernel.org/all/20250907-zippy-auburn-koel-d6da32@kuoka/


Best regards,
Krzysztof


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

* Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 14:16   ` [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code Ravi Patel
@ 2025-09-11 14:27     ` Geert Uytterhoeven
  2025-09-11 14:29       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Geert Uytterhoeven @ 2025-09-11 14:27 UTC (permalink / raw)
  To: Ravi Patel
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, krzk, andriy.shevchenko,
	geert+renesas, thierry.bultel.yh, dianders, robert.marko,
	schnelle, kkartik, linux-kernel, linux-serial, devicetree,
	linux-arm-kernel, linux-samsung-soc, linux-arm-kernel, ksk4725,
	kenkim, smn1196, pjsin865, shradha.t

Hi Ravi,

On Thu, 11 Sept 2025 at 16:17, Ravi Patel <ravi.patel@samsung.com> wrote:
> Since ARTPEC-8 is using exynos8895 driver data, remove the unused
> artpec-8 specific driver data.
>
> ARTPEC-8 is using exynos4210 for earlycon, so earlycon code
> for ARTPEC-8 is also not required.
>
> Signed-off-by: Ravi Patel <ravi.patel@samsung.com>

Thanks for your patch!

> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c

> @@ -2655,8 +2621,6 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
>                 .data = S5L_SERIAL_DRV_DATA },
>         { .compatible = "samsung,exynos850-uart",
>                 .data = EXYNOS850_SERIAL_DRV_DATA },
> -       { .compatible = "axis,artpec8-uart",
> -               .data = ARTPEC8_SERIAL_DRV_DATA },
>         { .compatible = "google,gs101-uart",
>                 .data = GS101_SERIAL_DRV_DATA },
>         { .compatible = "samsung,exynos8895-uart",
> @@ -2828,8 +2792,6 @@ OF_EARLYCON_DECLARE(s5pv210, "samsung,s5pv210-uart",
>                         s5pv210_early_console_setup);
>  OF_EARLYCON_DECLARE(exynos4210, "samsung,exynos4210-uart",
>                         s5pv210_early_console_setup);
> -OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
> -                       s5pv210_early_console_setup);
>
>  static int __init gs101_early_console_setup(struct earlycon_device *device,
>                                             const char *opt)

Removing these breaks backwards-compatibility with existing DTBs,
which lack the new "samsung,exynos8895-uart" fallback compatible value.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


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

* Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 14:27     ` Geert Uytterhoeven
@ 2025-09-11 14:29       ` Krzysztof Kozlowski
  2025-09-11 14:35         ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-11 14:29 UTC (permalink / raw)
  To: Geert Uytterhoeven, Ravi Patel
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, andriy.shevchenko, geert+renesas,
	thierry.bultel.yh, dianders, robert.marko, schnelle, kkartik,
	linux-kernel, linux-serial, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-arm-kernel, ksk4725, kenkim, smn1196,
	pjsin865, shradha.t

On 11/09/2025 16:27, Geert Uytterhoeven wrote:
> Hi Ravi,
> 
> On Thu, 11 Sept 2025 at 16:17, Ravi Patel <ravi.patel@samsung.com> wrote:
>> Since ARTPEC-8 is using exynos8895 driver data, remove the unused
>> artpec-8 specific driver data.
>>
>> ARTPEC-8 is using exynos4210 for earlycon, so earlycon code
>> for ARTPEC-8 is also not required.
>>
>> Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
> 
> Thanks for your patch!
> 
>> --- a/drivers/tty/serial/samsung_tty.c
>> +++ b/drivers/tty/serial/samsung_tty.c
> 
>> @@ -2655,8 +2621,6 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
>>                 .data = S5L_SERIAL_DRV_DATA },
>>         { .compatible = "samsung,exynos850-uart",
>>                 .data = EXYNOS850_SERIAL_DRV_DATA },
>> -       { .compatible = "axis,artpec8-uart",
>> -               .data = ARTPEC8_SERIAL_DRV_DATA },
>>         { .compatible = "google,gs101-uart",
>>                 .data = GS101_SERIAL_DRV_DATA },
>>         { .compatible = "samsung,exynos8895-uart",
>> @@ -2828,8 +2792,6 @@ OF_EARLYCON_DECLARE(s5pv210, "samsung,s5pv210-uart",
>>                         s5pv210_early_console_setup);
>>  OF_EARLYCON_DECLARE(exynos4210, "samsung,exynos4210-uart",
>>                         s5pv210_early_console_setup);
>> -OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
>> -                       s5pv210_early_console_setup);
>>
>>  static int __init gs101_early_console_setup(struct earlycon_device *device,
>>                                             const char *opt)
> 
> Removing these breaks backwards-compatibility with existing DTBs,
> which lack the new "samsung,exynos8895-uart" fallback compatible value.

This was just applied, so ABI break would be fine. It should be however
clearly expressed in the commit msg.

I have a feeling that not much testing was happening in Samsung around
this patchset and only now - after I applied it - some things happen.
But it is damn too late, my tree is already closed which means this is
going to be the ABI.

> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds


Best regards,
Krzysztof


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

* Re: [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize
  2025-09-11 14:16   ` [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize Ravi Patel
@ 2025-09-11 14:32     ` Krzysztof Kozlowski
  2025-09-11 15:52       ` Ravi Patel
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-11 14:32 UTC (permalink / raw)
  To: Ravi Patel, gregkh, jirislaby, robh, krzk+dt, conor+dt,
	jesper.nilsson, lars.persson, alim.akhtar, arnd
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t

On 11/09/2025 16:16, Ravi Patel wrote:
> Update the axis,artpec8-uart compatible such that it uses the
> samsung,uart-fifosize as required property.
> 
> This is to remove the axis,artpec8-uart specific code (which is
> kind of duplicated) from the driver and use the other matching
> exynos8895 uart code for ARTPEC-8.
> 
> Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
> ---
>  Documentation/devicetree/bindings/serial/samsung_uart.yaml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> index 1a1f991d5364..08eceaae2921 100644
> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> @@ -152,7 +152,6 @@ allOf:
>            contains:
>              enum:
>                - apple,s5l-uart
> -              - axis,artpec8-uart
>                - samsung,exynos4210-uart
>                - samsung,exynos5433-uart

You need to start testing patches, because this obviously fails basic
tests. And toolset would tell you if you bothered.

This does not fit documented Samsung SoC maintainer rules (because of (1)).

Best regards,
Krzysztof


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

* Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 14:29       ` Krzysztof Kozlowski
@ 2025-09-11 14:35         ` Krzysztof Kozlowski
  2025-09-11 16:04           ` Ravi Patel
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-11 14:35 UTC (permalink / raw)
  To: Geert Uytterhoeven, Ravi Patel
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, andriy.shevchenko, geert+renesas,
	thierry.bultel.yh, dianders, robert.marko, schnelle, kkartik,
	linux-kernel, linux-serial, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-arm-kernel, ksk4725, kenkim, smn1196,
	pjsin865, shradha.t

On 11/09/2025 16:29, Krzysztof Kozlowski wrote:
>>> --- a/drivers/tty/serial/samsung_tty.c
>>> +++ b/drivers/tty/serial/samsung_tty.c
>>
>>> @@ -2655,8 +2621,6 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
>>>                 .data = S5L_SERIAL_DRV_DATA },
>>>         { .compatible = "samsung,exynos850-uart",
>>>                 .data = EXYNOS850_SERIAL_DRV_DATA },
>>> -       { .compatible = "axis,artpec8-uart",
>>> -               .data = ARTPEC8_SERIAL_DRV_DATA },
>>>         { .compatible = "google,gs101-uart",
>>>                 .data = GS101_SERIAL_DRV_DATA },
>>>         { .compatible = "samsung,exynos8895-uart",
>>> @@ -2828,8 +2792,6 @@ OF_EARLYCON_DECLARE(s5pv210, "samsung,s5pv210-uart",
>>>                         s5pv210_early_console_setup);
>>>  OF_EARLYCON_DECLARE(exynos4210, "samsung,exynos4210-uart",
>>>                         s5pv210_early_console_setup);
>>> -OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
>>> -                       s5pv210_early_console_setup);
>>>
>>>  static int __init gs101_early_console_setup(struct earlycon_device *device,
>>>                                             const char *opt)
>>
>> Removing these breaks backwards-compatibility with existing DTBs,
>> which lack the new "samsung,exynos8895-uart" fallback compatible value.
> 
> This was just applied, so ABI break would be fine. It should be however
> clearly expressed in the commit msg.
> 
> I have a feeling that not much testing was happening in Samsung around
> this patchset and only now - after I applied it - some things happen.
> But it is damn too late, my tree is already closed which means this is
> going to be the ABI.

Ah, no, I mixed up patches with recent DTS for Artpec-8. This serial ABI
was accepted three years ago (!!!), so you are Geert absolutely right -
that's ABI break.

Folks in Samsung, maybe try to organize some weekly sessions sharing
knowledge after upstreaming reviews/feedbacks? I feel like you are
repeating same mistakes.

Best regards,
Krzysztof


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

* RE: [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize
  2025-09-11 14:32     ` Krzysztof Kozlowski
@ 2025-09-11 15:52       ` Ravi Patel
  0 siblings, 0 replies; 14+ messages in thread
From: Ravi Patel @ 2025-09-11 15:52 UTC (permalink / raw)
  To: 'Krzysztof Kozlowski', gregkh, jirislaby, robh, krzk+dt,
	conor+dt, jesper.nilsson, lars.persson, alim.akhtar, arnd
  Cc: andriy.shevchenko, geert+renesas, thierry.bultel.yh, dianders,
	robert.marko, schnelle, kkartik, linux-kernel, linux-serial,
	devicetree, linux-arm-kernel, linux-samsung-soc, linux-arm-kernel,
	ksk4725, kenkim, smn1196, pjsin865, shradha.t



> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 11 September 2025 20:03
...
> 
> On 11/09/2025 16:16, Ravi Patel wrote:
> > Update the axis,artpec8-uart compatible such that it uses the
> > samsung,uart-fifosize as required property.
> >
> > This is to remove the axis,artpec8-uart specific code (which is
> > kind of duplicated) from the driver and use the other matching
> > exynos8895 uart code for ARTPEC-8.
> >
> > Signed-off-by: Ravi Patel <ravi.patel@samsung.com>
> > ---
> >  Documentation/devicetree/bindings/serial/samsung_uart.yaml | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> > index 1a1f991d5364..08eceaae2921 100644
> > --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> > +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> > @@ -152,7 +152,6 @@ allOf:
> >            contains:
> >              enum:
> >                - apple,s5l-uart
> > -              - axis,artpec8-uart
> >                - samsung,exynos4210-uart
> >                - samsung,exynos5433-uart
> 
> You need to start testing patches, because this obviously fails basic
> tests. And toolset would tell you if you bothered.

Oh my bad, somehow I missed it.
Will fix (dtbs_check) in next version

Thanks for pointing out.

Thanks,
Ravi

> 
> This does not fit documented Samsung SoC maintainer rules (because of (1)).
> 
> Best regards,
> Krzysztof



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

* RE: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 14:35         ` Krzysztof Kozlowski
@ 2025-09-11 16:04           ` Ravi Patel
  2025-09-11 17:22             ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Ravi Patel @ 2025-09-11 16:04 UTC (permalink / raw)
  To: 'Krzysztof Kozlowski', 'Geert Uytterhoeven'
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, andriy.shevchenko, geert+renesas,
	thierry.bultel.yh, dianders, robert.marko, schnelle, kkartik,
	linux-kernel, linux-serial, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-arm-kernel, ksk4725, kenkim, smn1196,
	pjsin865, shradha.t



> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 11 September 2025 20:05
...
> Subject: Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
> 
> On 11/09/2025 16:29, Krzysztof Kozlowski wrote:
> >>> --- a/drivers/tty/serial/samsung_tty.c
> >>> +++ b/drivers/tty/serial/samsung_tty.c
> >>
> >>> @@ -2655,8 +2621,6 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
> >>>                 .data = S5L_SERIAL_DRV_DATA },
> >>>         { .compatible = "samsung,exynos850-uart",
> >>>                 .data = EXYNOS850_SERIAL_DRV_DATA },
> >>> -       { .compatible = "axis,artpec8-uart",
> >>> -               .data = ARTPEC8_SERIAL_DRV_DATA },
> >>>         { .compatible = "google,gs101-uart",
> >>>                 .data = GS101_SERIAL_DRV_DATA },
> >>>         { .compatible = "samsung,exynos8895-uart",
> >>> @@ -2828,8 +2792,6 @@ OF_EARLYCON_DECLARE(s5pv210, "samsung,s5pv210-uart",
> >>>                         s5pv210_early_console_setup);
> >>>  OF_EARLYCON_DECLARE(exynos4210, "samsung,exynos4210-uart",
> >>>                         s5pv210_early_console_setup);
> >>> -OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
> >>> -                       s5pv210_early_console_setup);
> >>>
> >>>  static int __init gs101_early_console_setup(struct earlycon_device *device,
> >>>                                             const char *opt)
> >>
> >> Removing these breaks backwards-compatibility with existing DTBs,
> >> which lack the new "samsung,exynos8895-uart" fallback compatible value.
> >
> > This was just applied, so ABI break would be fine. It should be however
> > clearly expressed in the commit msg.
> >
> > I have a feeling that not much testing was happening in Samsung around
> > this patchset and only now - after I applied it - some things happen.
> > But it is damn too late, my tree is already closed which means this is
> > going to be the ABI.
> 
> Ah, no, I mixed up patches with recent DTS for Artpec-8. This serial ABI
> was accepted three years ago (!!!), so you are Geert absolutely right -
> that's ABI break.

Thank you for your review.

The DTS patches for ARTPEC-8 is added recently (https://lore.kernel.org/linux-samsung-soc/20250901051926.59970-1-ravi.patel@samsung.com/)
Before that, there was no user (in DT) of "axis,artpec8-uart" compatible.
So I am not convinced of ABI break (considering patch #1 and #2 goes first with review comment fixes)

My intension here is to optimize the driver code (by removing kind of duplicated code)
And also preparation of upcoming ARTPEC-9 patch series where ARTPEC-9 uart is
exactly same as ARTPEC-8.

Please let me know if I misunderstood anything here.

Thanks,
Ravi

> 
> Folks in Samsung, maybe try to organize some weekly sessions sharing
> knowledge after upstreaming reviews/feedbacks? I feel like you are
> repeating same mistakes.
> 
> Best regards,
> Krzysztof



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

* Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 16:04           ` Ravi Patel
@ 2025-09-11 17:22             ` Krzysztof Kozlowski
  2025-09-12  5:19               ` Ravi Patel
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-11 17:22 UTC (permalink / raw)
  To: Ravi Patel, 'Geert Uytterhoeven'
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, andriy.shevchenko, geert+renesas,
	thierry.bultel.yh, dianders, robert.marko, schnelle, kkartik,
	linux-kernel, linux-serial, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-arm-kernel, ksk4725, kenkim, smn1196,
	pjsin865, shradha.t

On 11/09/2025 18:04, Ravi Patel wrote:
>>>>> -OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
>>>>> -                       s5pv210_early_console_setup);
>>>>>
>>>>>  static int __init gs101_early_console_setup(struct earlycon_device *device,
>>>>>                                             const char *opt)
>>>>
>>>> Removing these breaks backwards-compatibility with existing DTBs,
>>>> which lack the new "samsung,exynos8895-uart" fallback compatible value.
>>>
>>> This was just applied, so ABI break would be fine. It should be however
>>> clearly expressed in the commit msg.
>>>
>>> I have a feeling that not much testing was happening in Samsung around
>>> this patchset and only now - after I applied it - some things happen.
>>> But it is damn too late, my tree is already closed which means this is
>>> going to be the ABI.
>>
>> Ah, no, I mixed up patches with recent DTS for Artpec-8. This serial ABI
>> was accepted three years ago (!!!), so you are Geert absolutely right -
>> that's ABI break.
> 
> Thank you for your review.
> 
> The DTS patches for ARTPEC-8 is added recently (https://lore.kernel.org/linux-samsung-soc/20250901051926.59970-1-ravi.patel@samsung.com/)
> Before that, there was no user (in DT) of "axis,artpec8-uart" compatible.
> So I am not convinced of ABI break (considering patch #1 and #2 goes first with review comment fixes)


ABI is defined by bindings and implemented by kernel. Having DTS user is
irrelevant to fact whether ABI is or is not broken.

Having DTS user determines the known impact of known ABI breakage.

Best regards,
Krzysztof


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

* RE: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-11 17:22             ` Krzysztof Kozlowski
@ 2025-09-12  5:19               ` Ravi Patel
  2025-09-12 13:11                 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Ravi Patel @ 2025-09-12  5:19 UTC (permalink / raw)
  To: 'Krzysztof Kozlowski', 'Geert Uytterhoeven'
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, andriy.shevchenko, geert+renesas,
	thierry.bultel.yh, dianders, robert.marko, schnelle, kkartik,
	linux-kernel, linux-serial, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-arm-kernel, ksk4725, kenkim, smn1196,
	pjsin865, shradha.t



> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 11 September 2025 22:52
> To: Ravi Patel <ravi.patel@samsung.com>; 'Geert Uytterhoeven' <geert@linux-m68k.org>
> Cc: gregkh@linuxfoundation.org; jirislaby@kernel.org; robh@kernel.org; krzk+dt@kernel.org; conor+dt@kernel.org;
> jesper.nilsson@axis.com; lars.persson@axis.com; alim.akhtar@samsung.com; arnd@kernel.org; andriy.shevchenko@linux.intel.com;
> geert+renesas@glider.be; thierry.bultel.yh@bp.renesas.com; dianders@chromium.org; robert.marko@sartura.hr; schnelle@linux.ibm.com;
> kkartik@nvidia.com; linux-kernel@vger.kernel.org; linux-serial@vger.kernel.org; devicetree@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org; linux-samsung-soc@vger.kernel.org; linux-arm-kernel@axis.com; ksk4725@coasia.com; kenkim@coasia.com;
> smn1196@coasia.com; pjsin865@coasia.com; shradha.t@samsung.com
> Subject: Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
> 
> On 11/09/2025 18:04, Ravi Patel wrote:
> >>>>> -OF_EARLYCON_DECLARE(artpec8, "axis,artpec8-uart",
> >>>>> -                       s5pv210_early_console_setup);
> >>>>>
> >>>>>  static int __init gs101_early_console_setup(struct earlycon_device *device,
> >>>>>                                             const char *opt)
> >>>>
> >>>> Removing these breaks backwards-compatibility with existing DTBs,
> >>>> which lack the new "samsung,exynos8895-uart" fallback compatible value.
> >>>
> >>> This was just applied, so ABI break would be fine. It should be however
> >>> clearly expressed in the commit msg.
> >>>
> >>> I have a feeling that not much testing was happening in Samsung around
> >>> this patchset and only now - after I applied it - some things happen.
> >>> But it is damn too late, my tree is already closed which means this is
> >>> going to be the ABI.
> >>
> >> Ah, no, I mixed up patches with recent DTS for Artpec-8. This serial ABI
> >> was accepted three years ago (!!!), so you are Geert absolutely right -
> >> that's ABI break.
> >
> > Thank you for your review.
> >
> > The DTS patches for ARTPEC-8 is added recently (https://lore.kernel.org/linux-samsung-soc/20250901051926.59970-1-
> ravi.patel@samsung.com/)
> > Before that, there was no user (in DT) of "axis,artpec8-uart" compatible.
> > So I am not convinced of ABI break (considering patch #1 and #2 goes first with review comment fixes)
> 
> 
> ABI is defined by bindings and implemented by kernel. Having DTS user is
> irrelevant to fact whether ABI is or is not broken.
> 
> Having DTS user determines the known impact of known ABI breakage.

OK. So does that mean if someone adds the ABI then it cannot be reverted,
because of it breaks backword compatibility (users are using ABI in their local DTB) ?

Please suggest what should be the proper way.

Thanks,
Ravi

> 
> Best regards,
> Krzysztof



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

* Re: [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code
  2025-09-12  5:19               ` Ravi Patel
@ 2025-09-12 13:11                 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-12 13:11 UTC (permalink / raw)
  To: Ravi Patel, 'Geert Uytterhoeven'
  Cc: gregkh, jirislaby, robh, krzk+dt, conor+dt, jesper.nilsson,
	lars.persson, alim.akhtar, arnd, andriy.shevchenko, geert+renesas,
	thierry.bultel.yh, dianders, robert.marko, schnelle, kkartik,
	linux-kernel, linux-serial, devicetree, linux-arm-kernel,
	linux-samsung-soc, linux-arm-kernel, ksk4725, kenkim, smn1196,
	pjsin865, shradha.t

On 12/09/2025 07:19, Ravi Patel wrote:
>>>> Ah, no, I mixed up patches with recent DTS for Artpec-8. This serial ABI
>>>> was accepted three years ago (!!!), so you are Geert absolutely right -
>>>> that's ABI break.
>>>
>>> Thank you for your review.
>>>
>>> The DTS patches for ARTPEC-8 is added recently (https://lore.kernel.org/linux-samsung-soc/20250901051926.59970-1-
>> ravi.patel@samsung.com/)
>>> Before that, there was no user (in DT) of "axis,artpec8-uart" compatible.
>>> So I am not convinced of ABI break (considering patch #1 and #2 goes first with review comment fixes)
>>
>>
>> ABI is defined by bindings and implemented by kernel. Having DTS user is
>> irrelevant to fact whether ABI is or is not broken.
>>
>> Having DTS user determines the known impact of known ABI breakage.
> 
> OK. So does that mean if someone adds the ABI then it cannot be reverted,
> because of it breaks backword compatibility (users are using ABI in their local DTB) ?
> 
> Please suggest what should be the proper way.


Three years ago you (as in plural) submitted the Artpec-8 bindings and
driver with purpose. I think it was also claimed that DTS might come or
might not come ever, so the purpose was to supported out of tree users.

This means you made a contract in the kernel for that support.

You cannot change that ABI, because otherwise the contract you made
three years ago meant nothing.

You need to keep full backwards compatibility in the kernel. Look at
mailing list or git log how others dealt with it.

Best regards,
Krzysztof


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

end of thread, other threads:[~2025-09-12 13:11 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20250911141702epcas5p23d6a0708919eca66f9b29104efafbc1f@epcas5p2.samsung.com>
2025-09-11 14:16 ` [PATCH 0/3] Use exynos8895 driver data for ARTPEC-8 platform Ravi Patel
2025-09-11 14:16   ` [PATCH 1/3] dt-bindings: serial: samsung: Update axis,artpec8-uart to use samsung,uart-fifosize Ravi Patel
2025-09-11 14:32     ` Krzysztof Kozlowski
2025-09-11 15:52       ` Ravi Patel
2025-09-11 14:16   ` [PATCH 2/3] arm64: dts: axis: Add samsung,exynos8895-uart compatible for serial node Ravi Patel
2025-09-11 14:24     ` Krzysztof Kozlowski
2025-09-11 14:16   ` [PATCH 3/3] tty: serial: samsung: Remove unused artpec-8 specific code Ravi Patel
2025-09-11 14:27     ` Geert Uytterhoeven
2025-09-11 14:29       ` Krzysztof Kozlowski
2025-09-11 14:35         ` Krzysztof Kozlowski
2025-09-11 16:04           ` Ravi Patel
2025-09-11 17:22             ` Krzysztof Kozlowski
2025-09-12  5:19               ` Ravi Patel
2025-09-12 13:11                 ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).