aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-samsung
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2013-04-10 08:49:03 -0400
committerArnd Bergmann <arnd@arndb.de>2013-04-19 07:51:22 -0400
commitf76da510d61a8793c990bee9acc10744ee2b2a8c (patch)
tree149ae6bede56bab160f3e183c2104e129334c75d /arch/arm/plat-samsung
parenta2e407104769d64e01556d4c335bb6478e1e7f3c (diff)
ARM: samsung: move mfc device definition to s5p-dev-mfc.c
For a DT-only build we don't want to compile devs.c, but we do need the mfc device, which is also referenced by the DT based platforms, so move it all into one place. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/plat-samsung')
-rw-r--r--arch/arm/plat-samsung/devs.c45
-rw-r--r--arch/arm/plat-samsung/s5p-dev-mfc.c42
2 files changed, 41 insertions, 46 deletions
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
index 51afedda9ab6..de9ad27495e7 100644
--- a/arch/arm/plat-samsung/devs.c
+++ b/arch/arm/plat-samsung/devs.c
@@ -878,51 +878,6 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)
878} 878}
879#endif /* CONFIG_PLAT_S3C24XX */ 879#endif /* CONFIG_PLAT_S3C24XX */
880 880
881/* MFC */
882
883#ifdef CONFIG_S5P_DEV_MFC
884static struct resource s5p_mfc_resource[] = {
885 [0] = DEFINE_RES_MEM(S5P_PA_MFC, SZ_64K),
886 [1] = DEFINE_RES_IRQ(IRQ_MFC),
887};
888
889struct platform_device s5p_device_mfc = {
890 .name = "s5p-mfc",
891 .id = -1,
892 .num_resources = ARRAY_SIZE(s5p_mfc_resource),
893 .resource = s5p_mfc_resource,
894};
895
896/*
897 * MFC hardware has 2 memory interfaces which are modelled as two separate
898 * platform devices to let dma-mapping distinguish between them.
899 *
900 * MFC parent device (s5p_device_mfc) must be registered before memory
901 * interface specific devices (s5p_device_mfc_l and s5p_device_mfc_r).
902 */
903
904struct platform_device s5p_device_mfc_l = {
905 .name = "s5p-mfc-l",
906 .id = -1,
907 .dev = {
908 .parent = &s5p_device_mfc.dev,
909 .dma_mask = &samsung_device_dma_mask,
910 .coherent_dma_mask = DMA_BIT_MASK(32),
911 },
912};
913
914struct platform_device s5p_device_mfc_r = {
915 .name = "s5p-mfc-r",
916 .id = -1,
917 .dev = {
918 .parent = &s5p_device_mfc.dev,
919 .dma_mask = &samsung_device_dma_mask,
920 .coherent_dma_mask = DMA_BIT_MASK(32),
921 },
922};
923
924#endif /* CONFIG_S5P_DEV_MFC */
925
926/* MIPI CSIS */ 881/* MIPI CSIS */
927 882
928#ifdef CONFIG_S5P_DEV_CSIS0 883#ifdef CONFIG_S5P_DEV_CSIS0
diff --git a/arch/arm/plat-samsung/s5p-dev-mfc.c b/arch/arm/plat-samsung/s5p-dev-mfc.c
index 5ec104b5408b..a93fb6fb6606 100644
--- a/arch/arm/plat-samsung/s5p-dev-mfc.c
+++ b/arch/arm/plat-samsung/s5p-dev-mfc.c
@@ -18,10 +18,50 @@
18#include <linux/of.h> 18#include <linux/of.h>
19 19
20#include <mach/map.h> 20#include <mach/map.h>
21#include <mach/irqs.h>
21#include <plat/devs.h> 22#include <plat/devs.h>
22#include <plat/irqs.h>
23#include <plat/mfc.h> 23#include <plat/mfc.h>
24 24
25static struct resource s5p_mfc_resource[] = {
26 [0] = DEFINE_RES_MEM(S5P_PA_MFC, SZ_64K),
27 [1] = DEFINE_RES_IRQ(IRQ_MFC),
28};
29
30struct platform_device s5p_device_mfc = {
31 .name = "s5p-mfc",
32 .id = -1,
33 .num_resources = ARRAY_SIZE(s5p_mfc_resource),
34 .resource = s5p_mfc_resource,
35};
36
37/*
38 * MFC hardware has 2 memory interfaces which are modelled as two separate
39 * platform devices to let dma-mapping distinguish between them.
40 *
41 * MFC parent device (s5p_device_mfc) must be registered before memory
42 * interface specific devices (s5p_device_mfc_l and s5p_device_mfc_r).
43 */
44
45struct platform_device s5p_device_mfc_l = {
46 .name = "s5p-mfc-l",
47 .id = -1,
48 .dev = {
49 .parent = &s5p_device_mfc.dev,
50 .dma_mask = &s5p_device_mfc_l.dev.coherent_dma_mask,
51 .coherent_dma_mask = DMA_BIT_MASK(32),
52 },
53};
54
55struct platform_device s5p_device_mfc_r = {
56 .name = "s5p-mfc-r",
57 .id = -1,
58 .dev = {
59 .parent = &s5p_device_mfc.dev,
60 .dma_mask = &s5p_device_mfc_r.dev.coherent_dma_mask,
61 .coherent_dma_mask = DMA_BIT_MASK(32),
62 },
63};
64
25struct s5p_mfc_reserved_mem { 65struct s5p_mfc_reserved_mem {
26 phys_addr_t base; 66 phys_addr_t base;
27 unsigned long size; 67 unsigned long size;