Re: [PATCH 12/13] regulator: add pm8008 pmic regulator driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 5/14/2024 7:48 PM, Andy Shevchenko wrote:
On Tue, May 14, 2024 at 5:05 PM Satya Priya Kakitapalli
<quic_skakitap@xxxxxxxxxxx> wrote:
On Thu, May 09, 2024 at 03:07:02PM +0300, Andy Shevchenko wrote:
Wed, May 08, 2024 at 10:37:50PM +0000, Stephen Boyd kirjoitti:
Quoting Johan Hovold (2024-05-06 08:08:29)
...

+               BUILD_BUG_ON((ARRAY_SIZE(pldo_ranges) != 1) ||
This should be an && not || right?
+                               (ARRAY_SIZE(nldo_ranges) != 1));
In any case BUILD_BUG_ON() is not encouraged for such cases, it would be much
better to have a static_assert() near to one of those arrays.
I think the reason it is placed here is that the above line reads:

       rdesc->n_linear_ranges = 1;

and that would need to change if anyone expands the arrays.
Correct. static_assert() cannot be used in the middle of code here, it can only be used at the declarations part which doesn't serve the purpose.
I didn't get this. The ARRAY_SIZE():s are defined at compile time
globally. How does this prevent from using static_assert()?


The reason we added it here is to make sure the nlod_ranges and pldo_ranges doesn't become larger, and we forget updating the n_linear_ranges. Adding static_assert here is not feasible so adding a BUILD_BUG_ON at this point makes sure the n_linear_ranges is proper.


So, BUILD_BUG_ON is the only way to go here.
I don't think so.





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux