Searched hist:b3a88b52a17cc124fd7ef3dc7a37ec2ba51febc0 (Results 1 – 3 of 3) sorted by relevance
| /optee_os/core/include/kernel/ |
| H A D | dt_driver.h | b3a88b52a17cc124fd7ef3dc7a37ec2ba51febc0 Sun Sep 12 15:12:52 UTC 2021 Etienne Carriere <etienne.carriere@linaro.org> core: dt_driver probe sequence
Add a driver_init initcall function to parse DT from root node and probe devices for which a compatible driver is registered in the dt_driver list. When a matching driver is found, its probe function is called to initialize the device.
Driver probe function returns TEE_SUCCESS or successful initialization, TEE_ERROR_DEFER_DRIVER_INIT if waiting for a dependent device, otherwise another TEE_Result error code. In the later case, the probe function panics.
The probe sequence uses 2 lists: a list of the device DT nodes for which a driver shall be probed (probe list) and a list of devices that were successfully probed and initialized (ready list). Since at least clock framework and dt_driver do both parse DT for matching nodes, we must centralized successfully probed devices to not add them twice in the probe list.
Note that a DT node can probe several drivers, one per driver type, as defined by dt_driver_type enumerated type.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Co-developed-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
|
| H A D | dt.h | b3a88b52a17cc124fd7ef3dc7a37ec2ba51febc0 Sun Sep 12 15:12:52 UTC 2021 Etienne Carriere <etienne.carriere@linaro.org> core: dt_driver probe sequence
Add a driver_init initcall function to parse DT from root node and probe devices for which a compatible driver is registered in the dt_driver list. When a matching driver is found, its probe function is called to initialize the device.
Driver probe function returns TEE_SUCCESS or successful initialization, TEE_ERROR_DEFER_DRIVER_INIT if waiting for a dependent device, otherwise another TEE_Result error code. In the later case, the probe function panics.
The probe sequence uses 2 lists: a list of the device DT nodes for which a driver shall be probed (probe list) and a list of devices that were successfully probed and initialized (ready list). Since at least clock framework and dt_driver do both parse DT for matching nodes, we must centralized successfully probed devices to not add them twice in the probe list.
Note that a DT node can probe several drivers, one per driver type, as defined by dt_driver_type enumerated type.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Co-developed-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
|
| /optee_os/core/kernel/ |
| H A D | dt_driver.c | b3a88b52a17cc124fd7ef3dc7a37ec2ba51febc0 Sun Sep 12 15:12:52 UTC 2021 Etienne Carriere <etienne.carriere@linaro.org> core: dt_driver probe sequence
Add a driver_init initcall function to parse DT from root node and probe devices for which a compatible driver is registered in the dt_driver list. When a matching driver is found, its probe function is called to initialize the device.
Driver probe function returns TEE_SUCCESS or successful initialization, TEE_ERROR_DEFER_DRIVER_INIT if waiting for a dependent device, otherwise another TEE_Result error code. In the later case, the probe function panics.
The probe sequence uses 2 lists: a list of the device DT nodes for which a driver shall be probed (probe list) and a list of devices that were successfully probed and initialized (ready list). Since at least clock framework and dt_driver do both parse DT for matching nodes, we must centralized successfully probed devices to not add them twice in the probe list.
Note that a DT node can probe several drivers, one per driver type, as defined by dt_driver_type enumerated type.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Co-developed-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
|