On 2017-05-03 10:43, Andy Shevchenko wrote: > On Wed, May 3, 2017 at 11:24 AM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: >> On 2017-05-03 10:06, Andy Shevchenko wrote: >>> On Wed, May 3, 2017 at 8:35 AM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: >>>> On 2017-05-02 22:53, Andy Shevchenko wrote: > >>>>>> + ret = device_property_read_u32(&spi->dev, "ext-vin-microvolt", &val); >>>>> >>>>> Why not to read u16 here? >>>>> >>>> >>>> Can I read a property with arbitrary width? Then this would simplify >>>> things. >>> >>> device_property_read_u16(); >> >> By now I found out that ACPI does not care about the property type >> width, only DT does. So reading it as u16 under ACPI would be fine. But >> with DT, we will need a correctly sized property as well - default is u32. > > I'm a bit lost here. ACPI cares and DT cares about property size. ACPI_TYPE_INTEGER, used for properties, is always stored and read as 64-bit value and then casted to the requested type. In contrast, if you restrict a DT property via "/bits/ XX", its storage format changes, and you are better off using the correct access function for it. That's what I mean. Jan -- Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html