Re: [PATCH 1/5] of: Return success from of_dma_set_restricted_buffer() when !OF_ADDRESS

From: Claire Chang
Date: Mon Jul 19 2021 - 23:38:04 EST


On Mon, Jul 19, 2021 at 8:31 PM Will Deacon <will@xxxxxxxxxx> wrote:
>
> When CONFIG_OF_ADDRESS=n, of_dma_set_restricted_buffer() returns -ENODEV
> and breaks the boot for sparc[64] machines. Return 0 instead, since the
> function is essentially a glorified NOP in this configuration.
>
> Cc: Claire Chang <tientzu@xxxxxxxxxxxx>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Suggested-by: Robin Murphy <robin.murphy@xxxxxxx>
> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Tested-by: Claire Chang <tientzu@xxxxxxxxxxxx>

> Link: https://lore.kernel.org/r/20210702030807.GA2685166@xxxxxxxxxxxx
> Fixes: fec9b625095f ("of: Add plumbing for restricted DMA pool")
> Signed-off-by: Will Deacon <will@xxxxxxxxxx>
> ---
> drivers/of/of_private.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h
> index 376462798f7e..f557bd22b0cf 100644
> --- a/drivers/of/of_private.h
> +++ b/drivers/of/of_private.h
> @@ -173,7 +173,8 @@ static inline int of_dma_get_range(struct device_node *np,
> static inline int of_dma_set_restricted_buffer(struct device *dev,
> struct device_node *np)
> {
> - return -ENODEV;
> + /* Do nothing, successfully. */
> + return 0;
> }
> #endif
>
> --
> 2.32.0.402.g57bb445576-goog
>