Message ID | 20170703001809.GA1480@lynnl.wit (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jul 03, 2017 at 09:26:47AM +0800, Lynn Lei wrote: > introduced early checks to skip unnecessary comparisons when flags set. Why? > > Signed-off-by: Lynn Lei <lynnl.wit@gmail.com> > --- > drivers/staging/sm750fb/sm750.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c > index 386d4adcd91d..9e57a2d32465 100644 > --- a/drivers/staging/sm750fb/sm750.c > +++ b/drivers/staging/sm750fb/sm750.c > @@ -1171,11 +1171,16 @@ static int __init lynxfb_setup(char *options) > */ > while ((opt = strsep(&options, ":")) != NULL) { > /* options that mean for any lynx chips are configured here */ > - if (!strncmp(opt, "noaccel", strlen("noaccel"))) { > + > + /* > + * NOTE: the length of options is hard-coded > + * if any of those options changed please update its length > + */ That's not good, why require this? What is wrong with the original code here? It doesn't have that type of restriction, right? > + if (!g_noaccel && !strncmp(opt, "noaccel", 7)) { > g_noaccel = 1; > - } else if (!strncmp(opt, "nomtrr", strlen("nomtrr"))) { > + } else if (!g_nomtrr && !strncmp(opt, "nomtrr", 6)) { I don't see the benefit of this change at all, what am I missing? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 386d4adcd91d..9e57a2d32465 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -1171,11 +1171,16 @@ static int __init lynxfb_setup(char *options) */ while ((opt = strsep(&options, ":")) != NULL) { /* options that mean for any lynx chips are configured here */ - if (!strncmp(opt, "noaccel", strlen("noaccel"))) { + + /* + * NOTE: the length of options is hard-coded + * if any of those options changed please update its length + */ + if (!g_noaccel && !strncmp(opt, "noaccel", 7)) { g_noaccel = 1; - } else if (!strncmp(opt, "nomtrr", strlen("nomtrr"))) { + } else if (!g_nomtrr && !strncmp(opt, "nomtrr", 6)) { g_nomtrr = 1; - } else if (!strncmp(opt, "dual", strlen("dual"))) { + } else if (!g_dualview && !strncmp(opt, "dual", 4)) { g_dualview = 1; } else { strcat(tmp, opt);
introduced early checks to skip unnecessary comparisons when flags set. Signed-off-by: Lynn Lei <lynnl.wit@gmail.com> --- drivers/staging/sm750fb/sm750.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)