]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/common/sa1111.c
[ARM] Convert asm/io.h to linux/io.h
[linux-2.6-omap-h63xx.git] / arch / arm / common / sa1111.c
index 798bbfccafb74d8d0a6be4b8b5c453add992c7ce..fb86f248aab84c2aa73f5d8c383f745c2d5e3e15 100644 (file)
 #include <linux/spinlock.h>
 #include <linux/dma-mapping.h>
 #include <linux/clk.h>
+#include <linux/io.h>
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/mach-types.h>
-#include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/mach/irq.h>
 #include <asm/sizes.h>
@@ -51,6 +51,9 @@ struct sa1111 {
        int             irq;
        spinlock_t      lock;
        void __iomem    *base;
+#ifdef CONFIG_PM
+       void            *saved_state;
+#endif
 };
 
 /*
@@ -238,14 +241,14 @@ static int sa1111_type_lowirq(unsigned int irq, unsigned int flags)
        void __iomem *mapbase = get_irq_chip_data(irq);
        unsigned long ip0;
 
-       if (flags == IRQT_PROBE)
+       if (flags == IRQ_TYPE_PROBE)
                return 0;
 
-       if ((!(flags & __IRQT_RISEDGE) ^ !(flags & __IRQT_FALEDGE)) == 0)
+       if ((!(flags & IRQ_TYPE_EDGE_RISING) ^ !(flags & IRQ_TYPE_EDGE_FALLING)) == 0)
                return -EINVAL;
 
        ip0 = sa1111_readl(mapbase + SA1111_INTPOL0);
-       if (flags & __IRQT_RISEDGE)
+       if (flags & IRQ_TYPE_EDGE_RISING)
                ip0 &= ~mask;
        else
                ip0 |= mask;
@@ -335,14 +338,14 @@ static int sa1111_type_highirq(unsigned int irq, unsigned int flags)
        void __iomem *mapbase = get_irq_chip_data(irq);
        unsigned long ip1;
 
-       if (flags == IRQT_PROBE)
+       if (flags == IRQ_TYPE_PROBE)
                return 0;
 
-       if ((!(flags & __IRQT_RISEDGE) ^ !(flags & __IRQT_FALEDGE)) == 0)
+       if ((!(flags & IRQ_TYPE_EDGE_RISING) ^ !(flags & IRQ_TYPE_EDGE_FALLING)) == 0)
                return -EINVAL;
 
        ip1 = sa1111_readl(mapbase + SA1111_INTPOL1);
-       if (flags & __IRQT_RISEDGE)
+       if (flags & IRQ_TYPE_EDGE_RISING)
                ip1 &= ~mask;
        else
                ip1 |= mask;
@@ -424,7 +427,7 @@ static void sa1111_setup_irq(struct sa1111 *sachip)
        /*
         * Register SA1111 interrupt
         */
-       set_irq_type(sachip->irq, IRQT_RISING);
+       set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING);
        set_irq_data(sachip->irq, irqbase);
        set_irq_chained_handler(sachip->irq, sa1111_irq_handler);
 }
@@ -547,9 +550,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
                goto out;
        }
 
-       snprintf(dev->dev.bus_id, sizeof(dev->dev.bus_id),
-                "%4.4lx", info->offset);
-
+       dev_set_name(&dev->dev, "%4.4lx", info->offset);
        dev->devid       = info->devid;
        dev->dev.parent  = sachip->dev;
        dev->dev.bus     = &sa1111_bus_type;
@@ -557,7 +558,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
        dev->dev.coherent_dma_mask = sachip->dev->coherent_dma_mask;
        dev->res.start   = sachip->phys + info->offset;
        dev->res.end     = dev->res.start + 511;
-       dev->res.name    = dev->dev.bus_id;
+       dev->res.name    = dev_name(&dev->dev);
        dev->res.flags   = IORESOURCE_MEM;
        dev->mapbase     = sachip->base + info->offset;
        dev->skpcr_mask  = info->skpcr_mask;
@@ -567,6 +568,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
        if (ret) {
                printk("SA1111: failed to allocate resource for %s\n",
                        dev->res.name);
+               dev_set_name(&dev->dev, NULL);
                kfree(dev);
                goto out;
        }
@@ -590,7 +592,8 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
                if (dev->dma_mask != 0xffffffffUL) {
                        ret = dmabounce_register_dev(&dev->dev, 1024, 4096);
                        if (ret) {
-                               printk("SA1111: Failed to register %s with dmabounce", dev->dev.bus_id);
+                               dev_err(&dev->dev, "SA1111: Failed to register"
+                                       " with dmabounce\n");
                                device_unregister(&dev->dev);
                        }
                }
@@ -624,7 +627,7 @@ __sa1111_probe(struct device *me, struct resource *mem, int irq)
        if (!sachip)
                return -ENOMEM;
 
-       sachip->clk = clk_get(me, "GPIO27_CLK");
+       sachip->clk = clk_get(me, "SA1111_CLK");
        if (!sachip->clk) {
                ret = PTR_ERR(sachip->clk);
                goto err_free;
@@ -822,7 +825,7 @@ static int sa1111_suspend(struct platform_device *dev, pm_message_t state)
        save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL);
        if (!save)
                return -ENOMEM;
-       dev->dev.power.saved_state = save;
+       sachip->saved_state = save;
 
        spin_lock_irqsave(&sachip->lock, flags);
 
@@ -878,7 +881,7 @@ static int sa1111_resume(struct platform_device *dev)
        unsigned long flags, id;
        void __iomem *base;
 
-       save = (struct sa1111_save_data *)dev->dev.power.saved_state;
+       save = sachip->saved_state;
        if (!save)
                return 0;
 
@@ -923,7 +926,7 @@ static int sa1111_resume(struct platform_device *dev)
 
        spin_unlock_irqrestore(&sachip->lock, flags);
 
-       dev->dev.power.saved_state = NULL;
+       sachip->saved_state = NULL;
        kfree(save);
 
        return 0;
@@ -958,8 +961,8 @@ static int sa1111_remove(struct platform_device *pdev)
                platform_set_drvdata(pdev, NULL);
 
 #ifdef CONFIG_PM
-               kfree(pdev->dev.power.saved_state);
-               pdev->dev.power.saved_state = NULL;
+               kfree(sachip->saved_state);
+               sachip->saved_state = NULL;
 #endif
        }