When built without OF support, of_match_node() expands to NULL, which produces the following output: >> drivers/dma/dw/rzn1-dmamux.c:105:34: warning: unused variable 'rzn1_dmac_match' [-Wunused-const-variable] static const struct of_device_id rzn1_dmac_match[] = { One way to silence the warning is to enclose the structure definition with an #ifdef CONFIG_OF/#endif block. In order to keep the harmony in the driver, the second match table is also enclosed with the same #ifdef CONFIG_OF/#endif block and the use of the match table forwarded by the of_match_ptr() macro. Reported-by: kernel test robot <lkp@xxxxxxxxx> Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> --- Changes in v2: * Used the #ifdef solution rather than the __maybe_unused keyword. drivers/dma/dw/rzn1-dmamux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/dma/dw/rzn1-dmamux.c b/drivers/dma/dw/rzn1-dmamux.c index 0ce4fb58185e..6ab33614e91e 100644 --- a/drivers/dma/dw/rzn1-dmamux.c +++ b/drivers/dma/dw/rzn1-dmamux.c @@ -102,10 +102,12 @@ static void *rzn1_dmamux_route_allocate(struct of_phandle_args *dma_spec, return ERR_PTR(ret); } +#ifdef CONFIG_OF static const struct of_device_id rzn1_dmac_match[] = { { .compatible = "renesas,rzn1-dma" }, {} }; +#endif static int rzn1_dmamux_probe(struct platform_device *pdev) { @@ -136,16 +138,18 @@ static int rzn1_dmamux_probe(struct platform_device *pdev) &dmamux->dmarouter); } +#ifdef CONFIG_OF static const struct of_device_id rzn1_dmamux_match[] = { { .compatible = "renesas,rzn1-dmamux" }, {} }; MODULE_DEVICE_TABLE(of, rzn1_dmamux_match); +#endif static struct platform_driver rzn1_dmamux_driver = { .driver = { .name = "renesas,rzn1-dmamux", - .of_match_table = rzn1_dmamux_match, + .of_match_table = of_match_ptr(rzn1_dmamux_match), }, .probe = rzn1_dmamux_probe, }; -- 2.34.1