* [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table @ 2022-06-07 15:22 Miquel Raynal 2022-06-07 15:22 ` [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF Miquel Raynal 2022-06-07 16:33 ` [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table Andy Shevchenko 0 siblings, 2 replies; 7+ messages in thread From: Miquel Raynal @ 2022-06-07 15:22 UTC (permalink / raw) To: Vinod Koul, dmaengine Cc: Andy Shevchenko, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger, Miquel Raynal This is a tristate driver that can be built as a module, as a result, the OF match table should be exported with MODULE_DEVICE_TABLE(). Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- Changes in v2: * New patch. drivers/dma/dw/rzn1-dmamux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/dw/rzn1-dmamux.c b/drivers/dma/dw/rzn1-dmamux.c index 11d254e450b0..0ce4fb58185e 100644 --- a/drivers/dma/dw/rzn1-dmamux.c +++ b/drivers/dma/dw/rzn1-dmamux.c @@ -140,6 +140,7 @@ static const struct of_device_id rzn1_dmamux_match[] = { { .compatible = "renesas,rzn1-dmamux" }, {} }; +MODULE_DEVICE_TABLE(of, rzn1_dmamux_match); static struct platform_driver rzn1_dmamux_driver = { .driver = { -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF 2022-06-07 15:22 [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table Miquel Raynal @ 2022-06-07 15:22 ` Miquel Raynal 2022-06-07 16:32 ` Andy Shevchenko 2022-06-07 16:33 ` [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table Andy Shevchenko 1 sibling, 1 reply; 7+ messages in thread From: Miquel Raynal @ 2022-06-07 15:22 UTC (permalink / raw) To: Vinod Koul, dmaengine Cc: Andy Shevchenko, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger, Miquel Raynal, kernel test robot 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(-) 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF 2022-06-07 15:22 ` [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF Miquel Raynal @ 2022-06-07 16:32 ` Andy Shevchenko 2022-06-07 17:17 ` Miquel Raynal 0 siblings, 1 reply; 7+ messages in thread From: Andy Shevchenko @ 2022-06-07 16:32 UTC (permalink / raw) To: Miquel Raynal Cc: Vinod Koul, dmaengine, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger, kernel test robot 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, > }; -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF 2022-06-07 16:32 ` Andy Shevchenko @ 2022-06-07 17:17 ` Miquel Raynal 2022-06-07 18:50 ` Andy Shevchenko 0 siblings, 1 reply; 7+ messages in thread From: Miquel Raynal @ 2022-06-07 17:17 UTC (permalink / raw) To: Andy Shevchenko Cc: Vinod Koul, dmaengine, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger, kernel test robot 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF 2022-06-07 17:17 ` Miquel Raynal @ 2022-06-07 18:50 ` Andy Shevchenko 2022-06-07 22:01 ` Miquel Raynal 0 siblings, 1 reply; 7+ messages in thread From: Andy Shevchenko @ 2022-06-07 18:50 UTC (permalink / raw) To: Miquel Raynal Cc: Vinod Koul, dmaengine, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger, kernel test robot 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, > > > }; -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF 2022-06-07 18:50 ` Andy Shevchenko @ 2022-06-07 22:01 ` Miquel Raynal 0 siblings, 0 replies; 7+ messages in thread From: Miquel Raynal @ 2022-06-07 22:01 UTC (permalink / raw) To: Andy Shevchenko Cc: Vinod Koul, dmaengine, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger, kernel test robot 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, > > > > }; > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table 2022-06-07 15:22 [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table Miquel Raynal 2022-06-07 15:22 ` [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF Miquel Raynal @ 2022-06-07 16:33 ` Andy Shevchenko 1 sibling, 0 replies; 7+ messages in thread From: Andy Shevchenko @ 2022-06-07 16:33 UTC (permalink / raw) To: Miquel Raynal Cc: Vinod Koul, dmaengine, Milan Stevanovic, Jimmy Lalande, Pascal Eberhard, Thomas Petazzoni, Herve Codina, Clement Leger On Tue, Jun 07, 2022 at 05:22:14PM +0200, Miquel Raynal wrote: > This is a tristate driver that can be built as a module, as a result, > the OF match table should be exported with MODULE_DEVICE_TABLE(). Fixes go first in the series. If this is a fix, it misses Fixes tag. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-06-08 0:14 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-06-07 15:22 [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table Miquel Raynal 2022-06-07 15:22 ` [PATCH v2 2/2] dmaengine: dw: dmamux: Fix build without CONFIG_OF Miquel Raynal 2022-06-07 16:32 ` Andy Shevchenko 2022-06-07 17:17 ` Miquel Raynal 2022-06-07 18:50 ` Andy Shevchenko 2022-06-07 22:01 ` Miquel Raynal 2022-06-07 16:33 ` [PATCH v2 1/2] dmaengine: dw: dmamux: Export the module device table Andy Shevchenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox