All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Ohad Ben-Cohen <ohad@wizery.com>
Cc: "Russell King - ARM Linux" <linux@arm.linux.org.uk>,
	linux-omap@vger.kernel.org,
	"Santosh Shilimkar" <santosh.shilimkar@ti.com>,
	"Cousson, Benoit" <b-cousson@ti.com>,
	"Paul Walmsley" <paul@pwsan.com>, "Kevin Hilman" <khilman@ti.com>,
	"Afzal Mohammed" <afzal@ti.com>,
	"Péter Ujfalusi" <peter.ujfalusi@ti.com>
Subject: Re: Errors at boot time from OMAP4430SDP (and a whinge about serial stuff)
Date: Tue, 16 Oct 2012 11:10:38 -0700	[thread overview]
Message-ID: <20121016181038.GC15569@atomide.com> (raw)
In-Reply-To: <CAK=Wgba087mdaYhvKNUAy6H8rAb+owTAz1yqexEtDg+f06kJdg@mail.gmail.com>

* Ohad Ben-Cohen <ohad@wizery.com> [121014 11:32]:
> On Fri, Oct 12, 2012 at 6:24 PM, Tony Lindgren <tony@atomide.com> wrote:
> >> Error setting wl12xx data: -38
> ..
> > Ohad, can you please take a look?
> 
> Sure, -38 is -ENOSYS which is returned when the wl12xx driver isn't configured.
> 
> This isn't an error (it's a user decision, and it shouldn't elicit any
> error) and the patch below (also attached) should make it go away on:
> 
> From 374f145568585c8d6a8d5e4b8b5d3e6baedd2f39 Mon Sep 17 00:00:00 2001
> From: Ohad Ben-Cohen <ohad@wizery.com>
> Date: Sun, 14 Oct 2012 20:16:01 +0200
> Subject: [PATCH] ARM: OMAP: don't print any error when wl12xx isn't
>  configured
> 
> Stop intimidating users with scary wlan error messages in case wl12xx
> support wasn't even built.
> 
> In addition, when wl12xx_set_platform_data() fails, don't bother
> registering wl12xx's fixed regulator device (on the relevant
> boards).
> 
> While we're at it, extract the wlan init code to a dedicated function to
> make (the relevant boards') init code look a bit nicer.
> 
> Reported-by: Russell King <linux@arm.linux.org.uk>
> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>

Thanks applying into omap-for-v3.7-rc1/fixes-part2.

Regards,

Tony

> ---
>  arch/arm/mach-davinci/board-da850-evm.c      |  7 ++++++-
>  arch/arm/mach-omap2/board-4430sdp.c          | 13 ++++++++++--
>  arch/arm/mach-omap2/board-omap3evm.c         | 11 +++++++++-
>  arch/arm/mach-omap2/board-omap3pandora.c     |  9 ++++++++-
>  arch/arm/mach-omap2/board-omap4panda.c       | 30 ++++++++++++++++++++++------
>  arch/arm/mach-omap2/board-zoom-peripherals.c | 20 ++++++++++++++++---
>  6 files changed, 76 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/arm/mach-davinci/board-da850-evm.c
> b/arch/arm/mach-davinci/board-da850-evm.c
> index 32ee3f8..1b19415 100644
> --- a/arch/arm/mach-davinci/board-da850-evm.c
> +++ b/arch/arm/mach-davinci/board-da850-evm.c
> @@ -1404,8 +1404,13 @@ static __init int da850_wl12xx_init(void)
>  	da850_wl12xx_wlan_data.irq = gpio_to_irq(DA850_WLAN_IRQ);
> 
>  	ret = wl12xx_set_platform_data(&da850_wl12xx_wlan_data);
> +	/* bail out silently in case wl12xx isn't configured */
> +	if (ret == -ENOSYS)
> +		goto free_wlan_irq;
> +
> +	/* bail out verbosely on any other error */
>  	if (ret) {
> -		pr_err("Could not set wl12xx data: %d\n", ret);
> +		pr_err("error setting wl12xx data: %d\n", ret);
>  		goto free_wlan_irq;
>  	}
> 
> diff --git a/arch/arm/mach-omap2/board-4430sdp.c
> b/arch/arm/mach-omap2/board-4430sdp.c
> index 3669c12..d1dd81a 100644
> --- a/arch/arm/mach-omap2/board-4430sdp.c
> +++ b/arch/arm/mach-omap2/board-4430sdp.c
> @@ -826,9 +826,18 @@ static void __init omap4_sdp4430_wifi_init(void)
> 
>  	omap4_sdp4430_wifi_mux_init();
>  	omap4_sdp4430_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
> +
>  	ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data);
> -	if (ret)
> -		pr_err("Error setting wl12xx data: %d\n", ret);
> +	/* bail out silently in case wl12xx isn't configured */
> +	if (ret == -ENOSYS)
> +		return;
> +
> +	/* bail out verbosely on any other error */
> +	if (ret) {
> +		pr_err("error setting wl12xx data: %d\n", ret);
> +		return;
> +	}
> +
>  	ret = platform_device_register(&omap_vwlan_device);
>  	if (ret)
>  		pr_err("Error registering wl12xx device: %d\n", ret);
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c
> b/arch/arm/mach-omap2/board-omap3evm.c
> index b9b776b..7f72e44 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -637,9 +637,18 @@ static void __init omap3_evm_wl12xx_init(void)
> 
>  	/* WL12xx WLAN Init */
>  	omap3evm_wlan_data.irq = gpio_to_irq(OMAP3EVM_WLAN_IRQ_GPIO);
> +
>  	ret = wl12xx_set_platform_data(&omap3evm_wlan_data);
> -	if (ret)
> +	/* bail out silently in case wl12xx isn't configured */
> +	if (ret == -ENOSYS)
> +		return;
> +
> +	/* bail out verbosely on any other error */
> +	if (ret) {
>  		pr_err("error setting wl12xx data: %d\n", ret);
> +		return;
> +	}
> +
>  	ret = platform_device_register(&omap3evm_wlan_regulator);
>  	if (ret)
>  		pr_err("error registering wl12xx device: %d\n", ret);
> diff --git a/arch/arm/mach-omap2/board-omap3pandora.c
> b/arch/arm/mach-omap2/board-omap3pandora.c
> index 00a1f4a..bbc4001 100644
> --- a/arch/arm/mach-omap2/board-omap3pandora.c
> +++ b/arch/arm/mach-omap2/board-omap3pandora.c
> @@ -549,8 +549,15 @@ static void __init pandora_wl1251_init(void)
> 
>  	pandora_wl1251_pdata.use_eeprom = true;
>  	ret = wl12xx_set_platform_data(&pandora_wl1251_pdata);
> -	if (ret < 0)
> +	/* bail out silently in case wl12xx isn't configured */
> +	if (ret == -ENOSYS)
> +		goto fail_irq;
> +
> +	/* bail out verbosely on any other error */
> +	if (ret) {
> +		pr_err("error setting wl12xx data: %d\n", ret);
>  		goto fail_irq;
> +	}
> 
>  	return;
> 
> diff --git a/arch/arm/mach-omap2/board-omap4panda.c
> b/arch/arm/mach-omap2/board-omap4panda.c
> index bfcd397..cc5cdd6 100644
> --- a/arch/arm/mach-omap2/board-omap4panda.c
> +++ b/arch/arm/mach-omap2/board-omap4panda.c
> @@ -486,24 +486,42 @@ static void omap4_panda_init_rev(void)
>  	}
>  }
> 
> +static void __init omap4_panda_wlan_init(void)
> +{
> +	int ret;
> +
> +	omap_panda_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
> +
> +	ret = wl12xx_set_platform_data(&omap_panda_wlan_data);
> +
> +	/* bail out silently in case wl12xx isn't configured */
> +	if (ret == -ENOSYS)
> +		return;
> +
> +	/* bail out verbosely on any other error */
> +	if (ret) {
> +		pr_err("error setting wl12xx data: %d\n", ret);
> +		return;
> +	}
> +
> +	ret = platform_device_register(&omap_vwlan_device);
> +	if (ret)
> +		pr_err("error registering wl12xx's fixed regulator: %d\n", ret);
> +}
> +
>  static void __init omap4_panda_init(void)
>  {
>  	int package = OMAP_PACKAGE_CBS;
> -	int ret;
> 
>  	if (omap_rev() == OMAP4430_REV_ES1_0)
>  		package = OMAP_PACKAGE_CBL;
>  	omap4_mux_init(board_mux, NULL, package);
> 
> -	omap_panda_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
> -	ret = wl12xx_set_platform_data(&omap_panda_wlan_data);
> -	if (ret)
> -		pr_err("error setting wl12xx data: %d\n", ret);
> +	omap4_panda_wlan_init();
> 
>  	omap4_panda_init_rev();
>  	omap4_panda_i2c_init();
>  	platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
> -	platform_device_register(&omap_vwlan_device);
>  	omap_serial_init();
>  	omap_sdrc_init(NULL, NULL);
>  	omap4_twl6030_hsmmc_init(mmc);
> diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c
> b/arch/arm/mach-omap2/board-zoom-peripherals.c
> index c166fe1..3506ed2 100644
> --- a/arch/arm/mach-omap2/board-zoom-peripherals.c
> +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
> @@ -286,19 +286,33 @@ static void enable_board_wakeup_source(void)
>  		OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP);
>  }
> 
> -void __init zoom_peripherals_init(void)
> +static void __init zoom_wlan_init(void)
>  {
>  	int ret;
> 
>  	omap_zoom_wlan_data.irq = gpio_to_irq(OMAP_ZOOM_WLAN_IRQ_GPIO);
> +
>  	ret = wl12xx_set_platform_data(&omap_zoom_wlan_data);
> +	/* bail out silently in case wl12xx isn't configured */
> +	if (ret == -ENOSYS)
> +		return;
> 
> -	if (ret)
> +	/* bail out verbosely on any other error */
> +	if (ret) {
>  		pr_err("error setting wl12xx data: %d\n", ret);
> +		return;
> +	}
> 
> +	ret = platform_device_register(&omap_vwlan_device);
> +	if (ret)
> +		pr_err("error registering wl12xx's fixed regulator: %d\n", ret);
> +}
> +
> +void __init zoom_peripherals_init(void)
> +{
>  	omap_hsmmc_init(mmc);
> +	zoom_wlan_init();
>  	omap_i2c_init();
> -	platform_device_register(&omap_vwlan_device);
>  	usb_musb_init(NULL);
>  	enable_board_wakeup_source();
>  	omap_serial_init();
> -- 
> 1.7.10.rc3.1067.gb129051



  reply	other threads:[~2012-10-16 18:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-12 15:54 Errors at boot time from OMAP4430SDP (and a whinge about serial stuff) Russell King - ARM Linux
2012-10-12 16:24 ` Tony Lindgren
2012-10-12 16:31   ` Russell King - ARM Linux
2012-10-12 16:34   ` Benoit Cousson
2012-10-12 16:56     ` Tony Lindgren
2012-10-12 18:47   ` Kevin Hilman
2012-10-14 18:30   ` Ohad Ben-Cohen
2012-10-16 18:10     ` Tony Lindgren [this message]
2012-10-16 18:26       ` Tony Lindgren
2012-10-17  9:10         ` Ohad Ben-Cohen
2012-10-17 12:43           ` Igor Grinberg
2012-10-18 16:58             ` Ohad Ben-Cohen
2012-10-19 17:07               ` Tony Lindgren
2012-10-21 14:54                 ` Ohad Ben-Cohen
2012-10-23  7:37                   ` Igor Grinberg
2012-10-23  7:51                     ` Ohad Ben-Cohen
2012-10-23  9:46                       ` Igor Grinberg
2012-10-24  1:54                   ` Tony Lindgren
2012-10-24 11:15                     ` Ohad Ben-Cohen
2012-10-25 19:03                       ` Tony Lindgren
2012-10-15  5:54   ` Mohammed, Afzal
2012-10-16 18:12     ` Tony Lindgren
2012-10-16 19:24       ` Benoit Cousson
2012-10-16 19:53         ` Tony Lindgren
2012-10-15  7:37   ` Péter Ujfalusi
2012-10-23 10:10 ` Russell King - ARM Linux
2012-10-25  1:09   ` Tony Lindgren
2012-10-25 16:05     ` Balaji T K
2012-10-25 17:24     ` Kevin Hilman
2012-10-25 17:38       ` Kevin Hilman
2012-10-25 17:46         ` Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121016181038.GC15569@atomide.com \
    --to=tony@atomide.com \
    --cc=afzal@ti.com \
    --cc=b-cousson@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=ohad@wizery.com \
    --cc=paul@pwsan.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=santosh.shilimkar@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.