[PATCH 0/2] Add framework for user controlled driver probes

From: Nayeemahmed Badebade
Date: Wed Sep 11 2024 - 09:58:47 EST


Hi,

This patch series introduces a new framework in the form of a driver
probe-control, aimed at addressing the need for deferring the probes
from built-in drivers in kernels where modules are not used.
In such scenario, delaying the initialization of certain devices such
as pcie based devices not needed during boot and giving user the control
on probing these devices post boot, can help reduce overall boot time.
This is achieved without modifying the driver code, simply by configuring
the platform device tree.

This patch series includes 2 patches:

1) dt-binding document for the probe-control driver
This document explains how device tree of a platform can be configured
to use probe-control devices for deferring the probes of certain
devices.

2) probe-control driver implementation
This provides actual driver implementation along with relevant ABI
documentation for the sys interfaces that driver provides to the user:
/sys/kernel/probe_control/trigger - For triggering the probes
/sys/kernel/debug/probe_control_status - For checking current probe status

TODO:
* Fix changenotice warning related to MAINTAINERS file update based on
community feedback for the patches proposed.

Thanks, Nayeem

Nayeemahmed Badebade (2):
dt-bindings: probe-control: add probe control driver
driver: core: add probe control driver

.../ABI/testing/debugfs-probe-control | 14 +
.../ABI/testing/sysfs-kernel-probe-control | 13 +
.../probe-control/linux,probe-controller.yaml | 59 ++++
drivers/base/Makefile | 1 +
drivers/base/probe_control.c | 275 ++++++++++++++++++
5 files changed, 362 insertions(+)
create mode 100644 Documentation/ABI/testing/debugfs-probe-control
create mode 100644 Documentation/ABI/testing/sysfs-kernel-probe-control
create mode 100644 Documentation/devicetree/bindings/probe-control/linux,probe-controller.yaml
create mode 100644 drivers/base/probe_control.c


base-commit: 47ac09b91befbb6a235ab620c32af719f8208399
--
2.34.1