From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Tue, 18 Sep 2012 08:14:13 +0200 Subject: [U-Boot] [PATCH 13/71] serial: microblaze: Move serial registration from serial_initialize() In-Reply-To: <1347837696-3192-14-git-send-email-marex@denx.de> References: <1347837696-3192-1-git-send-email-marex@denx.de> <1347837696-3192-14-git-send-email-marex@denx.de> Message-ID: <50581135.8040900@monstr.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 09/17/2012 01:20 AM, Marek Vasut wrote: > Move the registration of xuartlite_serialN_device ports from > default serial_initialize() into driver specific function called from > serial_initialize(). This slims down the serial_initialize() call > to a bare tracker of all possible serial port registration routines > in U-Boot. > > The newly implemented xuartlite_serial_initialize() function, which is > implemented inside of the serial_xuartlite driver allows encapsulation > of xuartlite_serialN_device within the serial_xuartlite driver itself. > > Also, remove the exports of xuartlite_serialN_device from include/serial.h > as they are no longer needed. This is simply because the implementation of > default_serial_console() is wrapped into the serial_xuartlite driver and > the default console is picked by CONFIG_SERIAL macro in config file. > > Signed-off-by: Marek Vasut > Cc: Marek Vasut > Cc: Tom Rini > Cc: Michal Simek > --- > common/serial.c | 16 ++-------------- > drivers/serial/serial_xuartlite.c | 16 ++++++++++++++++ > include/serial.h | 7 ------- > 3 files changed, 18 insertions(+), 21 deletions(-) > > diff --git a/common/serial.c b/common/serial.c > index c021c3f..e19a17f 100644 > --- a/common/serial.c > +++ b/common/serial.c > @@ -44,6 +44,7 @@ serial_initfunc(mpc8xx_serial_initialize); > serial_initfunc(pxa_serial_initialize); > serial_initfunc(s3c24xx_serial_initialize); > serial_initfunc(s5p_serial_initialize); > +serial_initfunc(uartlite_serial_initialize); > > void serial_register(struct serial_device *dev) > { > @@ -97,20 +98,7 @@ void serial_initialize(void) > #if defined(CONFIG_SYS_BFIN_UART) > serial_register_bfin_uart(); > #endif > -#if defined(CONFIG_XILINX_UARTLITE) > -# ifdef XILINX_UARTLITE_BASEADDR > - serial_register(&uartlite_serial0_device); > -# endif /* XILINX_UARTLITE_BASEADDR */ > -# ifdef XILINX_UARTLITE_BASEADDR1 > - serial_register(&uartlite_serial1_device); > -# endif /* XILINX_UARTLITE_BASEADDR1 */ > -# ifdef XILINX_UARTLITE_BASEADDR2 > - serial_register(&uartlite_serial2_device); > -# endif /* XILINX_UARTLITE_BASEADDR2 */ > -# ifdef XILINX_UARTLITE_BASEADDR3 > - serial_register(&uartlite_serial3_device); > -# endif /* XILINX_UARTLITE_BASEADDR3 */ > -#endif /* CONFIG_XILINX_UARTLITE */ > + uartlite_serial_initialize(); > serial_assign(default_serial_console()->name); > } > > diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c > index 2b869c1..d90c42d 100644 > --- a/drivers/serial/serial_xuartlite.c > +++ b/drivers/serial/serial_xuartlite.c > @@ -177,4 +177,20 @@ __weak struct serial_device *default_serial_console(void) > return &uartlite_serial3_device; > # endif /* XILINX_UARTLITE_BASEADDR3 */ > } > + > +void uartlite_serial_initialize(void) > +{ > +#ifdef XILINX_UARTLITE_BASEADDR > + serial_register(&uartlite_serial0_device); > +#endif /* XILINX_UARTLITE_BASEADDR */ > +#ifdef XILINX_UARTLITE_BASEADDR1 > + serial_register(&uartlite_serial1_device); > +#endif /* XILINX_UARTLITE_BASEADDR1 */ > +#ifdef XILINX_UARTLITE_BASEADDR2 > + serial_register(&uartlite_serial2_device); > +#endif /* XILINX_UARTLITE_BASEADDR2 */ > +#ifdef XILINX_UARTLITE_BASEADDR3 > + serial_register(&uartlite_serial3_device); > +#endif /* XILINX_UARTLITE_BASEADDR3 */ > +} > #endif /* CONFIG_SERIAL_MULTI */ > diff --git a/include/serial.h b/include/serial.h > index 08a9287..73991a6 100644 > --- a/include/serial.h > +++ b/include/serial.h > @@ -49,13 +49,6 @@ extern struct serial_device serial4_device; > extern struct serial_device serial6_device; > #endif > > -#if defined(CONFIG_XILINX_UARTLITE) > -extern struct serial_device uartlite_serial0_device; > -extern struct serial_device uartlite_serial1_device; > -extern struct serial_device uartlite_serial2_device; > -extern struct serial_device uartlite_serial3_device; > -#endif > - > #if defined(CONFIG_OMAP3_ZOOM2) > extern struct serial_device zoom2_serial_device0; > extern struct serial_device zoom2_serial_device1; > Acked-by: Michal Simek Thanks, Michal -- Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian