Re: [PATCH] remove untouched code in kfifo_in

Andrew Morton
2012-10-23T19:39:07Z

On Tue, 23 Oct 2012 21:25:46 +0200
richard -rw- weinberger <richard.weinberger@gmail.com> 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.