* [PATCH] of/pdt: fix section mismatch warning @ 2011-12-27 22:04 Sam Ravnborg [not found] ` <20111227220408.GA18932-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Sam Ravnborg @ 2011-12-27 22:04 UTC (permalink / raw) To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ; +Cc: David S. Miller >From faff5f5b55c50e8ea06b62bd6b97f30d38a2da3a Mon Sep 17 00:00:00 2001 From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Date: Tue, 27 Dec 2011 22:58:40 +0100 Subject: [PATCH] of/pdt: fix section mismatch warning Fix the following section mismatch warning - seen when building sparc32: WARNING: vmlinux.o(.text+0x1ff9c0): Section mismatch in reference from the function kernel_tree_alloc() to the function .init.text:prom_early_alloc() The function kernel_tree_alloc() references the function __init prom_early_alloc(). This is often because kernel_tree_alloc lacks a __init annotation or the annotation of prom_early_alloc is wrong. prom_early_alloc() is annotated __init, and users of kernel_tree_alloc() is also annotated __init. So simply match the annoation of these to fix the warning. Signed-off-by: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> Cc: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> --- drivers/of/pdt.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/of/pdt.c b/drivers/of/pdt.c index bc5b399..07cc1d6 100644 --- a/drivers/of/pdt.c +++ b/drivers/of/pdt.c @@ -229,7 +229,7 @@ static struct device_node * __init of_pdt_build_tree(struct device_node *parent, return ret; } -static void *kernel_tree_alloc(u64 size, u64 align) +static void * __init kernel_tree_alloc(u64 size, u64 align) { return prom_early_alloc(size); } -- 1.6.0.6 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <20111227220408.GA18932-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org>]
* Re: [PATCH] of/pdt: fix section mismatch warning [not found] ` <20111227220408.GA18932-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org> @ 2011-12-27 22:13 ` David Miller [not found] ` <20111227.171307.1727824866350984198.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: David Miller @ 2011-12-27 22:13 UTC (permalink / raw) To: sam-uyr5N9Q2VtJg9hUCZPvPmw; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Date: Tue, 27 Dec 2011 23:04:08 +0100 > prom_early_alloc() is annotated __init, and users of > kernel_tree_alloc() is also annotated __init. > So simply match the annoation of these to fix the warning. Not exactly. drivers/of/fdt.c:of_fdt_unflatten_tree() is not marked __init but does pass kernel_tree_alloc in as a callback to __unflatten_device_tree() So I don't think we can't just mark kernel_tree_alloc as __init to fix this problem. of_fdt_unflatten_tree() seems to be invokable at arbitrary points in time, even long after we boot up, so I think we'll end up having to unravel things to other way, removing the __init tag from the various implementations of prom_early_alloc(). ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <20111227.171307.1727824866350984198.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>]
* Re: [PATCH] of/pdt: fix section mismatch warning [not found] ` <20111227.171307.1727824866350984198.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> @ 2011-12-27 22:26 ` Sam Ravnborg [not found] ` <20111227222658.GA19202-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Sam Ravnborg @ 2011-12-27 22:26 UTC (permalink / raw) To: David Miller; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ On Tue, Dec 27, 2011 at 05:13:07PM -0500, David Miller wrote: > From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> > Date: Tue, 27 Dec 2011 23:04:08 +0100 > > > prom_early_alloc() is annotated __init, and users of > > kernel_tree_alloc() is also annotated __init. > > So simply match the annoation of these to fix the warning. > > Not exactly. > > drivers/of/fdt.c:of_fdt_unflatten_tree() is not marked __init but does > pass kernel_tree_alloc in as a callback to __unflatten_device_tree() We have two implementations of kernel_tree_alloc() - one in fdt.c and another in pdt.c. $ grep kernel_tree_alloc * fdt.c:static void *kernel_tree_alloc(u64 size, u64 align) fdt.c: __unflatten_device_tree(device_tree, mynodes, &kernel_tree_alloc); pdt.c:static void * __init kernel_tree_alloc(u64 size, u64 align) pdt.c: of_alias_scan(kernel_tree_alloc); The version in fdt.c is using kzalloc() whereas the version in pdt.c uses prom_early_alloc(). And of_fdt_unflatten_tree() uses the version in fdt.c - so the patch is OK. It is confusing that they have the same name - but I did nto fix that. And I forgot about this detail when I wrote the changelog. [The christmas vacation effect it seems] Sam ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <20111227222658.GA19202-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org>]
* Re: [PATCH] of/pdt: fix section mismatch warning [not found] ` <20111227222658.GA19202-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org> @ 2011-12-27 22:29 ` David Miller [not found] ` <20111227.172921.750063350996279524.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: David Miller @ 2011-12-27 22:29 UTC (permalink / raw) To: sam-uyr5N9Q2VtJg9hUCZPvPmw; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Date: Tue, 27 Dec 2011 23:26:58 +0100 > We have two implementations of kernel_tree_alloc() - one in fdt.c and > another in pdt.c. > > $ grep kernel_tree_alloc * > fdt.c:static void *kernel_tree_alloc(u64 size, u64 align) > fdt.c: __unflatten_device_tree(device_tree, mynodes, &kernel_tree_alloc); > pdt.c:static void * __init kernel_tree_alloc(u64 size, u64 align) > pdt.c: of_alias_scan(kernel_tree_alloc); > > The version in fdt.c is using kzalloc() whereas the version in pdt.c > uses prom_early_alloc(). > > And of_fdt_unflatten_tree() uses the version in fdt.c - so the patch is OK. > > It is confusing that they have the same name - but I did nto fix that. > And I forgot about this detail when I wrote the changelog. Ok, I hadn't realized this, thanks for explaining. I think Grant should apply your patch then: Acked-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <20111227.172921.750063350996279524.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>]
* Re: [PATCH] of/pdt: fix section mismatch warning [not found] ` <20111227.172921.750063350996279524.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> @ 2011-12-27 22:54 ` Rob Herring [not found] ` <4EFA4C8F.5080901-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Rob Herring @ 2011-12-27 22:54 UTC (permalink / raw) To: David Miller, sam-uyr5N9Q2VtJg9hUCZPvPmw Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ On 12/27/2011 04:29 PM, David Miller wrote: > From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> > Date: Tue, 27 Dec 2011 23:26:58 +0100 > >> We have two implementations of kernel_tree_alloc() - one in fdt.c and >> another in pdt.c. >> >> $ grep kernel_tree_alloc * >> fdt.c:static void *kernel_tree_alloc(u64 size, u64 align) >> fdt.c: __unflatten_device_tree(device_tree, mynodes, &kernel_tree_alloc); >> pdt.c:static void * __init kernel_tree_alloc(u64 size, u64 align) >> pdt.c: of_alias_scan(kernel_tree_alloc); >> >> The version in fdt.c is using kzalloc() whereas the version in pdt.c >> uses prom_early_alloc(). >> >> And of_fdt_unflatten_tree() uses the version in fdt.c - so the patch is OK. >> >> It is confusing that they have the same name - but I did nto fix that. >> And I forgot about this detail when I wrote the changelog. > > Ok, I hadn't realized this, thanks for explaining. > > I think Grant should apply your patch then: > > Acked-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> > _______________________________________________ I've applied it for 3.3 unless you think it needs to go into 3.2. Rob ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <4EFA4C8F.5080901-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH] of/pdt: fix section mismatch warning [not found] ` <4EFA4C8F.5080901-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2011-12-27 23:03 ` David Miller 2011-12-27 23:07 ` Sam Ravnborg 1 sibling, 0 replies; 7+ messages in thread From: David Miller @ 2011-12-27 23:03 UTC (permalink / raw) To: robherring2-Re5JQEeQqe8AvxtiuMwx3w Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, sam-uyr5N9Q2VtJg9hUCZPvPmw From: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Date: Tue, 27 Dec 2011 16:54:07 -0600 > On 12/27/2011 04:29 PM, David Miller wrote: >> From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> >> Date: Tue, 27 Dec 2011 23:26:58 +0100 >> >>> We have two implementations of kernel_tree_alloc() - one in fdt.c and >>> another in pdt.c. >>> >>> $ grep kernel_tree_alloc * >>> fdt.c:static void *kernel_tree_alloc(u64 size, u64 align) >>> fdt.c: __unflatten_device_tree(device_tree, mynodes, &kernel_tree_alloc); >>> pdt.c:static void * __init kernel_tree_alloc(u64 size, u64 align) >>> pdt.c: of_alias_scan(kernel_tree_alloc); >>> >>> The version in fdt.c is using kzalloc() whereas the version in pdt.c >>> uses prom_early_alloc(). >>> >>> And of_fdt_unflatten_tree() uses the version in fdt.c - so the patch is OK. >>> >>> It is confusing that they have the same name - but I did nto fix that. >>> And I forgot about this detail when I wrote the changelog. >> >> Ok, I hadn't realized this, thanks for explaining. >> >> I think Grant should apply your patch then: >> >> Acked-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> >> _______________________________________________ > > I've applied it for 3.3 unless you think it needs to go into 3.2. It's not so critical for 3.2, thus targetting 3.3 is fine. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] of/pdt: fix section mismatch warning [not found] ` <4EFA4C8F.5080901-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2011-12-27 23:03 ` David Miller @ 2011-12-27 23:07 ` Sam Ravnborg 1 sibling, 0 replies; 7+ messages in thread From: Sam Ravnborg @ 2011-12-27 23:07 UTC (permalink / raw) To: Rob Herring; +Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, David Miller On Tue, Dec 27, 2011 at 04:54:07PM -0600, Rob Herring wrote: > On 12/27/2011 04:29 PM, David Miller wrote: > > From: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> > > Date: Tue, 27 Dec 2011 23:26:58 +0100 > > > >> We have two implementations of kernel_tree_alloc() - one in fdt.c and > >> another in pdt.c. > >> > >> $ grep kernel_tree_alloc * > >> fdt.c:static void *kernel_tree_alloc(u64 size, u64 align) > >> fdt.c: __unflatten_device_tree(device_tree, mynodes, &kernel_tree_alloc); > >> pdt.c:static void * __init kernel_tree_alloc(u64 size, u64 align) > >> pdt.c: of_alias_scan(kernel_tree_alloc); > >> > >> The version in fdt.c is using kzalloc() whereas the version in pdt.c > >> uses prom_early_alloc(). > >> > >> And of_fdt_unflatten_tree() uses the version in fdt.c - so the patch is OK. > >> > >> It is confusing that they have the same name - but I did nto fix that. > >> And I forgot about this detail when I wrote the changelog. > > > > Ok, I hadn't realized this, thanks for explaining. > > > > I think Grant should apply your patch then: > > > > Acked-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> > > _______________________________________________ > > I've applied it for 3.3 unless you think it needs to go into 3.2. It is only silencing a warning so 3.3 is the right choice. Sam ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-12-27 23:07 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-12-27 22:04 [PATCH] of/pdt: fix section mismatch warning Sam Ravnborg [not found] ` <20111227220408.GA18932-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org> 2011-12-27 22:13 ` David Miller [not found] ` <20111227.171307.1727824866350984198.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 2011-12-27 22:26 ` Sam Ravnborg [not found] ` <20111227222658.GA19202-OoSGOWW0KRunlFQ6Q1D1Y0B+6BGkLq7r@public.gmane.org> 2011-12-27 22:29 ` David Miller [not found] ` <20111227.172921.750063350996279524.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 2011-12-27 22:54 ` Rob Herring [not found] ` <4EFA4C8F.5080901-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2011-12-27 23:03 ` David Miller 2011-12-27 23:07 ` Sam Ravnborg
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).