Message ID | 20240222034624.2970024-1-saravanak@google.com |
---|---|
Headers | show |
Series | Add post-init-providers binding to improve suspend/resume stability | expand |
On Wed, 21 Feb 2024 19:46:21 -0800, Saravana Kannan wrote: > The post-init-providers property can be used to break a dependency cycle by > marking some provider(s) as a post device initialization provider(s). This > allows an OS to do a better job at ordering initialization and > suspend/resume of the devices in a dependency cycle. > > Signed-off-by: Saravana Kannan <saravanak@google.com> > --- > .../bindings/post-init-providers.yaml | 105 ++++++++++++++++++ > MAINTAINERS | 13 ++- > 2 files changed, 112 insertions(+), 6 deletions(-) > create mode 100644 Documentation/devicetree/bindings/post-init-providers.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/post-init-providers.example.dtb: /example-0/clock-controller@1000: failed to match any schema with compatible: ['vendor,soc4-gcc', 'vendor,soc1-gcc'] Documentation/devicetree/bindings/post-init-providers.example.dtb: /example-0/clock-controller@1000: failed to match any schema with compatible: ['vendor,soc4-gcc', 'vendor,soc1-gcc'] Documentation/devicetree/bindings/post-init-providers.example.dtb: /example-0/clock-controller@2000: failed to match any schema with compatible: ['vendor,soc4-dispcc', 'vendor,soc1-dispcc'] Documentation/devicetree/bindings/post-init-providers.example.dtb: /example-0/clock-controller@2000: failed to match any schema with compatible: ['vendor,soc4-dispcc', 'vendor,soc1-dispcc'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240222034624.2970024-4-saravanak@google.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
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-providers.yaml > > -- This looks reasonable to me overall, so Acked-by: Rafael J. Wysocki <rafael@kernel.org>
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