Pull sony into release branch
[pandora-kernel.git] / arch / cris / arch-v32 / drivers / gpio.c
index a551237..d82c5c5 100644 (file)
@@ -62,7 +62,6 @@
  *
  */
 
-#include <linux/config.h>
 
 #include <linux/module.h>
 #include <linux/sched.h>
@@ -419,12 +418,12 @@ static int
 gpio_open(struct inode *inode, struct file *filp)
 {
        struct gpio_private *priv;
-       int p = MINOR(inode->i_rdev);
+       int p = iminor(inode);
 
        if (p > GPIO_MINOR_LAST)
                return -EINVAL;
 
-       priv = (struct gpio_private *)kmalloc(sizeof(struct gpio_private),
+       priv = kmalloc(sizeof(struct gpio_private),
                                              GFP_KERNEL);
 
        if (!priv)
@@ -706,7 +705,7 @@ gpio_leds_ioctl(unsigned int cmd, unsigned long arg)
        return 0;
 }
 
-struct file_operations gpio_fops = {
+const struct file_operations gpio_fops = {
        .owner       = THIS_MODULE,
        .poll        = gpio_poll,
        .ioctl       = gpio_ioctl,
@@ -745,11 +744,11 @@ gpio_init(void)
         * in some tests.
         */
        if (request_irq(TIMER_INTR_VECT, gpio_poll_timer_interrupt,
-                       SA_SHIRQ | SA_INTERRUPT,"gpio poll", &alarmlist)) {
+                       IRQF_SHARED | IRQF_DISABLED,"gpio poll", &alarmlist)) {
                printk("err: timer0 irq for gpio\n");
        }
        if (request_irq(GEN_IO_INTR_VECT, gpio_pa_interrupt,
-                       SA_SHIRQ | SA_INTERRUPT,"gpio PA", &alarmlist)) {
+                       IRQF_SHARED | IRQF_DISABLED,"gpio PA", &alarmlist)) {
                printk("err: PA irq for gpio\n");
        }
        /* enable the gio and timer irq in global config */