Re: [PATCH v2 1/4] ACPI / property: Allow holes in reference properties

From: Linus Walleij
Date: Thu Oct 20 2016 - 08:00:28 EST


On Thu, Sep 29, 2016 at 3:39 PM, Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> wrote:

> DT allows holes or empty phandles for references. This is used for example
> in SPI subsystem where some chip selects are native and others are regular
> GPIOs. In ACPI _DSD we currently do not support this but instead the
> preceding reference consumes all following integer arguments.
>
> For example we would like to support something like the below ASL fragment
> for SPI:
>
> Package () {
> "cs-gpios",
> Package () {
> ^GPIO, 19, 0, 0, // GPIO CS0
> 0, // Native CS
> ^GPIO, 20, 0, 0, // GPIO CS1
> }
> }
>
> The zero in the middle means "no entry" or NULL reference. To support this
> we change acpi_data_get_property_reference() to take firmware node and
> num_args as argument and rename it to __acpi_node_get_property_reference().
> The function returns -ENOENT if the given index resolves to "no entry"
> reference and -ENODATA when there are no more entries in the property.
>
> We then add static inline wrapper acpi_node_get_property_reference() that
> passes MAX_ACPI_REFERENCE_ARGS as num_args to support the existing
> behaviour which some drivers have been relying on.
>
> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>

Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij