Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1243014 > unrolled thread
| Started by | Heiko Schocher <hs@denx.de> |
|---|---|
| First post | 2015-10-09 05:30 +0200 |
| Last post | 2015-10-09 08:30 +0200 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] UBI: rename free variable Heiko Schocher <hs@denx.de> - 2015-10-09 05:30 +0200
Re: [PATCH] UBI: rename free variable Al Viro <viro@ZenIV.linux.org.uk> - 2015-10-09 06:20 +0200
Re: [PATCH] UBI: rename free variable Heiko Schocher <hs@denx.de> - 2015-10-09 06:50 +0200
Re: [PATCH] UBI: rename free variable Al Viro <viro@ZenIV.linux.org.uk> - 2015-10-09 07:40 +0200
Re: [PATCH] UBI: rename free variable Heiko Schocher <hs@denx.de> - 2015-10-09 08:30 +0200
| From | Heiko Schocher <hs@denx.de> |
|---|---|
| Date | 2015-10-09 05:30 +0200 |
| Subject | [PATCH] UBI: rename free variable |
| Message-ID | <qhwxA-6M8-3@gated-at.bofh.it> |
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Al Viro <viro@ZenIV.linux.org.uk> |
|---|---|
| Date | 2015-10-09 06:20 +0200 |
| Message-ID | <qhxjX-7VM-7@gated-at.bofh.it> |
| In reply to | #1243014 |
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... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Heiko Schocher <hs@denx.de> |
|---|---|
| Date | 2015-10-09 06:50 +0200 |
| Message-ID | <qhxN0-8vx-5@gated-at.bofh.it> |
| In reply to | #1243025 |
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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Al Viro <viro@ZenIV.linux.org.uk> |
|---|---|
| Date | 2015-10-09 07:40 +0200 |
| Message-ID | <qhyzo-1e0-3@gated-at.bofh.it> |
| In reply to | #1243036 |
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? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Heiko Schocher <hs@denx.de> |
|---|---|
| Date | 2015-10-09 08:30 +0200 |
| Message-ID | <qhzlM-2nJ-3@gated-at.bofh.it> |
| In reply to | #1243041 |
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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web