[U-Boot] [RFC PATCH 01/13] serial: s5p: rework Samsung UART driver to get rid of uart.h

Andre Przywara
2017-12-04T10:21:18Z

Hi Simon,

On 02/12/17 03:30, Simon Glass wrote:
> On 29 November 2017 at 18:24, Andre Przywara <andre.przywara@arm.com> wrote:
>> At the moment the serial_s5p driver takes care of both Exynos UARTs
>> as well as those from older Samsung SoCs (s3c/s5p series).
>> Looking more closely the only difference between those two groups is
>> how the fractional baud rate is programmed: via a "divslot" (s3c) or as
>> a proper fractional value (Exynos).
>> Instead of intricately expressing this via a special header file (which
>> is otherwise identical), let's use the blessings of DT to tackle this:
>> The S5P series of SoCs use their own compatible string, in line with
>> what the official DTs from the Linux kernel do. We then switch between
>> divslot and fractional value based on the compatible string used.
>> This allows us to get rid of the uart.h header files and make the
>> driver more flexible.
>>
>> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
>> ---
>> arch/arm/dts/s5pc1xx-goni.dts | 2 +-
>> arch/arm/dts/s5pc1xx-smdkc100.dts | 2 +-
>> arch/arm/mach-exynos/include/mach/uart.h | 44 ------------------------------
>> arch/arm/mach-s5pc1xx/include/mach/uart.h | 44 ------------------------------
>> drivers/serial/serial_s5p.c | 45 +++++++++++++++++++++++++++----
>> 5 files changed, 42 insertions(+), 95 deletions(-)
>> delete mode 100644 arch/arm/mach-exynos/include/mach/uart.h
>> delete mode 100644 arch/arm/mach-s5pc1xx/include/mach/uart.h
>>
>> diff --git a/arch/arm/dts/s5pc1xx-goni.dts b/arch/arm/dts/s5pc1xx-goni.dts
>> index 182325a091..964c7a6b67 100644
>> --- a/arch/arm/dts/s5pc1xx-goni.dts
>> +++ b/arch/arm/dts/s5pc1xx-goni.dts
>> @@ -28,7 +28,7 @@
>> };
>>
>> serial at e2900800 {
>> - compatible = "samsung,exynos4210-uart";
>> + compatible = "samsung,s5pv210-uart";
>
> Does this match linux?

Yes, this is where I got the compatible from:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/s5pv210.dtsi#n331

And s5pv210.dtsi is included by s5pv210-goni.dts.

> Apart from that:
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Thanks a ton for the complete review! This is much appreciated!

Cheers,
Andre.