|
@@ -22,8 +22,6 @@
|
|
|
#include <linux/mtd/mtd.h>
|
|
|
#include <linux/mtd/partitions.h>
|
|
|
#include <linux/mtd/onenand.h>
|
|
|
-#include <linux/irq.h>
|
|
|
-#include <linux/interrupt.h>
|
|
|
#include <linux/delay.h>
|
|
|
#include <linux/leds.h>
|
|
|
#include <linux/err.h>
|
|
@@ -282,65 +280,16 @@ static void __init apollon_led_init(void)
|
|
|
{
|
|
|
/* LED0 - AA10 */
|
|
|
omap_cfg_reg(AA10_242X_GPIO13);
|
|
|
- omap_request_gpio(LED0_GPIO13);
|
|
|
- omap_set_gpio_direction(LED0_GPIO13, 0);
|
|
|
- omap_set_gpio_dataout(LED0_GPIO13, 0);
|
|
|
+ gpio_request(LED0_GPIO13, "LED0");
|
|
|
+ gpio_direction_output(LED0_GPIO13, 0);
|
|
|
/* LED1 - AA6 */
|
|
|
omap_cfg_reg(AA6_242X_GPIO14);
|
|
|
- omap_request_gpio(LED1_GPIO14);
|
|
|
- omap_set_gpio_direction(LED1_GPIO14, 0);
|
|
|
- omap_set_gpio_dataout(LED1_GPIO14, 0);
|
|
|
+ gpio_request(LED1_GPIO14, "LED1");
|
|
|
+ gpio_direction_output(LED1_GPIO14, 0);
|
|
|
/* LED2 - AA4 */
|
|
|
omap_cfg_reg(AA4_242X_GPIO15);
|
|
|
- omap_request_gpio(LED2_GPIO15);
|
|
|
- omap_set_gpio_direction(LED2_GPIO15, 0);
|
|
|
- omap_set_gpio_dataout(LED2_GPIO15, 0);
|
|
|
-}
|
|
|
-
|
|
|
-static irqreturn_t apollon_sw_interrupt(int irq, void *ignored)
|
|
|
-{
|
|
|
- static unsigned int led0, led1, led2;
|
|
|
-
|
|
|
- if (irq == OMAP_GPIO_IRQ(SW_ENTER_GPIO16))
|
|
|
- omap_set_gpio_dataout(LED0_GPIO13, led0 ^= 1);
|
|
|
- else if (irq == OMAP_GPIO_IRQ(SW_UP_GPIO17))
|
|
|
- omap_set_gpio_dataout(LED1_GPIO14, led1 ^= 1);
|
|
|
- else if (irq == OMAP_GPIO_IRQ(SW_DOWN_GPIO58))
|
|
|
- omap_set_gpio_dataout(LED2_GPIO15, led2 ^= 1);
|
|
|
-
|
|
|
- return IRQ_HANDLED;
|
|
|
-}
|
|
|
-
|
|
|
-static void __init apollon_sw_init(void)
|
|
|
-{
|
|
|
- /* Enter SW - Y11 */
|
|
|
- omap_cfg_reg(Y11_242X_GPIO16);
|
|
|
- omap_request_gpio(SW_ENTER_GPIO16);
|
|
|
- gpio_direction_input(SW_ENTER_GPIO16);
|
|
|
- /* Up SW - AA12 */
|
|
|
- omap_cfg_reg(AA12_242X_GPIO17);
|
|
|
- omap_request_gpio(SW_UP_GPIO17);
|
|
|
- gpio_direction_input(SW_UP_GPIO17);
|
|
|
- /* Down SW - AA8 */
|
|
|
- omap_cfg_reg(AA8_242X_GPIO58);
|
|
|
- omap_request_gpio(SW_DOWN_GPIO58);
|
|
|
- gpio_direction_input(SW_DOWN_GPIO58);
|
|
|
-
|
|
|
- set_irq_type(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), IRQ_TYPE_EDGE_RISING);
|
|
|
- if (request_irq(OMAP_GPIO_IRQ(SW_ENTER_GPIO16), &apollon_sw_interrupt,
|
|
|
- IRQF_SHARED, "enter sw",
|
|
|
- &apollon_sw_interrupt))
|
|
|
- return;
|
|
|
- set_irq_type(OMAP_GPIO_IRQ(SW_UP_GPIO17), IRQ_TYPE_EDGE_RISING);
|
|
|
- if (request_irq(OMAP_GPIO_IRQ(SW_UP_GPIO17), &apollon_sw_interrupt,
|
|
|
- IRQF_SHARED, "up sw",
|
|
|
- &apollon_sw_interrupt))
|
|
|
- return;
|
|
|
- set_irq_type(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), IRQ_TYPE_EDGE_RISING);
|
|
|
- if (request_irq(OMAP_GPIO_IRQ(SW_DOWN_GPIO58), &apollon_sw_interrupt,
|
|
|
- IRQF_SHARED, "down sw",
|
|
|
- &apollon_sw_interrupt))
|
|
|
- return;
|
|
|
+ gpio_request(LED2_GPIO15, "LED2");
|
|
|
+ gpio_direction_output(LED2_GPIO15, 0);
|
|
|
}
|
|
|
|
|
|
static void __init apollon_usb_init(void)
|
|
@@ -357,7 +306,6 @@ static void __init omap_apollon_init(void)
|
|
|
u32 v;
|
|
|
|
|
|
apollon_led_init();
|
|
|
- apollon_sw_init();
|
|
|
apollon_flash_init();
|
|
|
apollon_usb_init();
|
|
|
|