diff options
-rw-r--r-- | arch/arm/mach-davinci/board-dm644x-evm.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-davinci/davinci.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm644x.c | 27 |
3 files changed, 17 insertions, 15 deletions
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 14dd390f6da8..b89bebe01c0f 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -625,8 +625,6 @@ static struct davinci_uart_config uart_config __initdata = { | |||
625 | static void __init | 625 | static void __init |
626 | davinci_evm_map_io(void) | 626 | davinci_evm_map_io(void) |
627 | { | 627 | { |
628 | /* setup input configuration for VPFE input devices */ | ||
629 | dm644x_set_vpfe_config(&dm644xevm_capture_cfg); | ||
630 | dm644x_init(); | 628 | dm644x_init(); |
631 | } | 629 | } |
632 | 630 | ||
@@ -698,6 +696,7 @@ static __init void davinci_evm_init(void) | |||
698 | evm_init_i2c(); | 696 | evm_init_i2c(); |
699 | 697 | ||
700 | davinci_setup_mmc(0, &dm6446evm_mmc_config); | 698 | davinci_setup_mmc(0, &dm6446evm_mmc_config); |
699 | dm644x_init_video(&dm644xevm_capture_cfg); | ||
701 | 700 | ||
702 | davinci_serial_init(&uart_config); | 701 | davinci_serial_init(&uart_config); |
703 | dm644x_init_asp(&dm644x_evm_snd_data); | 702 | dm644x_init_asp(&dm644x_evm_snd_data); |
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h index b1a52fb30cba..9d708034b57f 100644 --- a/arch/arm/mach-davinci/davinci.h +++ b/arch/arm/mach-davinci/davinci.h | |||
@@ -83,7 +83,7 @@ void dm365_set_vpfe_config(struct vpfe_config *cfg); | |||
83 | /* DM644x function declarations */ | 83 | /* DM644x function declarations */ |
84 | void __init dm644x_init(void); | 84 | void __init dm644x_init(void); |
85 | void __init dm644x_init_asp(struct snd_platform_data *pdata); | 85 | void __init dm644x_init_asp(struct snd_platform_data *pdata); |
86 | void dm644x_set_vpfe_config(struct vpfe_config *cfg); | 86 | int __init dm644x_init_video(struct vpfe_config *); |
87 | 87 | ||
88 | /* DM646x function declarations */ | 88 | /* DM646x function declarations */ |
89 | void __init dm646x_init(void); | 89 | void __init dm646x_init(void); |
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index fc48faec57ec..23e81cafba8d 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c | |||
@@ -659,11 +659,6 @@ static struct platform_device dm644x_vpfe_dev = { | |||
659 | }, | 659 | }, |
660 | }; | 660 | }; |
661 | 661 | ||
662 | void dm644x_set_vpfe_config(struct vpfe_config *cfg) | ||
663 | { | ||
664 | dm644x_vpfe_dev.dev.platform_data = cfg; | ||
665 | } | ||
666 | |||
667 | /*----------------------------------------------------------------------*/ | 662 | /*----------------------------------------------------------------------*/ |
668 | 663 | ||
669 | static struct map_desc dm644x_io_desc[] = { | 664 | static struct map_desc dm644x_io_desc[] = { |
@@ -791,14 +786,26 @@ void __init dm644x_init(void) | |||
791 | davinci_map_sysmod(); | 786 | davinci_map_sysmod(); |
792 | } | 787 | } |
793 | 788 | ||
794 | static int __init dm644x_init_devices(void) | 789 | int __init dm644x_init_video(struct vpfe_config *vpfe_cfg) |
795 | { | 790 | { |
796 | if (!cpu_is_davinci_dm644x()) | 791 | dm644x_vpfe_dev.dev.platform_data = vpfe_cfg; |
797 | return 0; | ||
798 | 792 | ||
799 | /* Add ccdc clock aliases */ | 793 | /* Add ccdc clock aliases */ |
800 | clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL); | 794 | clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL); |
801 | clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL); | 795 | clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL); |
796 | |||
797 | platform_device_register(&dm644x_vpss_device); | ||
798 | platform_device_register(&dm644x_ccdc_dev); | ||
799 | platform_device_register(&dm644x_vpfe_dev); | ||
800 | |||
801 | return 0; | ||
802 | } | ||
803 | |||
804 | static int __init dm644x_init_devices(void) | ||
805 | { | ||
806 | if (!cpu_is_davinci_dm644x()) | ||
807 | return 0; | ||
808 | |||
802 | platform_device_register(&dm644x_edma_device); | 809 | platform_device_register(&dm644x_edma_device); |
803 | 810 | ||
804 | platform_device_register(&dm644x_mdio_device); | 811 | platform_device_register(&dm644x_mdio_device); |
@@ -806,10 +813,6 @@ static int __init dm644x_init_devices(void) | |||
806 | clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev), | 813 | clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev), |
807 | NULL, &dm644x_emac_device.dev); | 814 | NULL, &dm644x_emac_device.dev); |
808 | 815 | ||
809 | platform_device_register(&dm644x_vpss_device); | ||
810 | platform_device_register(&dm644x_ccdc_dev); | ||
811 | platform_device_register(&dm644x_vpfe_dev); | ||
812 | |||
813 | return 0; | 816 | return 0; |
814 | } | 817 | } |
815 | postcore_initcall(dm644x_init_devices); | 818 | postcore_initcall(dm644x_init_devices); |