[PATCH v3 2/5] mfd: syscon: add a DT property to set value width
From: Lee Jones <hidden>
Date: 2015-11-23 08:20:19
Also in:
linux-watchdog, lkml
On Sat, 21 Nov 2015, Arnd Bergmann wrote:
On Tuesday 17 November 2015 09:26:49 Guenter Roeck wrote:quoted
quoted
This syntax is confusing, as we normally associate it with an error condition. Instead, I'd use: if (of_property_read_u32(np, "bus-width", &bus_width) == 0)Or maybe better if (!of_property_read_u32(np, "bus-width", &bus_width))I would also prefer the latter, but it doesn't matter much either way.quoted
quoted
Or, for more clarity: of_property_read_u32(np, "bus-width", &bus_width); if (bus_width) If you choose this version (which I think is my preferred method, don't forget to initialise 'bus_width' to zero.Ignoring an error and depending on bus_width==0 to determine if the property was provided seems odd, especially since it would "hide" if the bus-width property is set to 0. In the original code, this would be detected as error.Right. Another option would be ret = of_property_read_u32(np, "bus-width", &bus_width); /* no bus width provided, default to 32-bit */ if (ret) bus_width = 32; syscon_config.val_bits = bus_width; syscon_config.reg_stride = syscon_config.val_bits / 8; which has the same effect but seems a little clearer to me.
Works for me. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog