[PATCH 2/4] omap1: Add initcall checks for omap1 and booted board

Janusz Krzysztofik jkrzyszt at tis.icnet.pl
Fri Dec 10 11:02:33 EST 2010


Saturday 04 December 2010 22:36:55 Tony Lindgren napisał(a):
> Otherwise multi-omap1 configurations will fail.

Tested on Amstrad Delta with omap1_defconfig.

> Signed-off-by: Tony Lindgren <tony at atomide.com>

Tested-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>

> ---
>  arch/arm/mach-omap1/board-ams-delta.c |    3 +++
>  arch/arm/mach-omap1/board-voiceblue.c |    6 ++++++
>  arch/arm/mach-omap1/devices.c         |    3 +++
>  arch/arm/mach-omap1/lcd_dma.c         |    3 +++
>  arch/arm/mach-omap1/leds.c            |    3 +++
>  arch/arm/mach-omap1/mcbsp.c           |    3 +++
>  arch/arm/mach-omap1/pm.c              |    3 +++
>  arch/arm/mach-omap1/pm_bus.c          |    3 +++
>  arch/arm/mach-omap1/serial.c          |    3 +++
>  9 files changed, 30 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap1/board-ams-delta.c
> b/arch/arm/mach-omap1/board-ams-delta.c index ce4d69c..e143950 100644
> --- a/arch/arm/mach-omap1/board-ams-delta.c
> +++ b/arch/arm/mach-omap1/board-ams-delta.c
> @@ -338,6 +338,9 @@ static int __init ams_delta_modem_init(void)
>  {
>  	int err;
>
> +	if (!machine_is_ams_delta())
> +		return -ENODEV;
> +
>  	omap_cfg_reg(M14_1510_GPIO2);
>  	ams_delta_modem_ports[0].irq =
>  			gpio_to_irq(AMS_DELTA_GPIO_PIN_MODEM_IRQ);
> diff --git a/arch/arm/mach-omap1/board-voiceblue.c
> b/arch/arm/mach-omap1/board-voiceblue.c index 789f5ba..815a69c 100644
> --- a/arch/arm/mach-omap1/board-voiceblue.c
> +++ b/arch/arm/mach-omap1/board-voiceblue.c
> @@ -83,6 +83,9 @@ static struct platform_device serial_device = {
>
>  static int __init ext_uart_init(void)
>  {
> +	if (!machine_is_voiceblue())
> +		return -ENODEV;
> +
>  	return platform_device_register(&serial_device);
>  }
>  arch_initcall(ext_uart_init);
> @@ -235,6 +238,9 @@ static struct notifier_block panic_block = {
>
>  static int __init voiceblue_setup(void)
>  {
> +	if (!machine_is_voiceblue())
> +		return -ENODEV;
> +
>  	/* Setup panic notifier */
>  	atomic_notifier_chain_register(&panic_notifier_list, &panic_block);
>
> diff --git a/arch/arm/mach-omap1/devices.c b/arch/arm/mach-omap1/devices.c
> index 86ad38a..b0f4c23 100644
> --- a/arch/arm/mach-omap1/devices.c
> +++ b/arch/arm/mach-omap1/devices.c
> @@ -288,6 +288,9 @@ static inline void omap_init_audio(void) {}
>   */
>  static int __init omap1_init_devices(void)
>  {
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	/* please keep these calls, and their implementations above,
>  	 * in alphabetical order so they're easier to sort through.
>  	 */
> diff --git a/arch/arm/mach-omap1/lcd_dma.c b/arch/arm/mach-omap1/lcd_dma.c
> index 3be11af..c9088d8 100644
> --- a/arch/arm/mach-omap1/lcd_dma.c
> +++ b/arch/arm/mach-omap1/lcd_dma.c
> @@ -424,6 +424,9 @@ static int __init omap_init_lcd_dma(void)
>  {
>  	int r;
>
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	if (cpu_is_omap16xx()) {
>  		u16 w;
>
> diff --git a/arch/arm/mach-omap1/leds.c b/arch/arm/mach-omap1/leds.c
> index 277f356..22eb11d 100644
> --- a/arch/arm/mach-omap1/leds.c
> +++ b/arch/arm/mach-omap1/leds.c
> @@ -17,6 +17,9 @@
>  static int __init
>  omap_leds_init(void)
>  {
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	if (machine_is_omap_innovator())
>  		leds_event = innovator_leds_event;
>
> diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
> index 372ea71..8209736 100644
> --- a/arch/arm/mach-omap1/mcbsp.c
> +++ b/arch/arm/mach-omap1/mcbsp.c
> @@ -176,6 +176,9 @@ static struct omap_mcbsp_platform_data
> omap16xx_mcbsp_pdata[] = {
>
>  static int __init omap1_mcbsp_init(void)
>  {
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	if (cpu_is_omap7xx()) {
>  		omap_mcbsp_count = OMAP7XX_MCBSP_PDATA_SZ;
>  		omap_mcbsp_cache_size = OMAP7XX_MCBSP_REG_NUM * sizeof(u16);
> diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
> index b1d3f9f..0cca23a 100644
> --- a/arch/arm/mach-omap1/pm.c
> +++ b/arch/arm/mach-omap1/pm.c
> @@ -661,6 +661,9 @@ static int __init omap_pm_init(void)
>  	int error;
>  #endif
>
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	printk("Power Management for TI OMAP.\n");
>
>  	/*
> diff --git a/arch/arm/mach-omap1/pm_bus.c b/arch/arm/mach-omap1/pm_bus.c
> index 8b66392..3266447 100644
> --- a/arch/arm/mach-omap1/pm_bus.c
> +++ b/arch/arm/mach-omap1/pm_bus.c
> @@ -73,6 +73,9 @@ static int __init omap1_pm_runtime_init(void)
>  	const struct dev_pm_ops *pm;
>  	struct dev_pm_ops *omap_pm;
>
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	pm = platform_bus_get_pm_ops();
>  	if (!pm) {
>  		pr_err("%s: unable to get dev_pm_ops from platform_bus\n",
> diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c
> index 9e1c4d4..550ca9d 100644
> --- a/arch/arm/mach-omap1/serial.c
> +++ b/arch/arm/mach-omap1/serial.c
> @@ -258,6 +258,9 @@ late_initcall(omap_serial_wakeup_init);
>
>  static int __init omap_init(void)
>  {
> +	if (!cpu_class_is_omap1())
> +		return -ENODEV;
> +
>  	return platform_device_register(&serial_device);
>  }
>  arch_initcall(omap_init);
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html





More information about the linux-arm-kernel mailing list