Message ID | 1362640461-29106-1-git-send-email-prabhakar.lad@ti.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Hi Prabhakar, On 3/7/2013 12:44 PM, Prabhakar lad wrote: > From: Lad, Prabhakar <prabhakar.lad@ti.com> > > export the symbols which are used by two modules vpif_capture and > vpif_display. > > This patch fixes following error: > ERROR: "ch_params" [drivers/media/platform/davinci/vpif_display.ko] undefined! > ERROR: "vpif_ch_params_count" [drivers/media/platform/davinci/vpif_display.ko] undefined! > ERROR: "vpif_base" [drivers/media/platform/davinci/vpif_display.ko] undefined! > ERROR: "ch_params" [drivers/media/platform/davinci/vpif_capture.ko] undefined! > ERROR: "vpif_ch_params_count" [drivers/media/platform/davinci/vpif_capture.ko] undefined! > ERROR: "vpif_base" [drivers/media/platform/davinci/vpif_capture.ko] undefined! > make[1]: *** [__modpost] Error 1 > > Reported-by: Sekhar Nori <nsekhar@ti.com> > Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com> > --- > drivers/media/platform/davinci/vpif.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/drivers/media/platform/davinci/vpif.c b/drivers/media/platform/davinci/vpif.c > index 28638a8..8fbb4a2 100644 > --- a/drivers/media/platform/davinci/vpif.c > +++ b/drivers/media/platform/davinci/vpif.c > @@ -44,6 +44,8 @@ static struct resource *res; > spinlock_t vpif_lock; > > void __iomem *vpif_base; > +EXPORT_SYMBOL(vpif_base); Should be EXPORT_SYMBOL_GPL() as nothing except GPL code would be needing this internal symbol. Also exporting this shows that the driver is written for only one instance. It seems to me that the driver modules can use much better abstractions so all these exports wont be needed but having broken module build is bad as well. Thanks, Sekhar
Sekhar, On Fri, Mar 8, 2013 at 2:53 PM, Sekhar Nori <nsekhar@ti.com> wrote: > Hi Prabhakar, > > On 3/7/2013 12:44 PM, Prabhakar lad wrote: >> From: Lad, Prabhakar <prabhakar.lad@ti.com> >> >> export the symbols which are used by two modules vpif_capture and >> vpif_display. >> >> This patch fixes following error: >> ERROR: "ch_params" [drivers/media/platform/davinci/vpif_display.ko] undefined! >> ERROR: "vpif_ch_params_count" [drivers/media/platform/davinci/vpif_display.ko] undefined! >> ERROR: "vpif_base" [drivers/media/platform/davinci/vpif_display.ko] undefined! >> ERROR: "ch_params" [drivers/media/platform/davinci/vpif_capture.ko] undefined! >> ERROR: "vpif_ch_params_count" [drivers/media/platform/davinci/vpif_capture.ko] undefined! >> ERROR: "vpif_base" [drivers/media/platform/davinci/vpif_capture.ko] undefined! >> make[1]: *** [__modpost] Error 1 >> >> Reported-by: Sekhar Nori <nsekhar@ti.com> >> Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com> >> --- >> drivers/media/platform/davinci/vpif.c | 4 ++++ >> 1 files changed, 4 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/media/platform/davinci/vpif.c b/drivers/media/platform/davinci/vpif.c >> index 28638a8..8fbb4a2 100644 >> --- a/drivers/media/platform/davinci/vpif.c >> +++ b/drivers/media/platform/davinci/vpif.c >> @@ -44,6 +44,8 @@ static struct resource *res; >> spinlock_t vpif_lock; >> >> void __iomem *vpif_base; >> +EXPORT_SYMBOL(vpif_base); > > Should be EXPORT_SYMBOL_GPL() as nothing except GPL code would be > needing this internal symbol. > > Also exporting this shows that the driver is written for only one > instance. It seems to me that the driver modules can use much better > abstractions so all these exports wont be needed but having broken > module build is bad as well. > OK as of now I'll go with EXPORT_SYMBOL_GPL() and revisit this at later point of time. Regards, --Prabhakar > Thanks, > Sekhar
diff --git a/drivers/media/platform/davinci/vpif.c b/drivers/media/platform/davinci/vpif.c index 28638a8..8fbb4a2 100644 --- a/drivers/media/platform/davinci/vpif.c +++ b/drivers/media/platform/davinci/vpif.c @@ -44,6 +44,8 @@ static struct resource *res; spinlock_t vpif_lock; void __iomem *vpif_base; +EXPORT_SYMBOL(vpif_base); + struct clk *vpif_clk; /** @@ -220,8 +222,10 @@ const struct vpif_channel_config_params ch_params[] = { .stdid = V4L2_STD_625_50, }, }; +EXPORT_SYMBOL(ch_params); const unsigned int vpif_ch_params_count = ARRAY_SIZE(ch_params); +EXPORT_SYMBOL(vpif_ch_params_count); static inline void vpif_wr_bit(u32 reg, u32 bit, u32 val) {