kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
* Coding style operator precedence
@ 2022-04-22 14:08 Solomon Tan
  2022-04-22 14:59 ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: Solomon Tan @ 2022-04-22 14:08 UTC (permalink / raw)
  To: kernelnewbies

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. 

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/ 

Should I remove the parenthesis because it is technically unnecessary,
or should I leave it in for readability? Or should I just make the patch
request and let the maintainer decide?

Thank you.
Cheers,
Solomon

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Coding style operator precedence
  2022-04-22 14:08 Coding style operator precedence Solomon Tan
@ 2022-04-22 14:59 ` Greg KH
  2022-04-22 15:44   ` Solomon Tan
  0 siblings, 1 reply; 3+ messages in thread
From: Greg KH @ 2022-04-22 14:59 UTC (permalink / raw)
  To: Solomon Tan; +Cc: kernelnewbies

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

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Coding style operator precedence
  2022-04-22 14:59 ` Greg KH
@ 2022-04-22 15:44   ` Solomon Tan
  0 siblings, 0 replies; 3+ messages in thread
From: Solomon Tan @ 2022-04-22 15:44 UTC (permalink / raw)
  To: Greg KH; +Cc: kernelnewbies

On Fri, Apr 22, 2022 at 04:59:38PM +0200, Greg KH wrote:
> On Fri, Apr 22, 2022 at 10:08:54PM +0800, Solomon Tan wrote:
> 
> 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.

Understood. Thanks for the advice, Greg. :)
> 
> thanks,
> 
> greg k-h

Cheers,
Solomon

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-04-22 16:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 14:08 Coding style operator precedence Solomon Tan
2022-04-22 14:59 ` Greg KH
2022-04-22 15:44   ` Solomon Tan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).