[PATCH] mtd: mtdswap: use MTDSWAP_ECNT_MIN/MAX

Geliang Tang geliangtang at gmail.com
Sat Dec 24 07:18:54 PST 2016


On Fri, Dec 23, 2016 at 07:51:56PM +0100, Marek Vasut wrote:
> On 12/20/2016 02:54 PM, Geliang Tang wrote:
> > Since macros MTDSWAP_ECNT_MIN() and MTDSWAP_ECNT_MAX() have been
> > defined in mtdswap.c, use them instead of open-coding.
> > 
> > Signed-off-by: Geliang Tang <geliangtang at gmail.com>
> 
> Sorry for getting to this so late. The patch is fine, but if you grep
> for 'rb_first' in the mtdswap driver , you'll see you can also use the
> MTDSWAP_ECNT_MIN macro in mtdswap_map_free_block() and in
> mtdswap_pick_gc_blk() . Can you fix those too ?

Hi Marek,

Thanks for your review. I double checked the code and found out that we can't
use MTDSWAP_ECNT_MIN macro in mtdswap_map_free_block() and mtdswap_pick_gc_eblk().
Since the MTDSWAP_ECNT_MIN macro points to erase_count field of swap_eb, and
erase_count field are not used in these two functions. Isn't it?

-Geliang

> 
> Otherwise:
> Acked-by: Marek Vasut <marek.vasut at gmail.com>
> 
> > ---
> >  drivers/mtd/mtdswap.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/mtd/mtdswap.c b/drivers/mtd/mtdswap.c
> > index c40e2c9..f12879a 100644
> > --- a/drivers/mtd/mtdswap.c
> > +++ b/drivers/mtd/mtdswap.c
> > @@ -1235,10 +1235,8 @@ static int mtdswap_show(struct seq_file *s, void *data)
> >  
> >  		if (root->rb_node) {
> >  			count[i] = d->trees[i].count;
> > -			min[i] = rb_entry(rb_first(root), struct swap_eb,
> > -					rb)->erase_count;
> > -			max[i] = rb_entry(rb_last(root), struct swap_eb,
> > -					rb)->erase_count;
> > +			min[i] = MTDSWAP_ECNT_MIN(root);
> > +			max[i] = MTDSWAP_ECNT_MAX(root);
> >  		} else
> >  			count[i] = 0;
> >  	}
> > 
> 
> 
> -- 
> Best regards,
> Marek Vasut



More information about the linux-mtd mailing list