* [PATCH] UBI: rename free variable
@ 2015-10-09 3:29 Heiko Schocher
2015-10-09 4:13 ` Al Viro
0 siblings, 1 reply; 5+ messages in thread
From: Heiko Schocher @ 2015-10-09 3:29 UTC (permalink / raw)
To: linux-kernel
Cc: Heiko Schocher, Brian Norris, Richard Weinberger, linux-mtd,
David Woodhouse, Artem Bityutskiy
rename free variable into not "free", as "free" prevents
ubi sources compiling under U-Boot. So rename "free"
into "pfree" where it is a pointer, and into "freel",
where it is a free list.
Signed-off-by: Heiko Schocher <hs@denx.de>
---
drivers/mtd/ubi/fastmap.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index 4aa2fd8..80ac265 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -451,7 +451,7 @@ static void unmap_peb(struct ubi_attach_info *ai, int pnum)
*/
static int scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai,
int *pebs, int pool_size, unsigned long long *max_sqnum,
- struct list_head *free)
+ struct list_head *pfree)
{
struct ubi_vid_hdr *vh;
struct ubi_ec_hdr *ech;
@@ -514,9 +514,9 @@ static int scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai,
unmap_peb(ai, pnum);
dbg_bld("Adding PEB to free: %i", pnum);
if (err == UBI_IO_FF_BITFLIPS)
- add_aeb(ai, free, pnum, ec, 1);
+ add_aeb(ai, pfree, pnum, ec, 1);
else
- add_aeb(ai, free, pnum, ec, 0);
+ add_aeb(ai, pfree, pnum, ec, 0);
continue;
} else if (err == 0 || err == UBI_IO_BITFLIPS) {
dbg_bld("Found non empty PEB:%i in pool", pnum);
@@ -598,7 +598,7 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
struct ubi_attach_info *ai,
struct ubi_fastmap_layout *fm)
{
- struct list_head used, free;
+ struct list_head used, freel;
struct ubi_ainf_volume *av;
struct ubi_ainf_peb *aeb, *tmp_aeb, *_tmp_aeb;
struct ubi_fm_sb *fmsb;
@@ -613,7 +613,7 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
void *fm_raw = ubi->fm_buf;
INIT_LIST_HEAD(&used);
- INIT_LIST_HEAD(&free);
+ INIT_LIST_HEAD(&freel);
ai->min_ec = UBI_MAX_ERASECOUNTER;
fmsb = (struct ubi_fm_sb *)(fm_raw);
@@ -803,24 +803,25 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
}
}
- ret = scan_pool(ubi, ai, fmpl->pebs, pool_size, &max_sqnum, &free);
+ ret = scan_pool(ubi, ai, fmpl->pebs, pool_size, &max_sqnum, &freel);
if (ret)
goto fail;
- ret = scan_pool(ubi, ai, fmpl_wl->pebs, wl_pool_size, &max_sqnum, &free);
+ ret = scan_pool(ubi, ai, fmpl_wl->pebs, wl_pool_size, &max_sqnum,
+ &freel);
if (ret)
goto fail;
if (max_sqnum > ai->max_sqnum)
ai->max_sqnum = max_sqnum;
- list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &free, u.list)
+ list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &freel, u.list)
list_move_tail(&tmp_aeb->u.list, &ai->free);
list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &used, u.list)
list_move_tail(&tmp_aeb->u.list, &ai->erase);
- ubi_assert(list_empty(&free));
+ ubi_assert(list_empty(&freel));
/*
* If fastmap is leaking PEBs (must not happen), raise a
@@ -841,7 +842,7 @@ fail:
list_del(&tmp_aeb->u.list);
kmem_cache_free(ai->aeb_slab_cache, tmp_aeb);
}
- list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &free, u.list) {
+ list_for_each_entry_safe(tmp_aeb, _tmp_aeb, &freel, u.list) {
list_del(&tmp_aeb->u.list);
kmem_cache_free(ai->aeb_slab_cache, tmp_aeb);
}
--
2.1.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] UBI: rename free variable
2015-10-09 3:29 [PATCH] UBI: rename free variable Heiko Schocher
@ 2015-10-09 4:13 ` Al Viro
2015-10-09 4:39 ` Heiko Schocher
0 siblings, 1 reply; 5+ messages in thread
From: Al Viro @ 2015-10-09 4:13 UTC (permalink / raw)
To: Heiko Schocher
Cc: linux-kernel, Brian Norris, Richard Weinberger, linux-mtd,
David Woodhouse, Artem Bityutskiy
On Fri, Oct 09, 2015 at 05:29:21AM +0200, Heiko Schocher wrote:
> rename free variable into not "free", as "free" prevents
> ubi sources compiling under U-Boot. So rename "free"
> into "pfree" where it is a pointer, and into "freel",
> where it is a free list.
Huh? If U-Boot has free defined as an object-like macro, it's an outright bug
in U-Boot and it should be fixed there. If it's something else, it looks like
a toolchain bug. Details, please...
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] UBI: rename free variable
2015-10-09 4:13 ` Al Viro
@ 2015-10-09 4:39 ` Heiko Schocher
2015-10-09 5:39 ` Al Viro
0 siblings, 1 reply; 5+ messages in thread
From: Heiko Schocher @ 2015-10-09 4:39 UTC (permalink / raw)
To: Al Viro
Cc: linux-kernel, Brian Norris, Richard Weinberger, linux-mtd,
David Woodhouse, Artem Bityutskiy
Hello Al,
Am 09.10.2015 um 06:13 schrieb Al Viro:
> On Fri, Oct 09, 2015 at 05:29:21AM +0200, Heiko Schocher wrote:
>> rename free variable into not "free", as "free" prevents
>> ubi sources compiling under U-Boot. So rename "free"
>> into "pfree" where it is a pointer, and into "freel",
>> where it is a free list.
>
> Huh? If U-Boot has free defined as an object-like macro, it's an outright bug
> in U-Boot and it should be fixed there. If it's something else, it looks like
> a toolchain bug. Details, please...
Sorry, I should have added this info immediately into the patch ...
We have in U-Boot a compat.h file, in which we collect all things
we need to make linux code running under U-Boot, and there we map
kfree() to free(), see:
http://git.denx.de/?p=u-boot.git;a=blob;f=include/linux/compat.h;h=fbebf910addd994d265d21c4fbaa0a2f48f4ccb1;hb=996ec1dcc58a34b53891acde0ec5df9141b5fcc2#l58
So, if we use a var name "free", this will conflict ... and I get
for example when compiling the UBI code:
CC drivers/mtd/ubi/fastmap.o
drivers/mtd/ubi/fastmap.c: In function 'scan_pool':
drivers/mtd/ubi/fastmap.c:475:3: error: called object 'free' is not a function
So with this patch, we have less differences to kernel files ...
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] UBI: rename free variable
2015-10-09 4:39 ` Heiko Schocher
@ 2015-10-09 5:39 ` Al Viro
2015-10-09 6:29 ` Heiko Schocher
0 siblings, 1 reply; 5+ messages in thread
From: Al Viro @ 2015-10-09 5:39 UTC (permalink / raw)
To: Heiko Schocher
Cc: linux-kernel, Brian Norris, Richard Weinberger, linux-mtd,
David Woodhouse, Artem Bityutskiy
On Fri, Oct 09, 2015 at 06:39:52AM +0200, Heiko Schocher wrote:
> Hello Al,
> Sorry, I should have added this info immediately into the patch ...
>
> We have in U-Boot a compat.h file, in which we collect all things
> we need to make linux code running under U-Boot, and there we map
> kfree() to free(), see:
>
> http://git.denx.de/?p=u-boot.git;a=blob;f=include/linux/compat.h;h=fbebf910addd994d265d21c4fbaa0a2f48f4ccb1;hb=996ec1dcc58a34b53891acde0ec5df9141b5fcc2#l58
>
> So, if we use a var name "free", this will conflict ... and I get
> for example when compiling the UBI code:
>
> CC drivers/mtd/ubi/fastmap.o
> drivers/mtd/ubi/fastmap.c: In function 'scan_pool':
> drivers/mtd/ubi/fastmap.c:475:3: error: called object 'free' is not a function
>
> So with this patch, we have less differences to kernel files ...
Umm... wouldn't it be easier to replace that mix of #define and static inline
with uniform use of static inline, rather than playing whack-a-mole like
that?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] UBI: rename free variable
2015-10-09 5:39 ` Al Viro
@ 2015-10-09 6:29 ` Heiko Schocher
0 siblings, 0 replies; 5+ messages in thread
From: Heiko Schocher @ 2015-10-09 6:29 UTC (permalink / raw)
To: Al Viro
Cc: linux-kernel, Brian Norris, Richard Weinberger, linux-mtd,
David Woodhouse, Artem Bityutskiy
Hello Al,
Am 09.10.2015 um 07:39 schrieb Al Viro:
> On Fri, Oct 09, 2015 at 06:39:52AM +0200, Heiko Schocher wrote:
>> Hello Al,
>> Sorry, I should have added this info immediately into the patch ...
>>
>> We have in U-Boot a compat.h file, in which we collect all things
>> we need to make linux code running under U-Boot, and there we map
>> kfree() to free(), see:
>>
>> http://git.denx.de/?p=u-boot.git;a=blob;f=include/linux/compat.h;h=fbebf910addd994d265d21c4fbaa0a2f48f4ccb1;hb=996ec1dcc58a34b53891acde0ec5df9141b5fcc2#l58
>>
>> So, if we use a var name "free", this will conflict ... and I get
>> for example when compiling the UBI code:
>>
>> CC drivers/mtd/ubi/fastmap.o
>> drivers/mtd/ubi/fastmap.c: In function 'scan_pool':
>> drivers/mtd/ubi/fastmap.c:475:3: error: called object 'free' is not a function
>>
>> So with this patch, we have less differences to kernel files ...
>
> Umm... wouldn't it be easier to replace that mix of #define and static inline
> with uniform use of static inline, rather than playing whack-a-mole like
> that?
Yes, fully correct, thanks for helping.
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-09 6:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-09 3:29 [PATCH] UBI: rename free variable Heiko Schocher
2015-10-09 4:13 ` Al Viro
2015-10-09 4:39 ` Heiko Schocher
2015-10-09 5:39 ` Al Viro
2015-10-09 6:29 ` Heiko Schocher
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).