[v4,0/4] Add post-init-providers binding to improve suspend/resume stability

Message ID 20240222034624.2970024-1-saravanak@google.com
Headers
Series Add post-init-providers binding to improve suspend/resume stability |

Message

Saravana Kannan Feb. 22, 2024, 3:46 a.m. UTC
  This patch series adds a "post-init-providers" device tree binding that
can be used to break dependency cycles in device tree and enforce a more
determinstic probe/suspend/resume order. This will also improve the
stability of global async probing and async suspend/resume and allow us
to enable them more easily. Yet another step away from playing initcall
chicken with probing and step towards fully async probing and
suspend/resume.

Patch 3 (the binding documentation) provides a lot more details and
examples.

v3->v4:
- Fixed MAINTAINERS file to go with the file rename.

v2->v3:
- Changes doc/code from "post-init-supplier" to "post-init-providers"
- Fixed some wording that was ambiguous for Conor.
- Fixed indentation, additionalProperies and white space issues in the
  yaml syntax.
- Fixed syntax errors in the example.

v1->v2:
- Addressed Documentation/commit text errors pointed out by Rob
- Reordered MAINTAINERS chunk as pointed out by Krzysztof

Saravana Kannan (4):
  driver core: Adds flags param to fwnode_link_add()
  driver core: Add FWLINK_FLAG_IGNORE to completely ignore a fwnode link
  dt-bindings: Add post-init-providers property
  of: property: fw_devlink: Add support for "post-init-providers"
    property

 .../bindings/post-init-providers.yaml         | 105 ++++++++++++++++++
 MAINTAINERS                                   |  13 ++-
 drivers/base/core.c                           |  14 ++-
 drivers/firmware/efi/sysfb_efi.c              |   2 +-
 drivers/of/property.c                         |  17 ++-
 include/linux/fwnode.h                        |   5 +-
 6 files changed, 142 insertions(+), 14 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/post-init-providers.yaml
  

Comments

Rafael J. Wysocki Feb. 29, 2024, 5:57 p.m. UTC | #1
On Thu, Feb 22, 2024 at 4:46 AM Saravana Kannan <saravanak@google.com> wrote:
>
> This patch series adds a "post-init-providers" device tree binding that
> can be used to break dependency cycles in device tree and enforce a more
> determinstic probe/suspend/resume order. This will also improve the
> stability of global async probing and async suspend/resume and allow us
> to enable them more easily. Yet another step away from playing initcall
> chicken with probing and step towards fully async probing and
> suspend/resume.
>
> Patch 3 (the binding documentation) provides a lot more details and
> examples.
>
> v3->v4:
> - Fixed MAINTAINERS file to go with the file rename.
>
> v2->v3:
> - Changes doc/code from "post-init-supplier" to "post-init-providers"
> - Fixed some wording that was ambiguous for Conor.
> - Fixed indentation, additionalProperies and white space issues in the
>   yaml syntax.
> - Fixed syntax errors in the example.
>
> v1->v2:
> - Addressed Documentation/commit text errors pointed out by Rob
> - Reordered MAINTAINERS chunk as pointed out by Krzysztof
>
> Saravana Kannan (4):
>   driver core: Adds flags param to fwnode_link_add()
>   driver core: Add FWLINK_FLAG_IGNORE to completely ignore a fwnode link
>   dt-bindings: Add post-init-providers property
>   of: property: fw_devlink: Add support for "post-init-providers"
>     property
>
>  .../bindings/post-init-providers.yaml         | 105 ++++++++++++++++++
>  MAINTAINERS                                   |  13 ++-
>  drivers/base/core.c                           |  14 ++-
>  drivers/firmware/efi/sysfb_efi.c              |   2 +-
>  drivers/of/property.c                         |  17 ++-
>  include/linux/fwnode.h                        |   5 +-
>  6 files changed, 142 insertions(+), 14 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/post-init-providersyaml
>
> --

This looks reasonable to me overall, so

Acked-by: Rafael J. Wysocki <rafael@kernel.org>
  
Rob Herring March 4, 2024, 2:06 p.m. UTC | #2
On Wed, Feb 21, 2024 at 07:46:18PM -0800, Saravana Kannan wrote:
> This patch series adds a "post-init-providers" device tree binding that
> can be used to break dependency cycles in device tree and enforce a more
> determinstic probe/suspend/resume order. This will also improve the
> stability of global async probing and async suspend/resume and allow us
> to enable them more easily. Yet another step away from playing initcall
> chicken with probing and step towards fully async probing and
> suspend/resume.
> 
> Patch 3 (the binding documentation) provides a lot more details and
> examples.
> 
> v3->v4:
> - Fixed MAINTAINERS file to go with the file rename.
> 
> v2->v3:
> - Changes doc/code from "post-init-supplier" to "post-init-providers"
> - Fixed some wording that was ambiguous for Conor.
> - Fixed indentation, additionalProperies and white space issues in the
>   yaml syntax.
> - Fixed syntax errors in the example.
> 
> v1->v2:
> - Addressed Documentation/commit text errors pointed out by Rob
> - Reordered MAINTAINERS chunk as pointed out by Krzysztof
> 
> Saravana Kannan (4):
>   driver core: Adds flags param to fwnode_link_add()
>   driver core: Add FWLINK_FLAG_IGNORE to completely ignore a fwnode link
>   dt-bindings: Add post-init-providers property
>   of: property: fw_devlink: Add support for "post-init-providers"
>     property

Reviewed-by: Rob Herring <robh@kernel.org>

I'm assuming Greg takes this. You'll probably need to resend without the 
binding. Submit it to dtschema please.

Rob