On Fri, Dec 1, 2023 at 10:11 AM Peter Griffin <peter.griffin@xxxxxxxxxx> wrote: > > Add serial driver data for Google Tensor gs101 SoC and a common > fifoszdt_serial_drv_data that can be used by platforms that specify the > samsung,uart-fifosize DT property. > > A corresponding dt-bindings patch updates the yaml to ensure > samsung,uart-fifosize is a required property. > > Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Reviewed-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx> > Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> > Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> > --- > drivers/tty/serial/samsung_tty.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c > index 1b0c2b467a30..f8d98f1006de 100644 > --- a/drivers/tty/serial/samsung_tty.c > +++ b/drivers/tty/serial/samsung_tty.c > @@ -2490,14 +2490,25 @@ static const struct s3c24xx_serial_drv_data exynos850_serial_drv_data = { > .fifosize = { 256, 64, 64, 64 }, > }; > > +/* > + * Common drv_data struct for platforms that specify uart,fifosize in > + * device tree. Isn't it "samsung,uart-fifosize"? Or it was intended this way? Other than this, LGTM (my R-b tag is already present in this patch). > + */ > +static const struct s3c24xx_serial_drv_data exynos_fifoszdt_serial_drv_data = { > + EXYNOS_COMMON_SERIAL_DRV_DATA(), > + .fifosize = { 0 }, > +}; > + > #define EXYNOS4210_SERIAL_DRV_DATA (&exynos4210_serial_drv_data) > #define EXYNOS5433_SERIAL_DRV_DATA (&exynos5433_serial_drv_data) > #define EXYNOS850_SERIAL_DRV_DATA (&exynos850_serial_drv_data) > +#define EXYNOS_FIFOSZDT_DRV_DATA (&exynos_fifoszdt_serial_drv_data) > > #else > #define EXYNOS4210_SERIAL_DRV_DATA NULL > #define EXYNOS5433_SERIAL_DRV_DATA NULL > #define EXYNOS850_SERIAL_DRV_DATA NULL > +#define EXYNOS_FIFOSZDT_DRV_DATA NULL > #endif > > #ifdef CONFIG_ARCH_APPLE > @@ -2581,6 +2592,9 @@ static const struct platform_device_id s3c24xx_serial_driver_ids[] = { > }, { > .name = "artpec8-uart", > .driver_data = (kernel_ulong_t)ARTPEC8_SERIAL_DRV_DATA, > + }, { > + .name = "gs101-uart", > + .driver_data = (kernel_ulong_t)EXYNOS_FIFOSZDT_DRV_DATA, > }, > { }, > }; > @@ -2602,6 +2616,8 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = { > .data = EXYNOS850_SERIAL_DRV_DATA }, > { .compatible = "axis,artpec8-uart", > .data = ARTPEC8_SERIAL_DRV_DATA }, > + { .compatible = "google,gs101-uart", > + .data = EXYNOS_FIFOSZDT_DRV_DATA }, > {}, > }; > MODULE_DEVICE_TABLE(of, s3c24xx_uart_dt_match); > -- > 2.43.0.rc2.451.g8631bc7472-goog >