Skip to content

Commit

Permalink
ARM: davinci: dm644x: don't force vpfe registeration on all boards
Browse files Browse the repository at this point in the history
Move all vpfe platform device registrations to the board specific
file.

This removes registration of vpfe platform devices on boards which
do not use vpfe.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
  • Loading branch information
Manjunath Hadli authored and Sekhar Nori committed Feb 24, 2012
1 parent 314d738 commit 12db958
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 15 deletions.
3 changes: 1 addition & 2 deletions arch/arm/mach-davinci/board-dm644x-evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -625,8 +625,6 @@ static struct davinci_uart_config uart_config __initdata = {
static void __init
davinci_evm_map_io(void)
{
/* setup input configuration for VPFE input devices */
dm644x_set_vpfe_config(&dm644xevm_capture_cfg);
dm644x_init();
}

Expand Down Expand Up @@ -698,6 +696,7 @@ static __init void davinci_evm_init(void)
evm_init_i2c();

davinci_setup_mmc(0, &dm6446evm_mmc_config);
dm644x_init_video(&dm644xevm_capture_cfg);

davinci_serial_init(&uart_config);
dm644x_init_asp(&dm644x_evm_snd_data);
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-davinci/davinci.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ void dm365_set_vpfe_config(struct vpfe_config *cfg);
/* DM644x function declarations */
void __init dm644x_init(void);
void __init dm644x_init_asp(struct snd_platform_data *pdata);
void dm644x_set_vpfe_config(struct vpfe_config *cfg);
int __init dm644x_init_video(struct vpfe_config *);

/* DM646x function declarations */
void __init dm646x_init(void);
Expand Down
27 changes: 15 additions & 12 deletions arch/arm/mach-davinci/dm644x.c
Original file line number Diff line number Diff line change
Expand Up @@ -659,11 +659,6 @@ static struct platform_device dm644x_vpfe_dev = {
},
};

void dm644x_set_vpfe_config(struct vpfe_config *cfg)
{
dm644x_vpfe_dev.dev.platform_data = cfg;
}

/*----------------------------------------------------------------------*/

static struct map_desc dm644x_io_desc[] = {
Expand Down Expand Up @@ -791,25 +786,33 @@ void __init dm644x_init(void)
davinci_map_sysmod();
}

static int __init dm644x_init_devices(void)
int __init dm644x_init_video(struct vpfe_config *vpfe_cfg)
{
if (!cpu_is_davinci_dm644x())
return 0;
dm644x_vpfe_dev.dev.platform_data = vpfe_cfg;

/* Add ccdc clock aliases */
clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL);
clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL);

platform_device_register(&dm644x_vpss_device);
platform_device_register(&dm644x_ccdc_dev);
platform_device_register(&dm644x_vpfe_dev);

return 0;
}

static int __init dm644x_init_devices(void)
{
if (!cpu_is_davinci_dm644x())
return 0;

platform_device_register(&dm644x_edma_device);

platform_device_register(&dm644x_mdio_device);
platform_device_register(&dm644x_emac_device);
clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev),
NULL, &dm644x_emac_device.dev);

platform_device_register(&dm644x_vpss_device);
platform_device_register(&dm644x_ccdc_dev);
platform_device_register(&dm644x_vpfe_dev);

return 0;
}
postcore_initcall(dm644x_init_devices);

0 comments on commit 12db958

Please sign in to comment.