Hi Thomas, On 19 November 2015 at 06:48, Thomas Chou <tho...@wytron.com.tw> wrote: > Unify serial_ppc, and use the generic binding. > > Signed-off-by: Thomas Chou <tho...@wytron.com.tw> > Reviewed-by: Tom Rini <tr...@konsulko.com> > --- > arch/powerpc/include/asm/config.h | 4 ++++ > drivers/serial/Kconfig | 2 +- > drivers/serial/Makefile | 1 - > drivers/serial/serial_ppc.c | 40 > --------------------------------------- > 4 files changed, 5 insertions(+), 42 deletions(-) > delete mode 100644 drivers/serial/serial_ppc.c > > diff --git a/arch/powerpc/include/asm/config.h > b/arch/powerpc/include/asm/config.h > index 65496d0..7391066 100644 > --- a/arch/powerpc/include/asm/config.h > +++ b/arch/powerpc/include/asm/config.h > @@ -104,4 +104,8 @@ > /* All PPC boards must swap IDE bytes */ > #define CONFIG_IDE_SWAP_IO > > +#if defined(CONFIG_DM_SERIAL) > +#define CONFIG_SYS_NS16550_CLK get_serial_clock() > +#endif > + > #endif /* _ASM_CONFIG_H_ */ > diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig > index 93faa4c..b41f508 100644 > --- a/drivers/serial/Kconfig > +++ b/drivers/serial/Kconfig > @@ -198,7 +198,7 @@ config ROCKCHIP_SERIAL > config NS16550_SERIAL > bool "NS16550 UART or compatible" > depends on DM_SERIAL > - default y if X86 > + default y if X86 || PPC > help > Support NS16550 UART or compatible with driver model. This can be > enabled in the device tree with the correct input clock frequency. > diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile > index 9036a8e..9f61113 100644 > --- a/drivers/serial/Makefile > +++ b/drivers/serial/Makefile > @@ -8,7 +8,6 @@ > ifdef CONFIG_DM_SERIAL > obj-y += serial-uclass.o > obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o > -obj-$(CONFIG_PPC) += serial_ppc.o > else > obj-y += serial.o > obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o > diff --git a/drivers/serial/serial_ppc.c b/drivers/serial/serial_ppc.c > deleted file mode 100644 > index 47141c6..0000000 > --- a/drivers/serial/serial_ppc.c > +++ /dev/null > @@ -1,40 +0,0 @@ > -/* > - * Copyright (c) 2014 Google, Inc > - * > - * SPDX-License-Identifier: GPL-2.0+ > - */ > - > -#include <common.h> > -#include <dm.h> > -#include <ns16550.h> > -#include <serial.h> > - > -static const struct udevice_id ppc_serial_ids[] = { > - { .compatible = "ns16550" }, > - { } > -}; > - > -static int ppc_serial_ofdata_to_platdata(struct udevice *dev) > -{ > - struct ns16550_platdata *plat = dev_get_platdata(dev); > - int ret; > - > - ret = ns16550_serial_ofdata_to_platdata(dev); > - if (ret) > - return ret; > - plat->clock = get_serial_clock();
You are dropping this call. We certainly don't want it for driver model, but I suspect it will break some PPC boards if they don't have the clock-frequency in the device tree. Do they? > - > - return 0; > -} > - > -U_BOOT_DRIVER(serial_ns16550) = { > - .name = "serial_ppc", > - .id = UCLASS_SERIAL, > - .of_match = ppc_serial_ids, > - .ofdata_to_platdata = ppc_serial_ofdata_to_platdata, > - .platdata_auto_alloc_size = sizeof(struct ns16550_platdata), > - .priv_auto_alloc_size = sizeof(struct NS16550), > - .probe = ns16550_serial_probe, > - .ops = &ns16550_serial_ops, > - .flags = DM_FLAG_PRE_RELOC, > -}; > -- > 2.5.0 > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot