Bug 16557 - drivers/video/console/fbcon.c:3537: error: expected declaration specifiers or ‘...’ before string constant
Summary: drivers/video/console/fbcon.c:3537: error: expected declaration specifiers or...
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Console/Framebuffers (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: James Simmons
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-10 22:49 UTC by jd1008
Modified: 2010-08-11 00:37 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.33.6
Subsystem:
Regression: No
Bisected commit-id:


Attachments
kernel config file (89.54 KB, application/octet-stream)
2010-08-10 22:49 UTC, jd1008
Details

Description jd1008 2010-08-10 22:49:09 UTC
Created attachment 27399 [details]
kernel config file

I decided to recompile my kernel because I wanted to add a driver from staging to it. So, I ran make xconfig (after make oldconfig using my existing config file for this kernel) and ran make -j 4 all.
Compilation failed as follows:

.
.
.
  CC [M]  drivers/scsi/fnic/vnic_wq_copy.o
  CC [M]  drivers/net/sfc/efx.o
  CC [M]  drivers/video/console/fbcon.o
  CC [M]  drivers/usb/serial/funsoft.o
  CC [M]  drivers/scsi/fnic/vnic_wq.o
drivers/video/console/fbcon.c:3537: error: expected declaration specifiers or ‘...’ before string constant
drivers/video/console/fbcon.c:3537: error: expected declaration specifiers or ‘...’ before ‘quiet_logo’
drivers/video/console/fbcon.c:3537: warning: data definition has no type or storage class
drivers/video/console/fbcon.c:3537: warning: type defaults to ‘int’ in declaration of ‘early_param’
drivers/video/console/fbcon.c:3537: warning: function declaration isn’t a prototype
make[3]: *** [drivers/video/console/fbcon.o] Error 1
make[2]: *** [drivers/video/console] Error 2
make[1]: *** [drivers/video] Error 2
make[1]: *** Waiting for unfinished jobs....
Comment 1 Randy Dunlap 2010-08-10 23:19:54 UTC
I cannot reproduce this build error.  Did you try to build a plain,
unmodified 2.6.33.6 kernel?  Please show me drivers/video/console/fbcon.c,
lines 3531-3543.

What does 'gcc --version' say?
Comment 2 jd1008 2010-08-10 23:40:55 UTC
Here are the lines:

  3506	static int __init fb_console_init(void)
  3507	{
  3508		int i;
  3509	
  3510		acquire_console_sem();
  3511		fb_register_client(&fbcon_event_notifier);
  3512		fbcon_device = device_create(fb_class, NULL, MKDEV(0, 0), NULL,
  3513					     "fbcon");
  3514	
  3515		if (IS_ERR(fbcon_device)) {
  3516			printk(KERN_WARNING "Unable to create device "
  3517			       "for fbcon; errno = %ld\n",
  3518			       PTR_ERR(fbcon_device));
  3519			fbcon_device = NULL;
  3520		} else
  3521			fbcon_init_device();
  3522	
  3523		for (i = 0; i < MAX_NR_CONSOLES; i++)
  3524			con2fb_map[i] = -1;
  3525	
  3526		release_console_sem();
  3527		fbcon_start();
  3528		return 0;
  3529	}
  3530	
  3531	static int __init quiet_logo(char *str)
  3532	{
  3533		logo_shown = FBCON_LOGO_DONTSHOW;
  3534		return 0;
  3535	}
  3536	
  3537	early_param("quiet", quiet_logo);
  3538	
  3539	module_init(fb_console_init);
  3540	
  3541	#ifdef MODULE
  3542	
  3543	static void __exit fbcon_deinit_device(void)
  3544	{
  3545		int i;
  3546	
  3547		if (fbcon_has_sysfs) {
  3548			for (i = 0; i < ARRAY_SIZE(device_attrs); i++)
  3549				device_remove_file(fbcon_device, &device_attrs[i]);
  3550	
  3551			fbcon_has_sysfs = 0;
  3552		}
  3553	}

$ gcc --version
gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
Comment 3 Randy Dunlap 2010-08-10 23:47:53 UTC
What about the other key question?  (being:)
  Did you try to build a plain, unmodified 2.6.33.6 kernel?

That is not how my 2.6.33.6 source file looks at those lines.
In fact, I don't even see this line:
3537    early_param("quiet", quiet_logo);

Are you using some kernel source files that are modified by
a Linux distro?
Comment 4 jd1008 2010-08-10 23:57:18 UTC
It is from Fedora 13.
But is the file in question different to the kernel.org's vanilla 2.6.33.6 release?
Comment 5 Randy Dunlap 2010-08-11 00:00:05 UTC
Yes, kernel.org 2.6.33.6 does not have a driver parameter named
quiet_logo.
Comment 6 jd1008 2010-08-11 00:08:23 UTC
OK. Thanks.
I will see where I can submit a bug against Fedora 2.6.33.6 kernel.
Please close this one as Not Applicable.

Note You need to log in before you can comment on or make changes to this bug.