From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: linux-omap <linux-omap@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [GIT PULL] ARM: OMAP: Audio support via omap-twl4030 and pwm support
Date: Tue, 5 Feb 2013 10:46:21 +0100 [thread overview]
Message-ID: <5110D4ED.6030306@ti.com> (raw)
In-Reply-To: <20130204195251.GS22517@atomide.com>
Hi Tony,
On 02/04/2013 08:52 PM, Tony Lindgren wrote:
> Looks like this now adds some new section warnings:
>
> WARNING: vmlinux.o(.text+0x34124): Section mismatch in reference from the function sdp3430_twl_gpio_setup() to the function .init.text:omap_twl4030_audio_init()
> The function sdp3430_twl_gpio_setup() references
> the function __init omap_twl4030_audio_init().
> This is often because sdp3430_twl_gpio_setup lacks a __init
> annotation or the annotation of omap_twl4030_audio_init is wrong.
>
> WARNING: vmlinux.o(.text+0x34b8c): Section mismatch in reference from the function zoom_twl_gpio_setup() to the function .init.text:omap_twl4030_audio_init()
> The function zoom_twl_gpio_setup() references
> the function __init omap_twl4030_audio_init().
> This is often because zoom_twl_gpio_setup lacks a __init
> annotation or the annotation of omap_twl4030_audio_init is wrong.
For some reason the CONFIG_DEBUG_SECTION_MISMATCH got disabled in my rolling
kernel config...
> These can be fixed with the following patch, but I suspect some
> of these cannot be __init/__initdata if the driver reprobes.
>
> Can you please check this? I'll hold on sendinf off
> this branch until it's been checked and fixed properly.
I think this is not the correct way. the *_twl_gpio_setup() is called from the
gpio-twl4030 driver's platform_driver probe function which if I'm not mistaken
is not __init.
I think we should remove the __init from the omap_twl4030_audio_init() in
twl-common.c
With this change I do not have section mismatch either.
--
Péter
>
> Regards,
>
> Tony
>
>
> --- a/arch/arm/mach-omap2/board-3430sdp.c
> +++ b/arch/arm/mach-omap2/board-3430sdp.c
> @@ -223,7 +223,7 @@ static struct omap_tw4030_pdata omap_twl4030_audio_data = {
> .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
> };
>
> -static int sdp3430_twl_gpio_setup(struct device *dev,
> +static int __init sdp3430_twl_gpio_setup(struct device *dev,
> unsigned gpio, unsigned ngpio)
> {
> /* gpio + 0 is "mmc0_cd" (input/IRQ),
> @@ -245,7 +245,7 @@ static int sdp3430_twl_gpio_setup(struct device *dev,
> return 0;
> }
>
> -static struct twl4030_gpio_platform_data sdp3430_gpio_data = {
> +static struct twl4030_gpio_platform_data __initdata sdp3430_gpio_data = {
> .pulldowns = BIT(2) | BIT(6) | BIT(8) | BIT(13)
> | BIT(16) | BIT(17),
> .setup = sdp3430_twl_gpio_setup,
> @@ -374,7 +374,7 @@ static struct regulator_init_data sdp3430_vsim = {
> .consumer_supplies = sdp3430_vsim_supplies,
> };
>
> -static struct twl4030_platform_data sdp3430_twldata = {
> +static struct twl4030_platform_data __initdata sdp3430_twldata = {
> /* platform_data for children goes here */
> .gpio = &sdp3430_gpio_data,
> .keypad = &sdp3430_kp_data,
> --- a/arch/arm/mach-omap2/board-zoom-peripherals.c
> +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
> @@ -238,7 +238,7 @@ static struct omap_tw4030_pdata omap_twl4030_audio_data = {
> .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
> };
>
> -static int zoom_twl_gpio_setup(struct device *dev,
> +static int __init zoom_twl_gpio_setup(struct device *dev,
> unsigned gpio, unsigned ngpio)
> {
> /* gpio + 0 is "mmc0_cd" (input/IRQ) */
> @@ -252,11 +252,11 @@ static int zoom_twl_gpio_setup(struct device *dev,
> return 0;
> }
>
> -static struct twl4030_gpio_platform_data zoom_gpio_data = {
> +static struct twl4030_gpio_platform_data __initdata zoom_gpio_data = {
> .setup = zoom_twl_gpio_setup,
> };
>
> -static struct twl4030_platform_data zoom_twldata = {
> +static struct twl4030_platform_data __initdata zoom_twldata = {
> /* platform_data for children goes here */
> .gpio = &zoom_gpio_data,
> .keypad = &zoom_kp_twl4030_data,
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: peter.ujfalusi@ti.com (Peter Ujfalusi)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] ARM: OMAP: Audio support via omap-twl4030 and pwm support
Date: Tue, 5 Feb 2013 10:46:21 +0100 [thread overview]
Message-ID: <5110D4ED.6030306@ti.com> (raw)
In-Reply-To: <20130204195251.GS22517@atomide.com>
Hi Tony,
On 02/04/2013 08:52 PM, Tony Lindgren wrote:
> Looks like this now adds some new section warnings:
>
> WARNING: vmlinux.o(.text+0x34124): Section mismatch in reference from the function sdp3430_twl_gpio_setup() to the function .init.text:omap_twl4030_audio_init()
> The function sdp3430_twl_gpio_setup() references
> the function __init omap_twl4030_audio_init().
> This is often because sdp3430_twl_gpio_setup lacks a __init
> annotation or the annotation of omap_twl4030_audio_init is wrong.
>
> WARNING: vmlinux.o(.text+0x34b8c): Section mismatch in reference from the function zoom_twl_gpio_setup() to the function .init.text:omap_twl4030_audio_init()
> The function zoom_twl_gpio_setup() references
> the function __init omap_twl4030_audio_init().
> This is often because zoom_twl_gpio_setup lacks a __init
> annotation or the annotation of omap_twl4030_audio_init is wrong.
For some reason the CONFIG_DEBUG_SECTION_MISMATCH got disabled in my rolling
kernel config...
> These can be fixed with the following patch, but I suspect some
> of these cannot be __init/__initdata if the driver reprobes.
>
> Can you please check this? I'll hold on sendinf off
> this branch until it's been checked and fixed properly.
I think this is not the correct way. the *_twl_gpio_setup() is called from the
gpio-twl4030 driver's platform_driver probe function which if I'm not mistaken
is not __init.
I think we should remove the __init from the omap_twl4030_audio_init() in
twl-common.c
With this change I do not have section mismatch either.
--
P?ter
>
> Regards,
>
> Tony
>
>
> --- a/arch/arm/mach-omap2/board-3430sdp.c
> +++ b/arch/arm/mach-omap2/board-3430sdp.c
> @@ -223,7 +223,7 @@ static struct omap_tw4030_pdata omap_twl4030_audio_data = {
> .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
> };
>
> -static int sdp3430_twl_gpio_setup(struct device *dev,
> +static int __init sdp3430_twl_gpio_setup(struct device *dev,
> unsigned gpio, unsigned ngpio)
> {
> /* gpio + 0 is "mmc0_cd" (input/IRQ),
> @@ -245,7 +245,7 @@ static int sdp3430_twl_gpio_setup(struct device *dev,
> return 0;
> }
>
> -static struct twl4030_gpio_platform_data sdp3430_gpio_data = {
> +static struct twl4030_gpio_platform_data __initdata sdp3430_gpio_data = {
> .pulldowns = BIT(2) | BIT(6) | BIT(8) | BIT(13)
> | BIT(16) | BIT(17),
> .setup = sdp3430_twl_gpio_setup,
> @@ -374,7 +374,7 @@ static struct regulator_init_data sdp3430_vsim = {
> .consumer_supplies = sdp3430_vsim_supplies,
> };
>
> -static struct twl4030_platform_data sdp3430_twldata = {
> +static struct twl4030_platform_data __initdata sdp3430_twldata = {
> /* platform_data for children goes here */
> .gpio = &sdp3430_gpio_data,
> .keypad = &sdp3430_kp_data,
> --- a/arch/arm/mach-omap2/board-zoom-peripherals.c
> +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
> @@ -238,7 +238,7 @@ static struct omap_tw4030_pdata omap_twl4030_audio_data = {
> .has_linein = OMAP_TWL4030_LEFT | OMAP_TWL4030_RIGHT,
> };
>
> -static int zoom_twl_gpio_setup(struct device *dev,
> +static int __init zoom_twl_gpio_setup(struct device *dev,
> unsigned gpio, unsigned ngpio)
> {
> /* gpio + 0 is "mmc0_cd" (input/IRQ) */
> @@ -252,11 +252,11 @@ static int zoom_twl_gpio_setup(struct device *dev,
> return 0;
> }
>
> -static struct twl4030_gpio_platform_data zoom_gpio_data = {
> +static struct twl4030_gpio_platform_data __initdata zoom_gpio_data = {
> .setup = zoom_twl_gpio_setup,
> };
>
> -static struct twl4030_platform_data zoom_twldata = {
> +static struct twl4030_platform_data __initdata zoom_twldata = {
> /* platform_data for children goes here */
> .gpio = &zoom_gpio_data,
> .keypad = &zoom_kp_twl4030_data,
>
next prev parent reply other threads:[~2013-02-05 9:46 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-22 10:07 [GIT PULL] ARM: OMAP: Audio support via omap-twl4030 and pwm support Peter Ujfalusi
2013-01-22 10:07 ` Peter Ujfalusi
2013-01-29 8:30 ` Peter Ujfalusi
2013-01-29 8:30 ` Peter Ujfalusi
2013-01-30 22:05 ` Tony Lindgren
2013-01-30 22:05 ` Tony Lindgren
2013-02-04 19:52 ` Tony Lindgren
2013-02-04 19:52 ` Tony Lindgren
2013-02-05 9:46 ` Peter Ujfalusi [this message]
2013-02-05 9:46 ` Peter Ujfalusi
2013-02-05 18:40 ` Tony Lindgren
2013-02-05 18:40 ` Tony Lindgren
2013-02-06 7:21 ` Peter Ujfalusi
2013-02-06 7:21 ` Peter Ujfalusi
2013-02-06 16:56 ` Tony Lindgren
2013-02-06 16:56 ` Tony Lindgren
2013-02-05 12:30 ` Russell King - ARM Linux
2013-02-05 12:30 ` Russell King - ARM Linux
2013-02-05 18:44 ` Tony Lindgren
2013-02-05 18:44 ` 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=5110D4ED.6030306@ti.com \
--to=peter.ujfalusi@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.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.