of: Return success from of_dma_set_restricted_buffer() when !OF_ADDRESS
authorWill Deacon <will@kernel.org>
Tue, 20 Jul 2021 13:38:23 +0000 (14:38 +0100)
committerKonrad Rzeszutek Wilk <konrad@kernel.org>
Sat, 24 Jul 2021 00:13:07 +0000 (20:13 -0400)
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@chromium.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reported-by: Guenter Roeck <linux@roeck-us.net>
Suggested-by: Robin Murphy <robin.murphy@arm.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Claire Chang <tientzu@chromium.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20210702030807.GA2685166@roeck-us.net
Fixes: fec9b625095f ("of: Add plumbing for restricted DMA pool")
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org>
drivers/of/of_private.h

index 3764627..f557bd2 100644 (file)
@@ -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