Lines Matching full:builder
128 /// [`crate::prelude::module!`], it allows the caller to pass a builder type, based on the
131 /// Drivers should extend the [`ModInfoBuilder`] with their own driver specific builder type.
133 /// The `builder` argument must be a type which implements the following function.
159 /// struct Builder<const N: usize>;
161 /// impl<const N: usize> Builder<N> {
166 /// let mut builder = firmware::ModInfoBuilder::new(module_name);
170 /// builder = builder.new_entry()
178 /// builder
190 /// kernel::module_firmware!(Builder);
195 // The argument is the builder type without the const generic, since it's deferred from within
197 ($($builder:tt)*) => {
207 static __MODULE_FIRMWARE: [u8; $($builder)*::create(__MODULE_FIRMWARE_PREFIX)
208 .build_length()] = $($builder)*::create(__MODULE_FIRMWARE_PREFIX).build();
213 /// Builder for firmware module info.
233 /// Create an empty builder instance.
271 /// # const fn no_run<const N: usize>(builder: ModInfoBuilder<N>) {
272 /// let builder = builder.new_entry()