Re: linux-next: build failure after merge of the final tree(v4l-dvb tree related)

From: Stephen Rothwell
Date: Mon Dec 06 2010 - 22:18:17 EST


Hi Mauro,

On Tue, 23 Nov 2010 13:38:07 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> After merging the final tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
>
> drivers/media/video/timblogiw.c: In function 'timblogiw_probe':
> drivers/media/video/timblogiw.c:749: error: timblogiw_ioctl_ops causes a section type conflict
>
> Caused by commit ef6ce9acc5f87e253c97dfd5301f8036f937f595 ("[media]
> [1/2,v4] media: Add timberdale video-in driver") which declared some
> structs as const and __devinitdata. They should use __devinitconst.

I am still getting this ...

This is the patch that I am applying:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Tue, 23 Nov 2010 13:35:17 +1100
Subject: [PATCH] media: const and __devinitdata do not mix

This fixes the following error in PowerPC builds:

drivers/media/video/timblogiw.c: In function 'timblogiw_probe':
drivers/media/video/timblogiw.c:749: error: timblogiw_ioctl_ops causes a section type conflict

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
drivers/media/video/timblogiw.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c
index bddcdb6..cf48aa9 100644
--- a/drivers/media/video/timblogiw.c
+++ b/drivers/media/video/timblogiw.c
@@ -746,7 +746,7 @@ static int timblogiw_mmap(struct file *file, struct vm_area_struct *vma)

/* Platform device functions */

-static const __devinitdata struct v4l2_ioctl_ops timblogiw_ioctl_ops = {
+static __devinitconst struct v4l2_ioctl_ops timblogiw_ioctl_ops = {
.vidioc_querycap = timblogiw_querycap,
.vidioc_enum_fmt_vid_cap = timblogiw_enum_fmt,
.vidioc_g_fmt_vid_cap = timblogiw_g_fmt,
@@ -768,7 +768,7 @@ static const __devinitdata struct v4l2_ioctl_ops timblogiw_ioctl_ops = {
.vidioc_enum_framesizes = timblogiw_enum_framesizes,
};

-static const __devinitdata struct v4l2_file_operations timblogiw_fops = {
+static __devinitconst struct v4l2_file_operations timblogiw_fops = {
.owner = THIS_MODULE,
.open = timblogiw_open,
.release = timblogiw_close,
@@ -778,7 +778,7 @@ static const __devinitdata struct v4l2_file_operations timblogiw_fops = {
.poll = timblogiw_poll,
};

-static const __devinitdata struct video_device timblogiw_template = {
+static __devinitconst struct video_device timblogiw_template = {
.name = TIMBLOGIWIN_NAME,
.fops = &timblogiw_fops,
.ioctl_ops = &timblogiw_ioctl_ops,
--
1.7.2.3

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/