[PATCH] null_blk: use sector_div instead of do_div

Arnd Bergmann arnd at arndb.de
Fri Dec 18 08:13:40 PST 2015


On Saturday 28 November 2015 09:05:56 Matias Bjørling wrote:
> 
> I had my head around the original code and kept references to the device 
> layout I had in mind. 256 being number of pages in a block, and the 2^16 
> being number of blocks in a lun and wanted to communicate that part.. 
> which led to producing silly code in the mean time.
> 
> Similarly, the bs is always fixed to 4k for lightnvm, until other bs 
> sizes are supported. We could optimize it out, I left it in for the same 
> reasons.

I still see the build warning in linux-next, can you merge your patch?

	Arnd

> diff --git i/drivers/block/null_blk.c w/drivers/block/null_blk.c
> index 5c8ba54..97c02fe 100644
> --- i/drivers/block/null_blk.c
> +++ w/drivers/block/null_blk.c
> @@ -510,17 +510,17 @@ static int null_lnvm_id(struct request_queue *q, 
> struct nvm_id *id)
>         id->ppaf.ch_offset = 56;
>         id->ppaf.ch_len = 8;
> 
> -       do_div(size, bs); /* convert size to pages */
> -       do_div(size, 256); /* concert size to pgs pr blk */
> +       sector_div(size, bs); /* convert size to pages */
> +       size >>= 8; /* convert size to pgs pr blk */
>         grp = &id->groups[0];
>         grp->mtype = 0;
>         grp->fmtype = 0;
>         grp->num_ch = 1;
>         grp->num_pg = 256;
>         blksize = size;
> -       do_div(size, (1 << 16));
> +       size >>= 16; /* convert size to num luns */
>         grp->num_lun = size + 1;
> -       do_div(blksize, grp->num_lun);
> +       sector_div(blksize, grp->num_lun);
>         grp->num_blk = blksize;
>         grp->num_pln = 1;
> 
> 




More information about the linux-arm-kernel mailing list