On Tue, 23 Oct 2012 21:25:46 +0200
richard -rw- weinberger <[email protected]> wrote:

> > Subject: [PATCH] Replace the type check code with typecheck() in kfifo_in
> >
> > In kfifo_in marco, one piece of code which is arounded by if(0) will check 
> > the
> > type of __tmp->ptr_const and __buf. If they are different type, there will
> > output a warning during compiling. This piece of code is not self explaining
> > and a little bit hard to understand.
> >
> > Based on Andrew Morton's suggestion, this patch replace this with 
> > typecheck()
> > which will be easy to understand.
> > ---
> >  include/linux/kfifo.h |    5 +----
> >  1 files changed, 1 insertions(+), 4 deletions(-)
> >
> > diff --git a/include/linux/kfifo.h b/include/linux/kfifo.h
> > index 10308c6..b48fe71 100644
> > --- a/include/linux/kfifo.h
> > +++ b/include/linux/kfifo.h
> > @@ -512,10 +512,7 @@ __kfifo_uint_must_check_helper( \
> >         unsigned long __n = (n); \
> >         const size_t __recsize = sizeof(*__tmp->rectype); \
> >         struct __kfifo *__kfifo = &__tmp->kfifo; \
> > -       if (0) { \
> > -               typeof(__tmp->ptr_const) __dummy __attribute__ ((unused)); \
> > -               __dummy = (typeof(__buf))NULL; \
> > -       } \
> > +       typecheck(typeof(__tmp->ptr_const), __buf);\
> >         (__recsize) ?\
> >         __kfifo_in_r(__kfifo, __buf, __n, __recsize) : \
> >         __kfifo_in(__kfifo, __buf, __n); \
> 
> What about all the other open coded type checks in that file?

Yes, there are a lot.  Searching for "if (0)" finds them.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to