Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> wrote: > Hello, I have just written: >>> Recent changes have broken compilation when CONFIG_IDE_PROC_FS is > >>> not set. >>> >>> Signed-off-by: Elias Oltmanns <eo@xxxxxxxxxxxxxx> >>> >> [...] >>> diff --git a/drivers/ide/ide-disk.h b/drivers/ide/ide-disk.h >>> index f937772..5254cae 100644 >>> --- a/drivers/ide/ide-disk.h >>> +++ b/drivers/ide/ide-disk.h >>> @@ -23,8 +23,10 @@ ide_decl_devset(acoustic); >>> /* ide-disk_ioctl.c */ >>> int ide_disk_ioctl(struct inode *, struct file *, unsigned int, >>> unsigned long); >>> +#ifdef CONFIG_IDE_PROC_FS >>> /* ide-disk_proc.c */ >>> extern ide_proc_entry_t ide_disk_proc[]; >>> extern const struct ide_proc_devset ide_disk_settings[]; >>> +#endif /* CONFIG_IDE_PROC_FS */ >>> #endif /* __IDE_DISK_H */ [...] >> >> Is surrounding 'extern' declarations by #ifdef's really of any value? >> They shouldn't be used if CONFIG_IDE_PROC_FS=n, so no object file >> records should be generated. > > Ah, you probably mean to turn the possible link time errors if the > do get referenced into the compile time errors... Sorry, I don't quite understand that last sentence. But we definitely have compile time errors here because the compiler doesn't even know of ide_proc_entry_t when CONFIG_IDE_PROC_FS is not set. Therefore the forward declarations appear to be syntactically incorrect, regardless whether extern or not. Regards, Elias -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html