Re: [PATCH v2] rust: helpers: Add dma_alloc_attrs() and dma_free_attrs()
From: Danilo Krummrich
Date: Fri Apr 11 2025 - 05:51:32 EST
On Fri, Apr 11, 2025 at 08:43:32AM +0900, FUJITA Tomonori wrote:
> Add dma_alloc_attrs() and dma_free_attrs() helpers to fix a build
> error when CONFIG_HAS_DMA is not enabled.
>
> Note that when CONFIG_HAS_DMA is enabled, dma_alloc_attrs() and
> dma_free_attrs() are included in both bindings_generated.rs and
> bindings_helpers_generated.rs. The former takes precedence so behavior
> remains unchanged in that case.
>
> This fixes the following build error on UML:
>
> error[E0425]: cannot find function `dma_alloc_attrs` in crate `bindings`
> --> rust/kernel/dma.rs:171:23
> |
> 171 | bindings::dma_alloc_attrs(
> | ^^^^^^^^^^^^^^^ help: a function with a similar name exists: `dma_alloc_pages`
> |
> ::: /home/fujita/build/um/rust/bindings/bindings_generated.rs:44568:5
> |
> 44568 | / pub fn dma_alloc_pages(
> 44569 | | dev: *mut device,
> 44570 | | size: usize,
> 44571 | | dma_handle: *mut dma_addr_t,
> 44572 | | dir: dma_data_direction,
> 44573 | | gfp: gfp_t,
> 44574 | | ) -> *mut page;
> | |___________________- similarly named function `dma_alloc_pages` defined here
>
> error[E0425]: cannot find function `dma_free_attrs` in crate `bindings`
> --> rust/kernel/dma.rs:293:23
> |
> 293 | bindings::dma_free_attrs(
> | ^^^^^^^^^^^^^^ help: a function with a similar name exists: `dma_free_pages`
> |
> ::: /home/fujita/build/um/rust/bindings/bindings_generated.rs:44577:5
> |
> 44577 | / pub fn dma_free_pages(
> 44578 | | dev: *mut device,
> 44579 | | size: usize,
> 44580 | | page: *mut page,
> 44581 | | dma_handle: dma_addr_t,
> 44582 | | dir: dma_data_direction,
> 44583 | | );
> | |______- similarly named function `dma_free_pages` defined here
>
> Fixes: ad2907b4e308 ("rust: add dma coherent allocator abstraction")
> Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxx>
Please add the new file to the corresponding MAINTAINERS entry. Whith that,
Acked-by: Danilo Krummrich <dakr@xxxxxxxxxx>