diff mbox series

[v2,2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF

Message ID 20220607152215.46731-2-miquel.raynal@bootlin.com (mailing list archive)
State Superseded
Headers show
Series [v2,1/2] dmaengine: dw: dmamux: Export the module device table | expand

Commit Message

Miquel Raynal June 7, 2022, 3:22 p.m. UTC
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@intel.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---

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(-)

Comments

Andy Shevchenko June 7, 2022, 4:32 p.m. UTC | #1
On Tue, Jun 07, 2022 at 05:22:15PM +0200, Miquel Raynal wrote:
> 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.

No, what I asked is the opposite.
So, the most of this patch seems not needed (see below).

...

> +#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,
>  };
Miquel Raynal June 7, 2022, 5:17 p.m. UTC | #2
Hi Andy,

andriy.shevchenko@linux.intel.com wrote on Tue, 7 Jun 2022 19:32:47
+0300:

> On Tue, Jun 07, 2022 at 05:22:15PM +0200, Miquel Raynal wrote:
> > 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.  
> 
> No, what I asked is the opposite.

I don't get what you want. Can you please explain what you mean by
"simply drop CONFIG_OF"?

> So, the most of this patch seems not needed (see below).
> 
> ...
> 
> > +#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,
> >  };  
> 


Thanks,
Miquèl
Andy Shevchenko June 7, 2022, 6:50 p.m. UTC | #3
On Tue, Jun 07, 2022 at 07:17:59PM +0200, Miquel Raynal wrote:
> andriy.shevchenko@linux.intel.com wrote on Tue, 7 Jun 2022 19:32:47
> +0300:
> > On Tue, Jun 07, 2022 at 05:22:15PM +0200, Miquel Raynal wrote:

...

> > No, what I asked is the opposite.
> 
> I don't get what you want. Can you please explain what you mean by
> "simply drop CONFIG_OF"?

The below code changes shouldn't be present in this patch, that's all.

...

> > > +#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,
> > >  };
Miquel Raynal June 7, 2022, 10:01 p.m. UTC | #4
Hi Andy,

andriy.shevchenko@linux.intel.com wrote on Tue, 7 Jun 2022 21:50:20
+0300:

> On Tue, Jun 07, 2022 at 07:17:59PM +0200, Miquel Raynal wrote:
> > andriy.shevchenko@linux.intel.com wrote on Tue, 7 Jun 2022 19:32:47
> > +0300:  
> > > On Tue, Jun 07, 2022 at 05:22:15PM +0200, Miquel Raynal wrote:  
> 
> ...
> 
> > > No, what I asked is the opposite.  
> > 
> > I don't get what you want. Can you please explain what you mean by
> > "simply drop CONFIG_OF"?  
> 
> The below code changes shouldn't be present in this patch, that's all.

Ok then, I'll send a v3 tomorrow without the below changes + the
missing Fixes.

Thanks for the clarification.

Cheers,
Miquèl

> 
> ...
> 
> > > > +#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,
> > > >  };    
>
diff mbox series

Patch

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,
 };