2013-03-08 10:49:26

by Prabhakar

[permalink] [raw]
Subject: [PATCH v2] davinci: vpif: Fix module build for capture and display

From: Lad, Prabhakar <[email protected]>

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 <[email protected]>
Signed-off-by: Lad, Prabhakar <[email protected]>
---
Changes for v2:
1: use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL() as pointed by
Sekhar.

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..42c7eba 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_GPL(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_GPL(ch_params);

const unsigned int vpif_ch_params_count = ARRAY_SIZE(ch_params);
+EXPORT_SYMBOL_GPL(vpif_ch_params_count);

static inline void vpif_wr_bit(u32 reg, u32 bit, u32 val)
{
--
1.7.4.1


2013-03-19 18:30:54

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH v2] davinci: vpif: Fix module build for capture and display

Em Fri, 8 Mar 2013 16:19:07 +0530
Prabhakar lad <[email protected]> escreveu:

> From: Lad, Prabhakar <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Lad, Prabhakar <[email protected]>
> ---
> Changes for v2:
> 1: use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL() as pointed by
> Sekhar.
>
> 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..42c7eba 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_GPL(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_GPL(ch_params);

Please don't use simple names like that. It would be very easy that some
other driver could try to declare the same symbol. Instead, prefix it
with the driver name (vpif_ch_params).

>
> const unsigned int vpif_ch_params_count = ARRAY_SIZE(ch_params);
> +EXPORT_SYMBOL_GPL(vpif_ch_params_count);
>
> static inline void vpif_wr_bit(u32 reg, u32 bit, u32 val)
> {

Regards,
Mauro

2013-03-20 05:20:04

by Prabhakar

[permalink] [raw]
Subject: Re: [PATCH v2] davinci: vpif: Fix module build for capture and display

Hi Mauro,

On Wed, Mar 20, 2013 at 12:00 AM, Mauro Carvalho Chehab
<[email protected]> wrote:
> Em Fri, 8 Mar 2013 16:19:07 +0530
> Prabhakar lad <[email protected]> escreveu:
>
>> From: Lad, Prabhakar <[email protected]>
>>
>> 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 <[email protected]>
>> Signed-off-by: Lad, Prabhakar <[email protected]>
>> ---
>> Changes for v2:
>> 1: use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL() as pointed by
>> Sekhar.
>>
>> 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..42c7eba 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_GPL(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_GPL(ch_params);
>
> Please don't use simple names like that. It would be very easy that some
> other driver could try to declare the same symbol. Instead, prefix it
> with the driver name (vpif_ch_params).
>
Agreed, I'll respin a new version fixing it.

Cheers,
--Prabhakar

>>
>> const unsigned int vpif_ch_params_count = ARRAY_SIZE(ch_params);
>> +EXPORT_SYMBOL_GPL(vpif_ch_params_count);
>>
>> static inline void vpif_wr_bit(u32 reg, u32 bit, u32 val)
>> {
>
> Regards,
> Mauro