]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
switch to standard gpio get/set calls (OMAP and mainline)
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 30 Oct 2008 03:41:52 +0000 (20:41 -0700)
committerTony Lindgren <tony@atomide.com>
Thu, 13 Nov 2008 21:12:45 +0000 (13:12 -0800)
This patch replaces some legacy OMAP GPIO calls with the "new" (not
really, any more!) calls that work on most platforms.

The calls addressed by this patch are the simple ones to get and set
values ... for code that's in mainline, including the implementations
of those calls.

Except for the declarations and definitions of those calls, all of
these changes were performed by a simple SED script.  Plus, a few
"if() set() else set()" branches were merged by hand.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 files changed:
arch/arm/mach-omap1/board-fsample.c
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/board-nokia770.c
arch/arm/mach-omap1/board-palmte.c
arch/arm/mach-omap1/board-palmtt.c
arch/arm/mach-omap1/board-palmz71.c
arch/arm/mach-omap1/board-perseus2.c
arch/arm/mach-omap1/board-sx1.c
arch/arm/mach-omap1/board-voiceblue.c
arch/arm/mach-omap1/leds-h2p2-debug.c
arch/arm/mach-omap1/leds-osk.c
arch/arm/mach-omap2/board-apollon.c
arch/arm/plat-omap/debug-leds.c
arch/arm/plat-omap/gpio.c
arch/arm/plat-omap/include/mach/gpio.h
drivers/mtd/onenand/omap2.c

index db789461fca49ed3b38530daa05d779320f1dd13..68da3131f8f81383ce02bc2adf09cdf437f0acbc 100644 (file)
@@ -205,7 +205,7 @@ static struct platform_device *devices[] __initdata = {
 
 static int nand_dev_ready(struct omap_nand_platform_data *data)
 {
-       return omap_get_gpio_datain(P2_NAND_RB_GPIO_PIN);
+       return gpio_get_value(P2_NAND_RB_GPIO_PIN);
 }
 
 static struct omap_uart_config fsample_uart_config __initdata = {
index 2c12dfa8c09502b944bbb66b31e8dde34577a191..dcc20aeb0e259e5d037db7ac7f1b1db3486a8475 100644 (file)
@@ -256,11 +256,8 @@ static struct platform_device h2_kp_device = {
 #if defined(CONFIG_OMAP_IR) || defined(CONFIG_OMAP_IR_MODULE)
 static int h2_transceiver_mode(struct device *dev, int state)
 {
-       if (state & IR_SIRMODE)
-               omap_set_gpio_dataout(H2_IRDA_FIRSEL_GPIO_PIN, 0);
-       else    /* MIR/FIR */
-               omap_set_gpio_dataout(H2_IRDA_FIRSEL_GPIO_PIN, 1);
-
+       /* SIR when low, else MIR/FIR when HIGH */
+       gpio_set_value(H2_IRDA_FIRSEL_GPIO_PIN, !(state & IR_SIRMODE));
        return 0;
 }
 #endif
@@ -503,7 +500,7 @@ static struct omap_board_config_kernel h2_config[] __initdata = {
 
 static int h2_nand_dev_ready(struct omap_nand_platform_data *data)
 {
-       return omap_get_gpio_datain(H2_NAND_RB_GPIO_PIN);
+       return gpio_get_value(H2_NAND_RB_GPIO_PIN);
 }
 
 static void __init h2_init(void)
index 6706cad78b9b876c8129df68b3b9d00a42a92efe..fe9eebf952e013f7745bbcc35e29d62b9851dc83 100644 (file)
@@ -479,7 +479,7 @@ static struct omap_board_config_kernel h3_config[] __initdata = {
 
 static int nand_dev_ready(struct omap_nand_platform_data *data)
 {
-       return omap_get_gpio_datain(H3_NAND_RB_GPIO_PIN);
+       return gpio_get_value(H3_NAND_RB_GPIO_PIN);
 }
 
 #if defined(CONFIG_VIDEO_OV9640) || defined(CONFIG_VIDEO_OV9640_MODULE)
index 7b28f4da214a63a907e637cf5888018698a3b8f5..3e4625eb21e6dda27a7b03576debc294848ea786 100644 (file)
@@ -104,7 +104,7 @@ static void mipid_shutdown(struct mipid_platform_data *pdata)
 {
        if (pdata->nreset_gpio != -1) {
                printk(KERN_INFO "shutdown LCD\n");
-               omap_set_gpio_dataout(pdata->nreset_gpio, 0);
+               gpio_set_value(pdata->nreset_gpio, 0);
                msleep(120);
        }
 }
@@ -132,7 +132,7 @@ static void ads7846_dev_init(void)
 
 static int ads7846_get_pendown_state(void)
 {
-       return !omap_get_gpio_datain(ADS7846_PENDOWN_GPIO);
+       return !gpio_get_value(ADS7846_PENDOWN_GPIO);
 }
 
 static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = {
@@ -313,9 +313,9 @@ static void nokia770_audio_pwr_up(void)
        /* Turn on codec */
        aic23_power_up();
 
-       if (omap_get_gpio_datain(HEADPHONE_GPIO))
+       if (gpio_get_value(HEADPHONE_GPIO))
                /* HP not connected, turn on amplifier */
-               omap_set_gpio_dataout(AMPLIFIER_CTRL_GPIO, 1);
+               gpio_set_value(AMPLIFIER_CTRL_GPIO, 1);
        else
                /* HP connected, do not turn on amplifier */
                printk("HP connected\n");
@@ -335,7 +335,7 @@ static DECLARE_DELAYED_WORK(codec_power_down_work, codec_delayed_power_down);
 static void nokia770_audio_pwr_down(void)
 {
        /* Turn off amplifier */
-       omap_set_gpio_dataout(AMPLIFIER_CTRL_GPIO, 0);
+       gpio_set_value(AMPLIFIER_CTRL_GPIO, 0);
 
        /* Turn off codec: schedule delayed work */
        schedule_delayed_work(&codec_power_down_work, HZ / 20); /* 50ms */
index ee49e2ccf1f99d833cbbb4ab08580a00c8412ead..697f0ff0844794ff1110fefb23dca0b16278d53a 100644 (file)
@@ -247,7 +247,7 @@ static void palmte_get_power_status(struct apm_power_info *info, int *battery)
 {
        int charging, batt, hi, lo, mid;
 
-       charging = !omap_get_gpio_datain(PALMTE_DC_GPIO);
+       charging = !gpio_get_value(PALMTE_DC_GPIO);
        batt = battery[0];
        if (charging)
                batt -= 60;
@@ -326,11 +326,11 @@ static void palmte_headphones_detect(void *data, int state)
 {
        if (state) {
                /* Headphones connected, disable speaker */
-               omap_set_gpio_dataout(PALMTE_SPEAKER_GPIO, 0);
+               gpio_set_value(PALMTE_SPEAKER_GPIO, 0);
                printk(KERN_INFO "PM: speaker off\n");
        } else {
                /* Headphones unplugged, re-enable speaker */
-               omap_set_gpio_dataout(PALMTE_SPEAKER_GPIO, 1);
+               gpio_set_value(PALMTE_SPEAKER_GPIO, 1);
                printk(KERN_INFO "PM: speaker on\n");
        }
 }
index 40f9860a09df243147c87ce320fa41588ffe0dfc..5c001afe806235117685c5904bbef5af79e2e958 100644 (file)
@@ -268,7 +268,7 @@ static struct platform_device *palmtt_devices[] __initdata = {
 
 static int palmtt_get_pendown_state(void)
 {
-       return !omap_get_gpio_datain(6);
+       return !gpio_get_value(6);
 }
 
 static const struct ads7846_platform_data palmtt_ts_info = {
index e8116c5125909a5e5583232818fa617a0b866158..2af64381f24a9370de0c389b7f1d6886ba669da8 100644 (file)
@@ -239,7 +239,7 @@ static struct platform_device *devices[] __initdata = {
 static int
 palmz71_get_pendown_state(void)
 {
-       return !omap_get_gpio_datain(PALMZ71_PENIRQ_GPIO);
+       return !gpio_get_value(PALMZ71_PENIRQ_GPIO);
 }
 
 static const struct ads7846_platform_data palmz71_ts_info = {
@@ -284,7 +284,7 @@ static struct omap_board_config_kernel palmz71_config[] __initdata = {
 static irqreturn_t
 palmz71_powercable(int irq, void *dev_id)
 {
-       if (omap_get_gpio_datain(PALMZ71_USBDETECT_GPIO)) {
+       if (gpio_get_value(PALMZ71_USBDETECT_GPIO)) {
                printk(KERN_INFO "PM: Power cable connected\n");
                set_irq_type(OMAP_GPIO_IRQ(PALMZ71_USBDETECT_GPIO),
                                IRQ_TYPE_EDGE_FALLING);
@@ -312,7 +312,7 @@ palmz71_gpio_setup(int early)
 {
        if (early) {
                /* Only set GPIO1 so we have a working serial */
-               omap_set_gpio_dataout(1, 1);
+               gpio_set_value(1, 1);
                omap_set_gpio_direction(1, 0);
        } else {
                /* Set MMC/SD host WP pin as input */
index b715917bfdaf89852fac68e6715314205fadbc3b..b8f0077f9c7742395cfd2b627e0d14b1e7f9bad6 100644 (file)
@@ -205,7 +205,7 @@ static struct platform_device *devices[] __initdata = {
 
 static int nand_dev_ready(struct omap_nand_platform_data *data)
 {
-       return omap_get_gpio_datain(P2_NAND_RB_GPIO_PIN);
+       return gpio_get_value(P2_NAND_RB_GPIO_PIN);
 }
 
 static struct omap_uart_config perseus2_uart_config __initdata = {
index e9ba5dc5074a0bdb2beaece26931e43ff3f57d9c..9711f5275a8bbdba2ad9bdfc43f2a58601dc200d 100644 (file)
@@ -431,9 +431,9 @@ static void __init omap_sx1_init(void)
        omap_set_gpio_direction(11, 0);/* gpio11 -> output */
        omap_set_gpio_direction(15, 0);/* gpio15 -> output */
        /* set GPIO data */
-       omap_set_gpio_dataout(1, 1);/*A_IRDA_OFF = 1 */
-       omap_set_gpio_dataout(11, 0);/*A_SWITCH = 0 */
-       omap_set_gpio_dataout(15, 0);/*A_USB_ON = 0 */
+       gpio_set_value(1, 1);/*A_IRDA_OFF = 1 */
+       gpio_set_value(11, 0);/*A_SWITCH = 0 */
+       gpio_set_value(15, 0);/*A_USB_ON = 0 */
 }
 /*----------------------------------------*/
 static void __init omap_sx1_init_irq(void)
index 3ab5bbf43097c6fcea2119711e24ba03794e3073..5c91445fbf79709b174bdceddd6a146041d72892 100644 (file)
@@ -164,16 +164,16 @@ static void __init voiceblue_init(void)
        /* smc91x reset */
        omap_request_gpio(7);
        omap_set_gpio_direction(7, 0);
-       omap_set_gpio_dataout(7, 1);
+       gpio_set_value(7, 1);
        udelay(2);      /* wait at least 100ns */
-       omap_set_gpio_dataout(7, 0);
+       gpio_set_value(7, 0);
        mdelay(50);     /* 50ms until PHY ready */
        /* smc91x interrupt pin */
        omap_request_gpio(8);
        /* 16C554 reset*/
        omap_request_gpio(6);
        omap_set_gpio_direction(6, 0);
-       omap_set_gpio_dataout(6, 0);
+       gpio_set_value(6, 0);
        /* 16C554 interrupt pins */
        omap_request_gpio(12);
        omap_request_gpio(13);
@@ -237,17 +237,17 @@ static int wdt_gpio_state;
 void voiceblue_wdt_enable(void)
 {
        omap_set_gpio_direction(0, 0);
-       omap_set_gpio_dataout(0, 0);
-       omap_set_gpio_dataout(0, 1);
-       omap_set_gpio_dataout(0, 0);
+       gpio_set_value(0, 0);
+       gpio_set_value(0, 1);
+       gpio_set_value(0, 0);
        wdt_gpio_state = 0;
 }
 
 void voiceblue_wdt_disable(void)
 {
-       omap_set_gpio_dataout(0, 0);
-       omap_set_gpio_dataout(0, 1);
-       omap_set_gpio_dataout(0, 0);
+       gpio_set_value(0, 0);
+       gpio_set_value(0, 1);
+       gpio_set_value(0, 0);
        omap_set_gpio_direction(0, 1);
 }
 
@@ -257,7 +257,7 @@ void voiceblue_wdt_ping(void)
                return;
 
        wdt_gpio_state = !wdt_gpio_state;
-       omap_set_gpio_dataout(0, wdt_gpio_state);
+       gpio_set_value(0, wdt_gpio_state);
 }
 
 void voiceblue_reset(void)
index 71fe2cc7f7cf536e28725214c979339369086c9c..17c9d0e04216b6f1891dc2f0b063cbd0b99857d9 100644 (file)
@@ -65,8 +65,8 @@ void h2p2_dbg_leds_event(led_event_t evt)
                /* all leds off during suspend or shutdown */
 
                if (! machine_is_omap_perseus2()) {
-                       omap_set_gpio_dataout(GPIO_TIMER, 0);
-                       omap_set_gpio_dataout(GPIO_IDLE, 0);
+                       gpio_set_value(GPIO_TIMER, 0);
+                       gpio_set_value(GPIO_IDLE, 0);
                }
 
                __raw_writew(~0, &fpga->leds);
@@ -94,7 +94,7 @@ void h2p2_dbg_leds_event(led_event_t evt)
                if (machine_is_omap_perseus2())
                        hw_led_state ^= H2P2_DBG_FPGA_P2_LED_TIMER;
                else {
-                       omap_set_gpio_dataout(GPIO_TIMER, led_state & LED_TIMER_ON);
+                       gpio_set_value(GPIO_TIMER, led_state & LED_TIMER_ON);
                        goto done;
                }
 
@@ -106,7 +106,7 @@ void h2p2_dbg_leds_event(led_event_t evt)
                if (machine_is_omap_perseus2())
                        hw_led_state |= H2P2_DBG_FPGA_P2_LED_IDLE;
                else {
-                       omap_set_gpio_dataout(GPIO_IDLE, 1);
+                       gpio_set_value(GPIO_IDLE, 1);
                        goto done;
                }
 
@@ -116,7 +116,7 @@ void h2p2_dbg_leds_event(led_event_t evt)
                if (machine_is_omap_perseus2())
                        hw_led_state &= ~H2P2_DBG_FPGA_P2_LED_IDLE;
                else {
-                       omap_set_gpio_dataout(GPIO_IDLE, 0);
+                       gpio_set_value(GPIO_IDLE, 0);
                        goto done;
                }
 
index 98e789622dfd753c69522f3cd1e4d25204838d2b..499d7ad8697d175847a21fbf133a6cb772526429 100644 (file)
@@ -44,8 +44,8 @@ static void mistral_setled(void)
                green = 1;
        /* else both sides are disabled */
 
-       omap_set_gpio_dataout(GPIO_LED_GREEN, green);
-       omap_set_gpio_dataout(GPIO_LED_RED, red);
+       gpio_set_value(GPIO_LED_GREEN, green);
+       gpio_set_value(GPIO_LED_RED, red);
 }
 
 #endif
index b8d5a537c3fb5b4fd47b2d6e540a884ab6ad0b6b..57273cfd8af7170ab41e208b751e04f213436eae 100644 (file)
@@ -393,7 +393,7 @@ static void __init apollon_usb_init(void)
        omap_cfg_reg(P21_242X_GPIO12);
        omap_request_gpio(12);
        omap_set_gpio_direction(12, 0);         /* OUT */
-       omap_set_gpio_dataout(12, 0);
+       gpio_set_value(12, 0);
 }
 
 static void __init apollon_tsc_init(void)
index 2f4c0cabfd341fbaa2d54e0fba2673c8d0ec383b..be4eefda4767fa11f54177bb6ba8a3a1ed27d770 100644 (file)
@@ -83,8 +83,8 @@ static void h2p2_dbg_leds_event(led_event_t evt)
                /* all leds off during suspend or shutdown */
 
                if (!(machine_is_omap_perseus2() || machine_is_omap_h4())) {
-                       omap_set_gpio_dataout(GPIO_TIMER, 0);
-                       omap_set_gpio_dataout(GPIO_IDLE, 0);
+                       gpio_set_value(GPIO_TIMER, 0);
+                       gpio_set_value(GPIO_IDLE, 0);
                }
 
                __raw_writew(~0, &fpga->leds);
@@ -107,7 +107,7 @@ static void h2p2_dbg_leds_event(led_event_t evt)
                if (machine_is_omap_perseus2() || machine_is_omap_h4())
                        hw_led_state ^= H2P2_DBG_FPGA_P2_LED_TIMER;
                else {
-                       omap_set_gpio_dataout(GPIO_TIMER,
+                       gpio_set_value(GPIO_TIMER,
                                        led_state & LED_TIMER_ON);
                        goto done;
                }
@@ -121,7 +121,7 @@ static void h2p2_dbg_leds_event(led_event_t evt)
                if (machine_is_omap_perseus2() || machine_is_omap_h4())
                        hw_led_state &= ~H2P2_DBG_FPGA_P2_LED_IDLE;
                else {
-                       omap_set_gpio_dataout(GPIO_IDLE, 1);
+                       gpio_set_value(GPIO_IDLE, 1);
                        goto done;
                }
 
@@ -131,7 +131,7 @@ static void h2p2_dbg_leds_event(led_event_t evt)
                if (machine_is_omap_perseus2() || machine_is_omap_h4())
                        hw_led_state |= H2P2_DBG_FPGA_P2_LED_IDLE;
                else {
-                       omap_set_gpio_dataout(GPIO_IDLE, 0);
+                       gpio_set_value(GPIO_IDLE, 0);
                        goto done;
                }
 
index 8bb45424107e998b19627ccfe30f0f013e86bd73..e0a7714267be6df97c043a2a4b71348978d6f005 100644 (file)
@@ -406,20 +406,7 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
        __raw_writel(l, reg);
 }
 
-void omap_set_gpio_dataout(int gpio, int enable)
-{
-       struct gpio_bank *bank;
-       unsigned long flags;
-
-       if (check_gpio(gpio) < 0)
-               return;
-       bank = get_gpio_bank(gpio);
-       spin_lock_irqsave(&bank->lock, flags);
-       _set_gpio_dataout(bank, get_gpio_index(gpio), enable);
-       spin_unlock_irqrestore(&bank->lock, flags);
-}
-
-int omap_get_gpio_datain(int gpio)
+static int __omap_get_gpio_datain(int gpio)
 {
        struct gpio_bank *bank;
        void __iomem *reg;
@@ -1257,7 +1244,7 @@ static int gpio_input(struct gpio_chip *chip, unsigned offset)
 
 static int gpio_get(struct gpio_chip *chip, unsigned offset)
 {
-       return omap_get_gpio_datain(chip->base + offset);
+       return __omap_get_gpio_datain(chip->base + offset);
 }
 
 static int gpio_output(struct gpio_chip *chip, unsigned offset, int value)
@@ -1754,8 +1741,6 @@ static int __init omap_gpio_sysinit(void)
 EXPORT_SYMBOL(omap_request_gpio);
 EXPORT_SYMBOL(omap_free_gpio);
 EXPORT_SYMBOL(omap_set_gpio_direction);
-EXPORT_SYMBOL(omap_set_gpio_dataout);
-EXPORT_SYMBOL(omap_get_gpio_datain);
 
 arch_initcall(omap_gpio_sysinit);
 
@@ -1813,7 +1798,7 @@ static int dbg_gpio_show(struct seq_file *s, void *unused)
                                continue;
 
                        irq = bank->virtual_irq_start + j;
-                       value = omap_get_gpio_datain(gpio);
+                       value = gpio_get_value(gpio);
                        is_in = gpio_is_input(bank, mask);
 
                        if (bank_is_mpuio(bank))
index 5f996f350c84e5df1ffc533b02038a57f2a0162b..d91ba328a309d86d1cfbbe9485950f97f04ad3a7 100644 (file)
@@ -74,8 +74,6 @@ extern int omap_gpio_init(void);      /* Call from board init only */
 extern int omap_request_gpio(int gpio);
 extern void omap_free_gpio(int gpio);
 extern void omap_set_gpio_direction(int gpio, int is_input);
-extern void omap_set_gpio_dataout(int gpio, int enable);
-extern int omap_get_gpio_datain(int gpio);
 extern void omap2_gpio_prepare_for_retention(void);
 extern void omap2_gpio_resume_after_retention(void);
 extern void omap_set_gpio_debounce(int gpio, int enable);
index 28034ef08a82a4e83d8cbaaad0be3265de7b9806..4fea8f3c6ec8642afa6c758db8fa3aa83edfe6ca 100644 (file)
@@ -150,7 +150,7 @@ static int omap2_onenand_wait(struct mtd_info *mtd, int state)
 
                INIT_COMPLETION(c->irq_done);
                if (c->gpio_irq) {
-                       result = omap_get_gpio_datain(c->gpio_irq);
+                       result = gpio_get_value(c->gpio_irq);
                        if (result == -1) {
                                ctrl = read_reg(c, ONENAND_REG_CTRL_STATUS);
                                intr = read_reg(c, ONENAND_REG_INTERRUPT);