lkml.org 
[lkml]   [2018]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v9] mmc: Export host capabilities to debugfs.
From
Date
On Mon, 2018-03-12 at 18:00 +0530, Harish Jenny K N wrote:


> > > > > > + for_each_set_bit(bit, (const unsigned long *)&caps,
> > > > > > BITS_PER_LONG)
> > > > > > + for_each_set_bit(bit, (const unsigned long
> > > > > > *)&caps2,
> > > > > > BITS_PER_LONG)
> > > > >
> > > > > Explicit casting is not needed anymore in both cases.
> > > >
> > > > Also maybe use sizeof(mmc_host_capabilities) instead of
> > > > BITS_PER_LONG?
> > >
> > > You mean sizeof(caps) and not sizeof(mmc_host_capabilities) .
> > > Right ?
> >
> > meant ARRAY_SIZE(mmc_host_capabilities)

> ARRAY_SIZE(mmc_host_capabilities) will be 32 and this will be my old
> change for which I got a comment from Andy Shevchenko asking me to
> replace u32 with unsigned long.
>
> This is the old comment:
>
> > > + int size = sizeof(u32) * BITS_PER_BYTE;
> >
> > This is redundant. Use BITS_PER_LONG (why's that, see below) in the

There is nothing about ARRAY_SIZE().
ARRAY_SIZE() will work quite good as well.

> for_each_set_bit().
>
> > > + for_each_set_bit(bit, (const unsigned long *)&caps, size)
> > > + for_each_set_bit(bit, (const unsigned long *)&caps2, size)
> >
> > These are UB cases.
> > Fix is simple, replace u32 by unsigned long in (1) above.
>
> Note: Without typecasting &caps to(const unsigned long *) will give
> compilation error in this case.

What kind of?

--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

\
 
 \ /
  Last update: 2018-03-12 14:03    [W:0.037 / U:1.836 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site