linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / arm / mach-ixp4xx / common.c
index 7c25dbd..fbadf30 100644 (file)
@@ -13,6 +13,7 @@
  * warranty of any kind, whether express or implied.
  */
 
+#include <linux/config.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
 #include <linux/init.h>
@@ -90,7 +91,7 @@ static void ixp4xx_config_irq(unsigned irq, enum ixp4xx_irq_type type);
 /*
  * IRQ -> GPIO mapping table
  */
-static signed char irq2gpio[32] = {
+static int irq2gpio[32] = {
        -1, -1, -1, -1, -1, -1,  0,  1,
        -1, -1, -1, -1, -1, -1, -1, -1,
        -1, -1, -1,  2,  3,  4,  5,  6,
@@ -152,9 +153,6 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
        /* Set the new style */
        *int_reg |= (int_style << (line * IXP4XX_GPIO_STYLE_SIZE));
 
-       /* Configure the line as an input */
-       gpio_line_config(line, IXP4XX_GPIO_IN);
-
        return 0;
 }
 
@@ -275,7 +273,7 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs
        /*
         * Catch up with the real idea of time
         */
-       while ((signed long)(*IXP4XX_OSTS - last_jiffy_time) >= LATCH) {
+       while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) {
                timer_tick(regs);
                last_jiffy_time += LATCH;
        }
@@ -287,7 +285,7 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs
 
 static struct irqaction ixp4xx_timer_irq = {
        .name           = "IXP4xx Timer Tick",
-       .flags          = IRQF_DISABLED | IRQF_TIMER,
+       .flags          = SA_INTERRUPT | SA_TIMER,
        .handler        = ixp4xx_timer_interrupt,
 };