From patchwork Sun Sep 16 23:20:38 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 184207 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id BC1602C007E for ; Mon, 17 Sep 2012 09:26:15 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C321428300; Mon, 17 Sep 2012 01:26:10 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6kkJVFN4QJyZ; Mon, 17 Sep 2012 01:26:10 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 971722830F; Mon, 17 Sep 2012 01:22:54 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 908BC28296 for ; Mon, 17 Sep 2012 01:21:58 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q2j6fiqkUnJV for ; Mon, 17 Sep 2012 01:21:58 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.9]) by theia.denx.de (Postfix) with ESMTPS id 2E6AA28255 for ; Mon, 17 Sep 2012 01:21:47 +0200 (CEST) Received: from frontend1.mail.m-online.net (unknown [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id 3XKmgr5X0Mz4KK96; Mon, 17 Sep 2012 01:21:44 +0200 (CEST) X-Auth-Info: YB///XyJtzibeNUF+4HqJs25A4tfkrx4xcPcG3xrDhQ= Received: from mashiro.lan (unknown [195.140.253.167]) by smtp-auth.mnet-online.de (Postfix) with ESMTPA id 3XKmgr42Lwzbbcc; Mon, 17 Sep 2012 01:21:44 +0200 (CEST) From: Marek Vasut To: u-boot@lists.denx.de Date: Mon, 17 Sep 2012 01:20:38 +0200 Message-Id: <1347837696-3192-14-git-send-email-marex@denx.de> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1347837696-3192-1-git-send-email-marex@denx.de> References: <1347837696-3192-1-git-send-email-marex@denx.de> Cc: Marek Vasut , Tom Rini Subject: [U-Boot] [PATCH 13/71] serial: microblaze: Move serial registration from serial_initialize() X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de 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 Acked-by: 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;