dm: omap3: Move to driver model for GPIO and serial

Adjust the configuration for the am33xx boards, including beagleboard,
to use driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Tom Rini <trini@ti.com>
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
index 89b8dd3..a913a4c 100644
--- a/board/ti/beagle/led.c
+++ b/board/ti/beagle/led.c
@@ -27,47 +27,46 @@
 }
 #endif
 
+static int get_led_gpio(led_id_t mask)
+{
+#ifdef STATUS_LED_BIT
+	if (STATUS_LED_BIT & mask)
+		return BEAGLE_LED_USR0;
+#endif
+#ifdef STATUS_LED_BIT1
+	if (STATUS_LED_BIT1 & mask)
+		return BEAGLE_LED_USR1;
+#endif
+
+	return 0;
+}
+
 void __led_init (led_id_t mask, int state)
 {
-	__led_set (mask, state);
+	int toggle_gpio;
+
+	toggle_gpio = get_led_gpio(mask);
+
+	if (toggle_gpio && !gpio_request(toggle_gpio, "led"))
+		__led_set(mask, state);
 }
 
 void __led_toggle (led_id_t mask)
 {
-	int state, toggle_gpio = 0;
-#ifdef STATUS_LED_BIT
-	if (!toggle_gpio && STATUS_LED_BIT & mask)
-		toggle_gpio = BEAGLE_LED_USR0;
-#endif
-#ifdef STATUS_LED_BIT1
-	if (!toggle_gpio && STATUS_LED_BIT1 & mask)
-		toggle_gpio = BEAGLE_LED_USR1;
-#endif
+	int state, toggle_gpio;
+
+	toggle_gpio = get_led_gpio(mask);
 	if (toggle_gpio) {
-		if (!gpio_request(toggle_gpio, "")) {
-			gpio_direction_output(toggle_gpio, 0);
-			state = gpio_get_value(toggle_gpio);
-			gpio_set_value(toggle_gpio, !state);
-		}
+		state = gpio_get_value(toggle_gpio);
+		gpio_direction_output(toggle_gpio, !state);
 	}
 }
 
 void __led_set (led_id_t mask, int state)
 {
-#ifdef STATUS_LED_BIT
-	if (STATUS_LED_BIT & mask) {
-		if (!gpio_request(BEAGLE_LED_USR0, "")) {
-			gpio_direction_output(BEAGLE_LED_USR0, 0);
-			gpio_set_value(BEAGLE_LED_USR0, state);
-		}
-	}
-#endif
-#ifdef STATUS_LED_BIT1
-	if (STATUS_LED_BIT1 & mask) {
-		if (!gpio_request(BEAGLE_LED_USR1, "")) {
-			gpio_direction_output(BEAGLE_LED_USR1, 0);
-			gpio_set_value(BEAGLE_LED_USR1, state);
-		}
-	}
-#endif
+	int toggle_gpio;
+
+	toggle_gpio = get_led_gpio(mask);
+	if (toggle_gpio)
+		gpio_direction_output(toggle_gpio, state);
 }