aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-ux500/devices-common.c33
-rw-r--r--arch/arm/mach-ux500/devices-common.h23
-rw-r--r--arch/arm/mach-ux500/devices-db8500.h2
3 files changed, 11 insertions, 47 deletions
diff --git a/arch/arm/mach-ux500/devices-common.c b/arch/arm/mach-ux500/devices-common.c
index c5312a4b49f5..dfdd4a54668d 100644
--- a/arch/arm/mach-ux500/devices-common.c
+++ b/arch/arm/mach-ux500/devices-common.c
@@ -11,7 +11,6 @@
11#include <linux/irq.h> 11#include <linux/irq.h>
12#include <linux/slab.h> 12#include <linux/slab.h>
13#include <linux/platform_device.h> 13#include <linux/platform_device.h>
14#include <linux/amba/bus.h>
15 14
16#include <plat/gpio-nomadik.h> 15#include <plat/gpio-nomadik.h>
17 16
@@ -19,38 +18,6 @@
19 18
20#include "devices-common.h" 19#include "devices-common.h"
21 20
22struct amba_device *
23dbx500_add_amba_device(struct device *parent, const char *name,
24 resource_size_t base, int irq, void *pdata,
25 unsigned int periphid)
26{
27 struct amba_device *dev;
28 int ret;
29
30 dev = amba_device_alloc(name, base, SZ_4K);
31 if (!dev)
32 return ERR_PTR(-ENOMEM);
33
34 dev->dma_mask = DMA_BIT_MASK(32);
35 dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
36
37 dev->irq[0] = irq;
38
39 dev->periphid = periphid;
40
41 dev->dev.platform_data = pdata;
42
43 dev->dev.parent = parent;
44
45 ret = amba_device_add(dev, &iomem_resource);
46 if (ret) {
47 amba_device_put(dev);
48 return ERR_PTR(ret);
49 }
50
51 return dev;
52}
53
54static struct platform_device * 21static struct platform_device *
55dbx500_add_gpio(struct device *parent, int id, resource_size_t addr, int irq, 22dbx500_add_gpio(struct device *parent, int id, resource_size_t addr, int irq,
56 struct nmk_gpio_platform_data *pdata) 23 struct nmk_gpio_platform_data *pdata)
diff --git a/arch/arm/mach-ux500/devices-common.h b/arch/arm/mach-ux500/devices-common.h
index 39c74ec82add..f75bcb2ab13b 100644
--- a/arch/arm/mach-ux500/devices-common.h
+++ b/arch/arm/mach-ux500/devices-common.h
@@ -11,13 +11,9 @@
11#include <linux/platform_device.h> 11#include <linux/platform_device.h>
12#include <linux/dma-mapping.h> 12#include <linux/dma-mapping.h>
13#include <linux/sys_soc.h> 13#include <linux/sys_soc.h>
14#include <linux/amba/bus.h>
14#include <plat/i2c.h> 15#include <plat/i2c.h>
15 16
16extern struct amba_device *
17dbx500_add_amba_device(struct device *parent, const char *name,
18 resource_size_t base, int irq, void *pdata,
19 unsigned int periphid);
20
21struct spi_master_cntlr; 17struct spi_master_cntlr;
22 18
23static inline struct amba_device * 19static inline struct amba_device *
@@ -25,8 +21,8 @@ dbx500_add_msp_spi(struct device *parent, const char *name,
25 resource_size_t base, int irq, 21 resource_size_t base, int irq,
26 struct spi_master_cntlr *pdata) 22 struct spi_master_cntlr *pdata)
27{ 23{
28 return dbx500_add_amba_device(parent, name, base, irq, 24 return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0,
29 pdata, 0); 25 pdata, 0);
30} 26}
31 27
32static inline struct amba_device * 28static inline struct amba_device *
@@ -34,8 +30,8 @@ dbx500_add_spi(struct device *parent, const char *name, resource_size_t base,
34 int irq, struct spi_master_cntlr *pdata, 30 int irq, struct spi_master_cntlr *pdata,
35 u32 periphid) 31 u32 periphid)
36{ 32{
37 return dbx500_add_amba_device(parent, name, base, irq, 33 return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0,
38 pdata, periphid); 34 pdata, periphid);
39} 35}
40 36
41struct mmci_platform_data; 37struct mmci_platform_data;
@@ -44,8 +40,8 @@ static inline struct amba_device *
44dbx500_add_sdi(struct device *parent, const char *name, resource_size_t base, 40dbx500_add_sdi(struct device *parent, const char *name, resource_size_t base,
45 int irq, struct mmci_platform_data *pdata, u32 periphid) 41 int irq, struct mmci_platform_data *pdata, u32 periphid)
46{ 42{
47 return dbx500_add_amba_device(parent, name, base, irq, 43 return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0,
48 pdata, periphid); 44 pdata, periphid);
49} 45}
50 46
51struct amba_pl011_data; 47struct amba_pl011_data;
@@ -54,7 +50,7 @@ static inline struct amba_device *
54dbx500_add_uart(struct device *parent, const char *name, resource_size_t base, 50dbx500_add_uart(struct device *parent, const char *name, resource_size_t base,
55 int irq, struct amba_pl011_data *pdata) 51 int irq, struct amba_pl011_data *pdata)
56{ 52{
57 return dbx500_add_amba_device(parent, name, base, irq, pdata, 0); 53 return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0, pdata, 0);
58} 54}
59 55
60struct nmk_i2c_controller; 56struct nmk_i2c_controller;
@@ -85,7 +81,8 @@ dbx500_add_i2c(struct device *parent, int id, resource_size_t base, int irq,
85static inline struct amba_device * 81static inline struct amba_device *
86dbx500_add_rtc(struct device *parent, resource_size_t base, int irq) 82dbx500_add_rtc(struct device *parent, resource_size_t base, int irq)
87{ 83{
88 return dbx500_add_amba_device(parent, "rtc-pl031", base, irq, NULL, 0); 84 return amba_apb_device_add(parent, "rtc-pl031", base, SZ_4K, irq,
85 0, NULL, 0);
89} 86}
90 87
91struct nmk_gpio_platform_data; 88struct nmk_gpio_platform_data;
diff --git a/arch/arm/mach-ux500/devices-db8500.h b/arch/arm/mach-ux500/devices-db8500.h
index 9fd93e9da529..6fc7eb24d9a0 100644
--- a/arch/arm/mach-ux500/devices-db8500.h
+++ b/arch/arm/mach-ux500/devices-db8500.h
@@ -31,7 +31,7 @@ static inline struct amba_device *
31db8500_add_ssp(struct device *parent, const char *name, resource_size_t base, 31db8500_add_ssp(struct device *parent, const char *name, resource_size_t base,
32 int irq, struct pl022_ssp_controller *pdata) 32 int irq, struct pl022_ssp_controller *pdata)
33{ 33{
34 return dbx500_add_amba_device(parent, name, base, irq, pdata, 0); 34 return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0, pdata, 0);
35} 35}
36 36
37 37