* emac/zmii link warnings
@ 2008-01-15 4:15 Sean MacLennan
2008-01-15 4:27 ` Stephen Rothwell
0 siblings, 1 reply; 7+ messages in thread
From: Sean MacLennan @ 2008-01-15 4:15 UTC (permalink / raw)
To: linuxppc-dev
I keep getting these link(?) warnings:
WARNING: vmlinux.o(.data+0x16178): Section mismatch: reference to .init.text:emac_of_bus_notify (between 'emac_of_bus_notifier' and 'emac_phy_map_lock')
WARNING: vmlinux.o(.init.text+0x16ba8): Section mismatch: reference to .exit.text:zmii_detach (between 'emac_probe' and 'zmii_probe')
WARNING: vmlinux.o(.init.text+0x16bb4): Section mismatch: reference to .exit.text:mal_unregister_commac (between 'emac_probe' and 'zmii_probe')
Any hints as to what might be wrong? Or are they "normal".
Cheers,
Sean
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: emac/zmii link warnings
2008-01-15 4:15 emac/zmii link warnings Sean MacLennan
@ 2008-01-15 4:27 ` Stephen Rothwell
2008-01-15 4:45 ` Sean MacLennan
2008-01-15 5:45 ` Sean MacLennan
0 siblings, 2 replies; 7+ messages in thread
From: Stephen Rothwell @ 2008-01-15 4:27 UTC (permalink / raw)
To: Sean MacLennan; +Cc: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 970 bytes --]
On Mon, 14 Jan 2008 23:15:41 -0500 Sean MacLennan <smaclennan@pikatech.com> wrote:
>
> I keep getting these link(?) warnings:
>
> WARNING: vmlinux.o(.data+0x16178): Section mismatch: reference to .init.text:emac_of_bus_notify (between 'emac_of_bus_notifier' and 'emac_phy_map_lock')
emac_of_bus_notify is marked __devinit and is referred to by
emac_of_bus_notifier (which is not marked thus) (in
drivers/net/ibm_newemac/core.c).
> WARNING: vmlinux.o(.init.text+0x16ba8): Section mismatch: reference to .exit.text:zmii_detach (between 'emac_probe' and 'zmii_probe')
> WARNING: vmlinux.o(.init.text+0x16bb4): Section mismatch: reference to .exit.text:mal_unregister_commac (between 'emac_probe' and 'zmii_probe')
These will be similar but function calls.
> Any hints as to what might be wrong? Or are they "normal".
They need to be fixed.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: emac/zmii link warnings
2008-01-15 4:27 ` Stephen Rothwell
@ 2008-01-15 4:45 ` Sean MacLennan
2008-01-15 5:26 ` Stephen Rothwell
2008-01-15 5:45 ` Sean MacLennan
1 sibling, 1 reply; 7+ messages in thread
From: Sean MacLennan @ 2008-01-15 4:45 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev
Stephen Rothwell wrote:
> On Mon, 14 Jan 2008 23:15:41 -0500 Sean MacLennan <smaclennan@pikatech.com> wrote:
>
>> I keep getting these link(?) warnings:
>>
>> WARNING: vmlinux.o(.data+0x16178): Section mismatch: reference to .init.text:emac_of_bus_notify (between 'emac_of_bus_notifier' and 'emac_phy_map_lock')
>>
>
> emac_of_bus_notify is marked __devinit and is referred to by
> emac_of_bus_notifier (which is not marked thus) (in
> drivers/net/ibm_newemac/core.c).
>
Adding the __devinit to emacs_of_bus_notifier causes a problem with
emac_phy_map_lock (a mutex). But removing the __devinit from
emac_of_bus_notify cleans up that warning. Is the __devinit really
necessary?
Cheers,
Sean
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: emac/zmii link warnings
2008-01-15 4:45 ` Sean MacLennan
@ 2008-01-15 5:26 ` Stephen Rothwell
0 siblings, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2008-01-15 5:26 UTC (permalink / raw)
To: Sean MacLennan; +Cc: linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 1143 bytes --]
On Mon, 14 Jan 2008 23:45:17 -0500 Sean MacLennan <smaclennan@pikatech.com> wrote:
>
> Stephen Rothwell wrote:
> > On Mon, 14 Jan 2008 23:15:41 -0500 Sean MacLennan <smaclennan@pikatech.com> wrote:
> >
> >> I keep getting these link(?) warnings:
> >>
> >> WARNING: vmlinux.o(.data+0x16178): Section mismatch: reference to .init.text:emac_of_bus_notify (between 'emac_of_bus_notifier' and 'emac_phy_map_lock')
>
> > emac_of_bus_notify is marked __devinit and is referred to by
> > emac_of_bus_notifier (which is not marked thus) (in
> > drivers/net/ibm_newemac/core.c).
>
> Adding the __devinit to emacs_of_bus_notifier causes a problem with
> emac_phy_map_lock (a mutex). But removing the __devinit from
> emac_of_bus_notify cleans up that warning. Is the __devinit really
> necessary?
What problem do you get. The correct fix is to mark emac_of_bus_notifier
as __devinitdata. The __devinit marking of emac_of_bus_notify is not
strictly necessary, but some people care about the size of their kernels.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: emac/zmii link warnings
2008-01-15 4:27 ` Stephen Rothwell
2008-01-15 4:45 ` Sean MacLennan
@ 2008-01-15 5:45 ` Sean MacLennan
2008-02-07 5:08 ` [PATCH] " Sean MacLennan
1 sibling, 1 reply; 7+ messages in thread
From: Sean MacLennan @ 2008-01-15 5:45 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev
Stephen Rothwell wrote:
> On Mon, 14 Jan 2008 23:15:41 -0500 Sean MacLennan <smaclennan@pikatech.com> wrote:
>
>> I keep getting these link(?) warnings:
>>
>> WARNING: vmlinux.o(.data+0x16178): Section mismatch: reference to .init.text:emac_of_bus_notify (between 'emac_of_bus_notifier' and 'emac_phy_map_lock')
>>
>
> emac_of_bus_notify is marked __devinit and is referred to by
> emac_of_bus_notifier (which is not marked thus) (in
> drivers/net/ibm_newemac/core.c).
>
>
The __devinitdata solves this.
>> WARNING: vmlinux.o(.init.text+0x16ba8): Section mismatch: reference to .exit.text:zmii_detach (between 'emac_probe' and 'zmii_probe')
>> WARNING: vmlinux.o(.init.text+0x16bb4): Section mismatch: reference to .exit.text:mal_unregister_commac (between 'emac_probe' and 'zmii_probe')
>>
>
> These will be similar but function calls.
>
>
The problem here is that emac_probe calls zmii_detach. emacs_probe is a
__devinit and zmii_detach is a __devexit. At least I assume that is the
problem.
I am a long time emacs (actually xemacs) user. If I had a nickel for
every time I typed emacs rather than emac, I would be a very rich man.
Cheers,
Sean
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] emac/zmii link warnings
2008-01-15 5:45 ` Sean MacLennan
@ 2008-02-07 5:08 ` Sean MacLennan
2008-02-14 15:30 ` Josh Boyer
0 siblings, 1 reply; 7+ messages in thread
From: Sean MacLennan @ 2008-02-07 5:08 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Stephen Rothwell
Ok, here is my best shot at removing the warnings. It seems to me that
functions called from a dev_init section should not be dev_exit.
Cheers,
Sean
Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
---
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index e6c69f7..21fe06f 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -2230,7 +2230,7 @@ static int __devinit emac_of_bus_notify(struct notifier_block *nb,
return 0;
}
-static struct notifier_block emac_of_bus_notifier = {
+static struct notifier_block __devinitdata emac_of_bus_notifier = {
.notifier_call = emac_of_bus_notify
};
diff --git a/drivers/net/ibm_newemac/mal.c b/drivers/net/ibm_newemac/mal.c
index 6869f08..0ba0a68 100644
--- a/drivers/net/ibm_newemac/mal.c
+++ b/drivers/net/ibm_newemac/mal.c
@@ -61,8 +61,9 @@ int __devinit mal_register_commac(struct mal_instance *mal,
return 0;
}
-void __devexit mal_unregister_commac(struct mal_instance *mal,
- struct mal_commac *commac)
+/* This cannot be a __devexit since it is called from __devinit functions. */
+void mal_unregister_commac(struct mal_instance *mal,
+ struct mal_commac *commac)
{
unsigned long flags;
diff --git a/drivers/net/ibm_newemac/zmii.c b/drivers/net/ibm_newemac/zmii.c
index 2ea472a..5e6231b 100644
--- a/drivers/net/ibm_newemac/zmii.c
+++ b/drivers/net/ibm_newemac/zmii.c
@@ -189,7 +189,8 @@ void zmii_set_speed(struct of_device *ofdev, int input, int speed)
mutex_unlock(&dev->lock);
}
-void __devexit zmii_detach(struct of_device *ofdev, int input)
+/* This cannot be a __devexit since it is called from __devinit functions. */
+void zmii_detach(struct of_device *ofdev, int input)
{
struct zmii_instance *dev = dev_get_drvdata(&ofdev->dev);
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] emac/zmii link warnings
2008-02-07 5:08 ` [PATCH] " Sean MacLennan
@ 2008-02-14 15:30 ` Josh Boyer
0 siblings, 0 replies; 7+ messages in thread
From: Josh Boyer @ 2008-02-14 15:30 UTC (permalink / raw)
To: Sean MacLennan; +Cc: linuxppc-dev, Stephen Rothwell
On Thu, 07 Feb 2008 00:08:33 -0500
Sean MacLennan <smaclennan@pikatech.com> wrote:
> Ok, here is my best shot at removing the warnings. It seems to me that
> functions called from a dev_init section should not be dev_exit.
This seems to fix those specific warnings, but there are others lurking
in some of the other files (rgmii, tah, etc). We should probably get
those fixed up too.
josh
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-02-14 15:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-15 4:15 emac/zmii link warnings Sean MacLennan
2008-01-15 4:27 ` Stephen Rothwell
2008-01-15 4:45 ` Sean MacLennan
2008-01-15 5:26 ` Stephen Rothwell
2008-01-15 5:45 ` Sean MacLennan
2008-02-07 5:08 ` [PATCH] " Sean MacLennan
2008-02-14 15:30 ` Josh Boyer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).