Messages in this thread | | | Subject | Re: [PATCH] Drivers/mfd: Remove Non-standard Case Statements | From | Richard Fitzgerald <> | Date | Thu, 15 Feb 2018 16:25:49 +0000 |
| |
On 15/02/18 16:04, Progyan Bhattacharya wrote: > Remove Range Expressions from Case Statements and replace them with equivalent If-Else ladder. Comments are kept as is for understanding. >
Why?
Your commit message should at least say why you are making this change. (It also should be wrapped to a sensible line length).
The "case x ... y:" style is used in many places all over the kernel. As are other gcc extensions.
Is this a change in kernel coding style guidelines? Or are you trying to make it a compile with a different compiler to normal?
Although I'm not a fan of non-standard C extensions, in my opinion the case ... is more readable than the chain of if statements.
> Signed-off-by: Progyan Bhattacharya <progyanb@acm.org> > Cc: Lee Jones <lee.jones@linaro.org> > Cc: patches@opensource.cirrus.com > Cc: linux-kernel@vger.kernel.org > --- > drivers/mfd/cs47l24-tables.c | 30 +++++++++++++++++------------- > 1 file changed, 17 insertions(+), 13 deletions(-) > > diff --git a/drivers/mfd/cs47l24-tables.c b/drivers/mfd/cs47l24-tables.c > index c090974340ad..99eeb6bac5d5 100644 > --- a/drivers/mfd/cs47l24-tables.c > +++ b/drivers/mfd/cs47l24-tables.c > @@ -783,19 +783,23 @@ static const struct reg_default cs47l24_reg_default[] = { > > static bool cs47l24_is_adsp_memory(unsigned int reg) > { > - switch (reg) { > - case 0x200000 ... 0x205fff: /* DSP2 PM */ > - case 0x280000 ... 0x281fff: /* DSP2 ZM */ > - case 0x290000 ... 0x2a7fff: /* DSP2 XM */ > - case 0x2a8000 ... 0x2b3fff: /* DSP2 YM */ > - case 0x300000 ... 0x308fff: /* DSP3 PM */ > - case 0x380000 ... 0x381fff: /* DSP3 ZM */ > - case 0x390000 ... 0x3a7fff: /* DSP3 XM */ > - case 0x3a8000 ... 0x3b3fff: /* DSP3 YM */ > - return true; > - default: > - return false; > - } > + if (reg >= 0x200000 && reg <= 0x205fff) /* DSP2 PM */ > + return true; > + if (reg >= 0x280000 && reg <= 0x281fff) /* DSP2 ZM */ > + return true; > + if (reg >= 0x290000 && reg <= 0x2a7fff) /* DSP2 XM */ > + return true; > + if (reg >= 0x2a8000 && reg <= 0x2b3fff) /* DSP2 YM */ > + return true; > + if (reg <= 0x300000 && reg >= 0x308fff) /* DSP3 PM */ > + return true; > + if (reg <= 0x380000 && reg >= 0x381fff) /* DSP3 ZM */ > + return true; > + if (reg <= 0x390000 && reg >= 0x3a7fff) /* DSP3 XM */ > + return true; > + if (reg <= 0x3a8000 && reg >= 0x3b3fff) /* DSP3 YM */ > + return true; > + return false; > } > > static bool cs47l24_readable_register(struct device *dev, unsigned int reg) >
| |