Lines Matching +full:pre +full:- +full:initialization
4 * SPDX-License-Identifier: Apache-2.0
112 * @brief Create a device object and set it up for boot time initialization.
115 * kernel during system initialization. This macro should only be used when the
126 * @param init_fn Pointer to the device's initialization function, which will be
127 * run by the kernel during system initialization. Can be `NULL`.
135 * @param level The device's initialization level (PRE_KERNEL_1, PRE_KERNEL_2 or
137 * @param prio The device's priority within its initialization level. See
157 * Otherwise, the node's full name in `node-name@unit-address` form.
163 * @brief Determine if a devicetree node initialization should be deferred.
167 * @return Boolean stating if node initialization should be deferred.
174 * for boot time initialization.
177 * kernel during system initialization. The global device object's name as a C
188 * @param init_fn Pointer to the device's initialization function, which will be
189 * run by the kernel during system initialization. Can be `NULL`.
197 * @param level The device's initialization level (PRE_KERNEL_1, PRE_KERNEL_2 or
199 * @param prio The device's priority within its initialization level. See
277 * If this returns non-NULL, the device must be checked for readiness
280 * @param compat lowercase-and-underscores devicetree compatible
298 * If this returns non-NULL, the device must be checked for readiness before
301 * @param compat lowercase-and-underscores devicetree compatible
338 * This macro can be used at the top-level to declare a device, such
343 * device's init or per-instance config function, as the init function
374 * Fields in this are expected to be default-initialized to zero. The
376 * responsible for ensuring that any non-zero initialization is done
381 * Device initialization return code (positive errno value).
383 * Device initialization functions return a negative errno code if they
389 /** Indicates the device initialization function has been
466 ret = 1 + (device_handle_t)(dev - STRUCT_SECTION_START(device)); in device_handle_get()
490 dev = &STRUCT_SECTION_START(device)[dev_handle - 1]; in device_from_handle()
502 * provides a visitor API supporting caller-specific interaction with each
505 * The visit is said to succeed if the visitor returns a non-negative value.
510 * @return A non-negative number to allow walking to continue, and a negative
540 const device_handle_t *rv = dev->deps; in device_required_handles_get()
576 const device_handle_t *rv = dev->deps; in device_injected_handles_get()
604 * The array contains a handle for each device that @p dev "supports" -- that
605 * is, devices that require @p dev directly -- as determined from the
620 const device_handle_t *rv = dev->deps; in device_supported_handles_get()
650 * another device; for example an I2C-based sensor driver will require an I2C
652 * statically-defined devicetree relationships or dependencies registered at
684 * another device; for example an I2C controller will support an I2C-based
685 * sensor driver. Supported devices can derive from statically-defined
726 * breakpoint on your device driver's initialization function.)
732 * is not found or if the device with that name's initialization function
768 * A device whose initialization was deferred (by marking it as
769 * ``zephyr,deferred-init`` on devicetree) needs to be initialized manually via
770 * this call. Note that only devices whose initialization was deferred can be
771 * initialized via this call - one can not try to initialize a non
772 * initialization deferred device that failed initialization with this call.
776 * @retval -ENOENT If device was not found - or isn't a deferred one.
777 * @retval -errno For other errors.
860 * object. Otherwise x86-64 builds will introduce padding between objects in the
939 if (dev->dt_meta == NULL) { in device_get_dt_nodelabels()
942 return dev->dt_meta->nl; in device_get_dt_nodelabels()
985 * @brief Init sub-priority of the device
987 * The sub-priority is defined by the devicetree ordinal, which ensures that
1042 * Anonymous unions require C11. Some pre-C11 gcc versions have early support for anonymous
1055 * @param level Initialization level
1056 * @param prio Initialization priority
1072 * @param level Initialization level.
1073 * @param prio Initialization priority.
1104 * @param level Initialization level.
1105 * @param prio Initialization priority.
1128 * Anonymous unions require C11. Some pre-C11 gcc versions have early support for anonymous
1156 * @param level Initialization level.
1157 * @param prio Initialization priority.
1221 #define DEVICE_API_GET(_class, _dev) ((const struct Z_DEVICE_API_TYPE(_class) *)_dev->api)