* [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).