From: Mariusz Gorski <marius.gorski@gmail.com>
To: Willy Tarreau <w@1wt.eu>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/9] staging: panel: Use a macro for checking module params state
Date: Tue, 18 Nov 2014 22:50:45 +0100 [thread overview]
Message-ID: <20141118215044.GB10306@firebird> (raw)
In-Reply-To: <20141118211844.GG26514@1wt.eu>
On Tue, Nov 18, 2014 at 10:18:44PM +0100, Willy Tarreau wrote:
> On Tue, Nov 18, 2014 at 09:56:09PM +0100, Mariusz Gorski wrote:
> > Avoid values comparison and use a macro instead that checks
> > whether module param has been set by the user to some value
> > at loading time.
> >
> > Signed-off-by: Mariusz Gorski <marius.gorski@gmail.com>
> > ---
> > drivers/staging/panel/panel.c | 88 ++++++++++++++++++++++---------------------
> > 1 file changed, 45 insertions(+), 43 deletions(-)
> >
> > diff --git a/drivers/staging/panel/panel.c b/drivers/staging/panel/panel.c
> > index 1b4a211..97fc4ca 100644
> > --- a/drivers/staging/panel/panel.c
> > +++ b/drivers/staging/panel/panel.c
> > @@ -135,6 +135,8 @@
> >
> > #define NOT_SET -1
> >
> > +#define IS_NOT_SET(x) (x == NOT_SET)
> > +
> > /* macros to simplify use of the parallel port */
> > #define r_ctr(x) (parport_read_control((x)->port))
> > #define r_dtr(x) (parport_read_data((x)->port))
> > @@ -1411,29 +1413,29 @@ static void lcd_init(void)
> > switch (lcd_type) {
> > case LCD_TYPE_OLD:
> > /* parallel mode, 8 bits */
> > - if (lcd_proto < 0)
> > + if (IS_NOT_SET(lcd_proto))
> > lcd_proto = LCD_PROTO_PARALLEL;
> > - if (lcd_charset < 0)
> > + if (IS_NOT_SET(lcd_charset))
> > lcd_charset = LCD_CHARSET_NORMAL;
> > if (lcd_e_pin == PIN_NOT_SET)
> > lcd_e_pin = PIN_STROBE;
> > if (lcd_rs_pin == PIN_NOT_SET)
> > lcd_rs_pin = PIN_AUTOLF;
> >
> > - if (lcd_width < 0)
> > + if (IS_NOT_SET(lcd_width))
> > lcd_width = 40;
> (...)
>
> I'm not convinced at all by the increased readability of this one.
> To me it adds obfuscation since I have to look for the macro definition
> to see how it checks whether the type is set or not.
>
> I think you'd rather simply open-code the macro here and keep the natural
> comparison. The fields were already initialized to the NOT_SET value, better
> check agaist the same value here especially since it matches other tests as
> well. That would give :
>
> - if (lcd_proto < 0)
> + if (lcd_proto == NOT_SET)
> lcd_proto = LCD_PROTO_PARALLEL;
>
> etc... To me it's more readable.
>
> Willy
>
Hmm ok maybe you're right, maybe I've tried to hide too much here.
"x == NOT_SET" hides already enough ;) I'll fix that.
Thanks,
Mariusz
next prev parent reply other threads:[~2014-11-18 21:50 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-18 20:56 [PATCH 0/9] staging: panel: Refactor panel initialization Mariusz Gorski
2014-11-18 20:56 ` [PATCH 1/9] staging: panel: Set default parport module param value Mariusz Gorski
2014-11-18 21:14 ` Willy Tarreau
2014-11-18 20:56 ` [PATCH 2/9] staging: panel: Call init function directly Mariusz Gorski
2014-11-18 21:15 ` Willy Tarreau
2014-11-18 20:56 ` [PATCH 3/9] staging: panel: Remove magic numbers Mariusz Gorski
2014-11-18 21:14 ` Willy Tarreau
2014-11-18 20:56 ` [PATCH 4/9] staging: panel: Use a macro for checking module params state Mariusz Gorski
2014-11-18 21:18 ` Willy Tarreau
2014-11-18 21:50 ` Mariusz Gorski [this message]
2014-11-18 20:56 ` [PATCH 5/9] staging: panel: Start making module params read-only Mariusz Gorski
2014-11-18 21:19 ` Willy Tarreau
2014-11-18 20:56 ` [PATCH 6/9] staging: panel: Make two more " Mariusz Gorski
2014-11-18 21:20 ` Willy Tarreau
2014-11-18 21:50 ` Mariusz Gorski
2014-11-18 22:58 ` Willy Tarreau
2014-11-18 20:56 ` [PATCH 7/9] staging: panel: Refactor LCD init code Mariusz Gorski
2014-11-18 21:23 ` Willy Tarreau
2014-11-18 21:51 ` Mariusz Gorski
2014-11-18 22:59 ` Willy Tarreau
2014-11-18 20:56 ` [PATCH 8/9] staging: panel: Remove more magic number comparison Mariusz Gorski
2014-11-18 21:25 ` Willy Tarreau
2014-11-18 21:50 ` Mariusz Gorski
2014-11-18 20:56 ` [PATCH 9/9] staging: panel: Move LCD-related state into struct lcd Mariusz Gorski
2014-11-18 21:26 ` Willy Tarreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141118215044.GB10306@firebird \
--to=marius.gorski@gmail.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=w@1wt.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.