[PATCH] [media] staging: bcm2835: mark all symbols as 'static'

Subsystems: media input infrastructure (v4l/dvb), staging subsystem, the rest

STALE3508d

5 messages, 2 authors, 2017-02-02 · open the first message on its own page

[PATCH] [media] staging: bcm2835: mark all symbols as 'static'

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-02-02 11:35:31

I got a link error in allyesconfig:

drivers/staging/media/platform/bcm2835/bcm2835-camera.o: In function `vidioc_enum_framesizes':
bcm2835-camera.c:(.text.vidioc_enum_framesizes+0x0): multiple definition of `vidioc_enum_framesizes'
drivers/media/platform/vivid/vivid-vid-cap.o:vivid-vid-cap.c:(.text.vidioc_enum_framesizes+0x0): first defined here

While both drivers are equally at fault for this problem, the bcm2835 one was
just added and is easier to fix, as it is only one file, and none of its symbols
need to be globally visible. This marks the three global symbols as static.

Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/staging/media/platform/bcm2835/bcm2835-camera.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/media/platform/bcm2835/bcm2835-camera.c b/drivers/staging/media/platform/bcm2835/bcm2835-camera.c
index 105d88102cd9..ced8eb5de0f0 100644
--- a/drivers/staging/media/platform/bcm2835/bcm2835-camera.c
+++ b/drivers/staging/media/platform/bcm2835/bcm2835-camera.c
@@ -50,7 +50,7 @@ MODULE_AUTHOR("Vincent Sanders");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(BM2835_MMAL_VERSION);
 
-int bcm2835_v4l2_debug;
+static int bcm2835_v4l2_debug;
 module_param_named(debug, bcm2835_v4l2_debug, int, 0644);
 MODULE_PARM_DESC(bcm2835_v4l2_debug, "Debug level 0-2");
 
@@ -1312,7 +1312,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
 	return ret;
 }
 
-int vidioc_enum_framesizes(struct file *file, void *fh,
+static int vidioc_enum_framesizes(struct file *file, void *fh,
 			   struct v4l2_frmsizeenum *fsize)
 {
 	struct bm2835_mmal_dev *dev = video_drvdata(file);
@@ -1842,7 +1842,7 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
 	return 0;
 }
 
-void bcm2835_cleanup_instance(struct bm2835_mmal_dev *dev)
+static void bcm2835_cleanup_instance(struct bm2835_mmal_dev *dev)
 {
 	if (!dev)
 		return;
-- 
2.9.0

Re: [PATCH] [media] staging: bcm2835: mark all symbols as 'static'

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-02-02 12:04:38

On Thu, Feb 2, 2017 at 12:34 PM, Arnd Bergmann [off-list ref] wrote:
I got a link error in allyesconfig:

drivers/staging/media/platform/bcm2835/bcm2835-camera.o: In function `vidioc_enum_framesizes':
bcm2835-camera.c:(.text.vidioc_enum_framesizes+0x0): multiple definition of `vidioc_enum_framesizes'
drivers/media/platform/vivid/vivid-vid-cap.o:vivid-vid-cap.c:(.text.vidioc_enum_framesizes+0x0): first defined here

While both drivers are equally at fault for this problem, the bcm2835 one was
just added and is easier to fix, as it is only one file, and none of its symbols
need to be globally visible. This marks the three global symbols as static.

Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Please disregard this patch version, it's broken.
quoted hunk
@@ -50,7 +50,7 @@ MODULE_AUTHOR("Vincent Sanders");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(BM2835_MMAL_VERSION);

-int bcm2835_v4l2_debug;
+static int bcm2835_v4l2_debug;
 module_param_named(debug, bcm2835_v4l2_debug, int, 0644);
 MODULE_PARM_DESC(bcm2835_v4l2_debug, "Debug level 0-2");
This symbol is in fact used in more than one file.

    Arnd

Re: [PATCH] [media] staging: bcm2835: mark all symbols as 'static'

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-02-02 12:11:53

On Thu, Feb 2, 2017 at 1:04 PM, Arnd Bergmann [off-list ref] wrote:
On Thu, Feb 2, 2017 at 12:34 PM, Arnd Bergmann [off-list ref] wrote:
quoted
I got a link error in allyesconfig:
Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Please disregard this patch version, it's broken.
Too late, I see it's already applied, I'll send a follow-up to revert
the first hunk.

    Arnd

Re: [PATCH] [media] staging: bcm2835: mark all symbols as 'static'

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2017-02-02 12:22:43

On Thu, Feb 02, 2017 at 01:11:36PM +0100, Arnd Bergmann wrote:
On Thu, Feb 2, 2017 at 1:04 PM, Arnd Bergmann [off-list ref] wrote:
quoted
On Thu, Feb 2, 2017 at 12:34 PM, Arnd Bergmann [off-list ref] wrote:
quoted
I got a link error in allyesconfig:
Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Please disregard this patch version, it's broken.
Too late, I see it's already applied, I'll send a follow-up to revert
the first hunk.
Ah, I could have just dropped your patch (it's a testing branch that I
can rebase), but I took your newer patch that fixed it up, so all is
good.

That's what I get for applying patches too quickly :)

thanks,

greg k-h

Re: [PATCH] [media] staging: bcm2835: mark all symbols as 'static'

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-02-02 12:34:54

On Thu, Feb 2, 2017 at 1:22 PM, Greg Kroah-Hartman
[off-list ref] wrote:
On Thu, Feb 02, 2017 at 01:11:36PM +0100, Arnd Bergmann wrote:
quoted
On Thu, Feb 2, 2017 at 1:04 PM, Arnd Bergmann [off-list ref] wrote:
quoted
On Thu, Feb 2, 2017 at 12:34 PM, Arnd Bergmann [off-list ref] wrote:
quoted
I got a link error in allyesconfig:
Fixes: 7b3ad5abf027 ("staging: Import the BCM2835 MMAL-based V4L2 camera driver.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Please disregard this patch version, it's broken.
Too late, I see it's already applied, I'll send a follow-up to revert
the first hunk.
Ah, I could have just dropped your patch (it's a testing branch that I
can rebase), but I took your newer patch that fixed it up, so all is
good.

That's what I get for applying patches too quickly :)
I should really have been more careful about testing. I had the first
version in my
working tree while doing randconfig tests. None of the new randconfig builds
ran into the issue (the driver gets rarely enabled because of its dependencies),
and the original failure had already been marked as fixed in my build system
after an earlier patch only changed one of the prototypes.

    Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help