Re: [PATCH v7 6/6] Documentation: ACPI: Document allow-low-power-probe _DSD property

From: Rafael J. Wysocki
Date: Wed Sep 02 2020 - 11:57:17 EST


On Tue, Sep 1, 2020 at 11:03 PM Sakari Ailus
<sakari.ailus@xxxxxxxxxxxxxxx> wrote:
>
> Document the probe-low-power _DSD property and how it is used with I²C
> drivers.

I would reorder the series to make this go right after the [1/6] or
maybe even fold it into that patch.

The point is that the changes in [1/6] clearly depend on the property
defined here.

> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> ---
> .../acpi/dsd/allow-low-power-probe.rst | 28 +++++++++++++++++++
> Documentation/firmware-guide/acpi/index.rst | 1 +
> 2 files changed, 29 insertions(+)
> create mode 100644 Documentation/firmware-guide/acpi/dsd/allow-low-power-probe.rst
>
> diff --git a/Documentation/firmware-guide/acpi/dsd/allow-low-power-probe.rst b/Documentation/firmware-guide/acpi/dsd/allow-low-power-probe.rst
> new file mode 100644
> index 0000000000000..6fcc89162b898
> --- /dev/null
> +++ b/Documentation/firmware-guide/acpi/dsd/allow-low-power-probe.rst
> @@ -0,0 +1,28 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +======================================
> +Probing I²C devices in low power state
> +======================================
> +
> +Introduction
> +============
> +
> +In some cases it may be preferred to leave certain devices powered off for the
> +entire system bootup if powering on these devices has adverse side effects,
> +beyond just powering on the said device. Linux recognizes the _DSD property
> +"allow-low-power-probe" that can be used for this purpose.

It would be good to refer to the document defining the generic _DSD
properties mechanism and the GUID used for that from here.

The meaning of "_DSD property" may not be entirely clear to the
reader as it stands.

And maybe call the property "i2c-allow-low-power-probe" or similar, to
indicate that it is specific to i2c.

> +
> +How it works
> +============
> +
> +The property "allow-low-power-probe" boolean property may be used to tell Linux

"boolean device property" ?

> +that the I²C framework should instruct the kernel ACPI framework to leave the
> +device in the low power state. If the driver indicates its support for this by
> +setting the I2C_DRV_FL_ALLOW_LOW_POWER_PROBE flag in struct i2c_driver.flags
> +field and the "allow-low-power-probe" property is present, the device will not
> +be powered on for probe.
> +
> +The downside is that as the device is not powered on, even if there's a problem
> +with the device, the driver likely probes just fine but the first user will
> +find out the device doesn't work, instead of a failure at probe time. This
> +feature should thus be used sparingly.

It would be good to give an ASL example with this property provided.

> diff --git a/Documentation/firmware-guide/acpi/index.rst b/Documentation/firmware-guide/acpi/index.rst
> index ad3b5afdae77e..0070fcde9e669 100644
> --- a/Documentation/firmware-guide/acpi/index.rst
> +++ b/Documentation/firmware-guide/acpi/index.rst
> @@ -11,6 +11,7 @@ ACPI Support
> dsd/graph
> dsd/data-node-references
> dsd/leds
> + dsd/allow-low-power-probe
> enumeration
> osi
> method-customizing
> --