From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Thu, 27 Sep 2012 16:32:52 -0600 Subject: [U-Boot] [PATCH 1/2] tegra: clean up board include hell In-Reply-To: <1348782724-19151-1-git-send-email-dev@lynxeye.de> References: <1348782724-19151-1-git-send-email-dev@lynxeye.de> Message-ID: <5064D414.106@wwwdotorg.org> 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/27/2012 03:52 PM, Lucas Stach wrote: > The prototypes used in board files were all scattered out, which lead to > code duplication between SPL and normal U-Boot and some prototypes not actually > being used. Consolidate this in a common board header. > This will allow to push down the calling of the pinmux functions into the > respective drivers and this way cut down on complexity from the common board > code. I don't think that (calling pinmux from drivers) would be a good idea. The entire pinmux should be set up globally when the system boots in order to avoid conflicts part-way through a change, and to avoid duplicating pinmux calls into every single driver. Unless a particular driver actively needs to switch between different pinmux configurations at run-time (e.g. an I2C bus mux that uses pinmux to do the muxing). That said, this change to simplify all the #includes is probably reasonable. One comment below. > diff --git a/arch/arm/include/asm/arch-tegra/board.h b/arch/arm/include/asm/arch-tegra/board.h > -/* Setup UARTs for the board according to the selected config */ > +/* Set up pinmux to make UART usable */ > +void gpio_config_uart(void); /* CONFIG_SPI_UART_SWITCH */ > +void gpio_early_init_uart(void); /*!CONFIG_SPI_UART_SWITCH */ > + > +/* Set up early UART output */ > void board_init_uart_f(void); > > +/* Set up any early GPIOs the board might need for proper operation */ > +void gpio_early_init(void); /* overrideable GPIO config */ I think we should just rip out all the CONFIG_SPI_UART_SWITCH stuff. It's only there to support one board with a completely broken HW design. Still, that could happen in a separate patch after this though.