> On 24 Jan 2019, at 15.22, Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > Sparse complains about using strict data types: > > drivers/lightnvm/pblk-read.c:254:43: warning: incorrect type in assignment (different base types) > drivers/lightnvm/pblk-read.c:254:43: expected restricted __le64 <noident> > drivers/lightnvm/pblk-read.c:254:43: got unsigned long long [unsigned] [usertype] <noident> > drivers/lightnvm/pblk-read.c:255:29: warning: cast from restricted __le64 > drivers/lightnvm/pblk-read.c:268:29: warning: cast from restricted __le64 > drivers/lightnvm/pblk-read.c:328:41: warning: incorrect type in assignment (different base types) > drivers/lightnvm/pblk-read.c:328:41: expected restricted __le64 <noident> > drivers/lightnvm/pblk-read.c:328:41: got unsigned long long [unsigned] [usertype] <noident> > > In the code it seems explicit that lba_list_mem and lba_list_media members of > struct pblk_pr_ctx are used on CPU side, which means they should not be of > strict types. > > Change types of lba_list_mem and lba_list_media members to be u64. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > drivers/lightnvm/pblk.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h > index 12bf02df4204..72ae8755764e 100644 > --- a/drivers/lightnvm/pblk.h > +++ b/drivers/lightnvm/pblk.h > @@ -131,8 +131,8 @@ struct pblk_pr_ctx { > unsigned int bio_init_idx; > void *ppa_ptr; > dma_addr_t dma_ppa_list; > - __le64 lba_list_mem[NVM_MAX_VLBA]; > - __le64 lba_list_media[NVM_MAX_VLBA]; > + u64 lba_list_mem[NVM_MAX_VLBA]; > + u64 lba_list_media[NVM_MAX_VLBA]; > }; > > /* Pad context */ > -- > 2.20.1 Looks good to me. At some point these mapped directly to the metadata stored in the device and the type remained when we change it. Reviewed-by: Javier González <javier@xxxxxxxxxxx>
Attachment:
signature.asc
Description: Message signed with OpenPGP