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....
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?
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)
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?
It is from Fedora 13. But is the file in question different to the kernel.org's vanilla 2.6.33.6 release?
Yes, kernel.org 2.6.33.6 does not have a driver parameter named quiet_logo.
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.