Merge branch 'for-armsoc' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm / mach-ux500 / devices-common.c
index c3bc094c27e53845751f71df4bc91ca21bf62fc8..c5312a4b49f5487a229166de8c28acb3994d6c52 100644 (file)
@@ -27,21 +27,14 @@ dbx500_add_amba_device(struct device *parent, const char *name,
        struct amba_device *dev;
        int ret;
 
-       dev = kzalloc(sizeof *dev, GFP_KERNEL);
+       dev = amba_device_alloc(name, base, SZ_4K);
        if (!dev)
                return ERR_PTR(-ENOMEM);
 
-       dev->dev.init_name = name;
-
-       dev->res.start = base;
-       dev->res.end = base + SZ_4K - 1;
-       dev->res.flags = IORESOURCE_MEM;
-
        dev->dma_mask = DMA_BIT_MASK(32);
        dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
 
        dev->irq[0] = irq;
-       dev->irq[1] = NO_IRQ;
 
        dev->periphid = periphid;
 
@@ -49,9 +42,9 @@ dbx500_add_amba_device(struct device *parent, const char *name,
 
        dev->dev.parent = parent;
 
-       ret = amba_device_register(dev, &iomem_resource);
+       ret = amba_device_add(dev, &iomem_resource);
        if (ret) {
-               kfree(dev);
+               amba_device_put(dev);
                return ERR_PTR(ret);
        }