Message ID | a5e4472b91398b7f9e802ea82c8435fa8ad27066.1713885065.git.nicola.vetrini@bugseng.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Address violations of MISRA C Rule 20.7 | expand |
On 23.04.2024 17:12, Nicola Vetrini wrote: > --- a/xen/drivers/char/omap-uart.c > +++ b/xen/drivers/char/omap-uart.c > @@ -48,8 +48,9 @@ > /* System configuration register */ > #define UART_OMAP_SYSC_DEF_CONF 0x0d /* autoidle mode, wakeup is enabled */ > > -#define omap_read(uart, off) readl((uart)->regs + (off<<REG_SHIFT)) > -#define omap_write(uart, off, val) writel((val), (uart)->regs + (off<<REG_SHIFT)) > +#define omap_read(uart, off) readl((uart)->regs + ((off) << REG_SHIFT)) > +#define omap_write(uart, off, val) writel((val), (uart)->regs + \ Would have been nice to drop the excess parentheses at the same time. Jan
On 2024-04-24 09:23, Jan Beulich wrote: > On 23.04.2024 17:12, Nicola Vetrini wrote: >> --- a/xen/drivers/char/omap-uart.c >> +++ b/xen/drivers/char/omap-uart.c >> @@ -48,8 +48,9 @@ >> /* System configuration register */ >> #define UART_OMAP_SYSC_DEF_CONF 0x0d /* autoidle mode, wakeup is >> enabled */ >> >> -#define omap_read(uart, off) readl((uart)->regs + >> (off<<REG_SHIFT)) >> -#define omap_write(uart, off, val) writel((val), (uart)->regs + >> (off<<REG_SHIFT)) >> +#define omap_read(uart, off) readl((uart)->regs + ((off) << >> REG_SHIFT)) >> +#define omap_write(uart, off, val) writel((val), (uart)->regs + \ > > Would have been nice to drop the excess parentheses at the same time. > > Jan Right. I think I'll have a few more patches on this rule, so maybe I can adjust it.
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c index 03b5b66e7acb..9e1abf306ace 100644 --- a/xen/drivers/char/omap-uart.c +++ b/xen/drivers/char/omap-uart.c @@ -48,8 +48,9 @@ /* System configuration register */ #define UART_OMAP_SYSC_DEF_CONF 0x0d /* autoidle mode, wakeup is enabled */ -#define omap_read(uart, off) readl((uart)->regs + (off<<REG_SHIFT)) -#define omap_write(uart, off, val) writel((val), (uart)->regs + (off<<REG_SHIFT)) +#define omap_read(uart, off) readl((uart)->regs + ((off) << REG_SHIFT)) +#define omap_write(uart, off, val) writel((val), (uart)->regs + \ + ((off) << REG_SHIFT)) static struct omap_uart { u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
MISRA C Rule 20.7 states: "Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses". Therefore, some macro definitions should gain additional parentheses to ensure that all current and future users will be safe with respect to expansions that can possibly alter the semantics of the passed-in macro parameter. No functional chage. Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> --- xen/drivers/char/omap-uart.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)