arm: omap3: Manually initialize GPIO if OF_CONTROL doesn't
authorAdam Ford <aford173@gmail.com>
Wed, 29 May 2019 20:42:53 +0000 (15:42 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 5 Jun 2019 16:14:02 +0000 (12:14 -0400)
The commong initialization code manually initializes the GPIO
even when OF_CONTROL does it, so we can reduce the code size a
bit by not doing it manually when we have device tree support.

Using the omap3_logic board (dm3730), the sizes shrunk:

Before:

   text    data     bss     dec     hex filename
 561066   28596  116880  706542   ac7ee u-boot
  55245    1605    1888   58738    e572 spl/u-boot-spl

After
  text    data     bss     dec     hex filename
 560898   28548  116872  706318   ac70e u-boot
  55121    1557    1888   58566    e4c6 spl/u-boot-spl

Signed-off-by: Adam Ford <aford173@gmail.com>
arch/arm/mach-omap2/omap3/board.c

index 2d25fc60a0eec6cdfb5f1f784286b631b10fd4d3..658ef8c1f11e5a44e2f954d20ea90407fad84224 100644 (file)
@@ -34,6 +34,8 @@ static void omap3_invalidate_l2_cache_secure(void);
 #endif
 
 #ifdef CONFIG_DM_GPIO
+#if !CONFIG_IS_ENABLED(OF_CONTROL)
+/* Manually initialize GPIO banks when OF_CONTROL doesn't */
 static const struct omap_gpio_platdata omap34xx_gpio[] = {
        { 0, OMAP34XX_GPIO1_BASE },
        { 1, OMAP34XX_GPIO2_BASE },
@@ -51,7 +53,7 @@ U_BOOT_DEVICES(omap34xx_gpios) = {
        { "gpio_omap", &omap34xx_gpio[4] },
        { "gpio_omap", &omap34xx_gpio[5] },
 };
-
+#endif
 #else
 
 static const struct gpio_bank gpio_bank_34xx[6] = {