Coding style operator precedence

Greg KH greg at kroah.com
Fri Apr 22 10:59:38 EDT 2022


On Fri, Apr 22, 2022 at 10:08:54PM +0800, Solomon Tan wrote:
> Hey all,
> 
> Could someone share what the coding style preference is where operator
> precedence is concerned?
> 
> I notice in the staging drivers that there are many instances where
> there are parenthesis in statements where operator precedence should be
> (in my opinion) obvious. Yet, there doesn't seem to be a patch to amend
> it. For example:
> 
> In vc04_services/interface/vchiq_arm/vchiq_core.c, line 2136, there is
> ```
> slot_zero->master.slot_last = first_data_slot + (num_slots / 2) - 1;
> ```
> It could just have been
> ```
> slot_zero->master.slot_last = first_data_slot + num_slots / 2 - 1;
> ```
> yet I do not see anyone patching it. Nothing is mentioned in the kernel
> docs about operator precedence. Checkpatch.pl doesn't highlight it
> as a coding style either. 

Because as-is, it is fine.

> What is the concensus regarding operator precedence in kernel coding
> style? The most relevant email thread I found suggests some feel the
> parenthesis shouldnt be there, while others would leave it there for
> readability.
> https://lore.kernel.org/linux-staging/YRypyev4Ku3eI9w8@kroah.com/ 

Make it obvious when people read the code as we do not always remember
the precedence order.  We write code for people first, compilers second.

thanks,

greg k-h



More information about the Kernelnewbies mailing list