Message ID | 20191023021959.35596-1-peng.ma@nxp.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | dmaengine: fsl-dpaa2-qdma: Fixed build error when enable dpaa2 qdma module driver | expand |
Hi Peng, On 23-10-19, 10:19, Peng Ma wrote: A patch title should detail the change it is doing so a better patch title would be: "dmaengine: fsl-dpaa2-qdma: export the symbols" > Fixed the following error: > WARNING: modpost: missing MODULE_LICENSE() in drivers/dma/fsl-dpaa2-qdma/dpdmai.o > see include/linux/module.h for more information > GZIP arch/arm64/boot/Image.gz > ERROR: "dpdmai_enable" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_set_rx_queue" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_get_tx_queue" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_get_rx_queue" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_get_attributes" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_open" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_close" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_disable" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > ERROR: "dpdmai_reset" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! > WARNING: "HYPERVISOR_platform_op" [vmlinux] is a static EXPORT_SYMBOL_GPL > make[2]: *** [__modpost] Error 1 > make[1]: *** [modules] Error 2 > make[1]: *** Waiting for unfinished jobs.... > make: *** [sub-make] Error 2 And here in the log, you should say the symbols were not exported leading to error <give error log> So export it > > Signed-off-by: Peng Ma <peng.ma@nxp.com> > Reported-by: Anders Roxell <anders.roxell@linaro.org> > --- > drivers/dma/fsl-dpaa2-qdma/dpdmai.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/dma/fsl-dpaa2-qdma/dpdmai.c b/drivers/dma/fsl-dpaa2-qdma/dpdmai.c > index fbc2b2f..f8a1f66 100644 > --- a/drivers/dma/fsl-dpaa2-qdma/dpdmai.c > +++ b/drivers/dma/fsl-dpaa2-qdma/dpdmai.c > @@ -1,6 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0 > // Copyright 2019 NXP > > +#include <linux/module.h> > #include <linux/types.h> > #include <linux/io.h> > #include <linux/fsl/mc.h> > @@ -90,6 +91,7 @@ int dpdmai_open(struct fsl_mc_io *mc_io, u32 cmd_flags, > > return 0; > } > +EXPORT_SYMBOL_GPL(dpdmai_open); > > /** > * dpdmai_close() - Close the control session of the object > @@ -113,6 +115,7 @@ int dpdmai_close(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) > /* send command to mc*/ > return mc_send_command(mc_io, &cmd); > } > +EXPORT_SYMBOL_GPL(dpdmai_close); > > /** > * dpdmai_create() - Create the DPDMAI object > @@ -177,6 +180,7 @@ int dpdmai_enable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) > /* send command to mc*/ > return mc_send_command(mc_io, &cmd); > } > +EXPORT_SYMBOL_GPL(dpdmai_enable); > > /** > * dpdmai_disable() - Disable the DPDMAI, stop sending and receiving frames. > @@ -197,6 +201,7 @@ int dpdmai_disable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) > /* send command to mc*/ > return mc_send_command(mc_io, &cmd); > } > +EXPORT_SYMBOL_GPL(dpdmai_disable); > > /** > * dpdmai_reset() - Reset the DPDMAI, returns the object to initial state. > @@ -217,6 +222,7 @@ int dpdmai_reset(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) > /* send command to mc*/ > return mc_send_command(mc_io, &cmd); > } > +EXPORT_SYMBOL_GPL(dpdmai_reset); > > /** > * dpdmai_get_attributes() - Retrieve DPDMAI attributes. > @@ -252,6 +258,7 @@ int dpdmai_get_attributes(struct fsl_mc_io *mc_io, u32 cmd_flags, > > return 0; > } > +EXPORT_SYMBOL_GPL(dpdmai_get_attributes); > > /** > * dpdmai_set_rx_queue() - Set Rx queue configuration > @@ -285,6 +292,7 @@ int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, > /* send command to mc*/ > return mc_send_command(mc_io, &cmd); > } > +EXPORT_SYMBOL_GPL(dpdmai_set_rx_queue); > > /** > * dpdmai_get_rx_queue() - Retrieve Rx queue attributes. > @@ -325,6 +333,7 @@ int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, > > return 0; > } > +EXPORT_SYMBOL_GPL(dpdmai_get_rx_queue); > > /** > * dpdmai_get_tx_queue() - Retrieve Tx queue attributes. > @@ -364,3 +373,6 @@ int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, > > return 0; > } > +EXPORT_SYMBOL_GPL(dpdmai_get_tx_queue); > + > +MODULE_LICENSE("GPL v2"); > -- > 2.9.5
diff --git a/drivers/dma/fsl-dpaa2-qdma/dpdmai.c b/drivers/dma/fsl-dpaa2-qdma/dpdmai.c index fbc2b2f..f8a1f66 100644 --- a/drivers/dma/fsl-dpaa2-qdma/dpdmai.c +++ b/drivers/dma/fsl-dpaa2-qdma/dpdmai.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 // Copyright 2019 NXP +#include <linux/module.h> #include <linux/types.h> #include <linux/io.h> #include <linux/fsl/mc.h> @@ -90,6 +91,7 @@ int dpdmai_open(struct fsl_mc_io *mc_io, u32 cmd_flags, return 0; } +EXPORT_SYMBOL_GPL(dpdmai_open); /** * dpdmai_close() - Close the control session of the object @@ -113,6 +115,7 @@ int dpdmai_close(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) /* send command to mc*/ return mc_send_command(mc_io, &cmd); } +EXPORT_SYMBOL_GPL(dpdmai_close); /** * dpdmai_create() - Create the DPDMAI object @@ -177,6 +180,7 @@ int dpdmai_enable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) /* send command to mc*/ return mc_send_command(mc_io, &cmd); } +EXPORT_SYMBOL_GPL(dpdmai_enable); /** * dpdmai_disable() - Disable the DPDMAI, stop sending and receiving frames. @@ -197,6 +201,7 @@ int dpdmai_disable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) /* send command to mc*/ return mc_send_command(mc_io, &cmd); } +EXPORT_SYMBOL_GPL(dpdmai_disable); /** * dpdmai_reset() - Reset the DPDMAI, returns the object to initial state. @@ -217,6 +222,7 @@ int dpdmai_reset(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token) /* send command to mc*/ return mc_send_command(mc_io, &cmd); } +EXPORT_SYMBOL_GPL(dpdmai_reset); /** * dpdmai_get_attributes() - Retrieve DPDMAI attributes. @@ -252,6 +258,7 @@ int dpdmai_get_attributes(struct fsl_mc_io *mc_io, u32 cmd_flags, return 0; } +EXPORT_SYMBOL_GPL(dpdmai_get_attributes); /** * dpdmai_set_rx_queue() - Set Rx queue configuration @@ -285,6 +292,7 @@ int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, /* send command to mc*/ return mc_send_command(mc_io, &cmd); } +EXPORT_SYMBOL_GPL(dpdmai_set_rx_queue); /** * dpdmai_get_rx_queue() - Retrieve Rx queue attributes. @@ -325,6 +333,7 @@ int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, return 0; } +EXPORT_SYMBOL_GPL(dpdmai_get_rx_queue); /** * dpdmai_get_tx_queue() - Retrieve Tx queue attributes. @@ -364,3 +373,6 @@ int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io, u32 cmd_flags, return 0; } +EXPORT_SYMBOL_GPL(dpdmai_get_tx_queue); + +MODULE_LICENSE("GPL v2");
Fixed the following error: WARNING: modpost: missing MODULE_LICENSE() in drivers/dma/fsl-dpaa2-qdma/dpdmai.o see include/linux/module.h for more information GZIP arch/arm64/boot/Image.gz ERROR: "dpdmai_enable" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_set_rx_queue" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_get_tx_queue" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_get_rx_queue" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_get_attributes" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_open" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_close" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_disable" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! ERROR: "dpdmai_reset" [drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.ko] undefined! WARNING: "HYPERVISOR_platform_op" [vmlinux] is a static EXPORT_SYMBOL_GPL make[2]: *** [__modpost] Error 1 make[1]: *** [modules] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [sub-make] Error 2 Signed-off-by: Peng Ma <peng.ma@nxp.com> Reported-by: Anders Roxell <anders.roxell@linaro.org> --- drivers/dma/fsl-dpaa2-qdma/dpdmai.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)