Re: [PATCH] ide: Build fix for CONFIG_IDE_PROC_FS=n

Previous thread: [GIT PULL] kmemcheck updates for tip/kmemcheck by Vegard Nossum on Friday, August 29, 2008 - 2:19 pm. (2 messages)

Next thread: [PATCH] ide: Two fixes regarding memory allocation by Elias Oltmanns on Friday, August 29, 2008 - 2:45 pm. (2 messages)
From: Elias Oltmanns
Date: Friday, August 29, 2008 - 2:37 pm

Recent changes have broken compilation when CONFIG_IDE_PROC_FS is not set.

Signed-off-by: Elias Oltmanns <eo@nebensachen.de>
---
Applies to next-20080829.

 drivers/ide/Makefile     |    9 +++++++--
 drivers/ide/ide-disk.h   |    2 ++
 drivers/ide/ide-floppy.h |    2 ++
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile
index 95a6135..e6e7811 100644
--- a/drivers/ide/Makefile
+++ b/drivers/ide/Makefile
@@ -36,9 +36,14 @@ obj-$(CONFIG_IDE_H8300)			+= h8300/
 obj-$(CONFIG_IDE_GENERIC)		+= ide-generic.o
 obj-$(CONFIG_BLK_DEV_IDEPNP)		+= ide-pnp.o
 
-ide-disk_mod-y += ide-disk.o ide-disk_ioctl.o ide-disk_proc.o
+ide-disk_mod-y += ide-disk.o ide-disk_ioctl.o
 ide-cd_mod-y += ide-cd.o ide-cd_ioctl.o ide-cd_verbose.o
-ide-floppy_mod-y += ide-floppy.o ide-floppy_ioctl.o ide-floppy_proc.o
+ide-floppy_mod-y += ide-floppy.o ide-floppy_ioctl.o
+
+ifeq ($(CONFIG_IDE_PROC_FS), y)
+	ide-disk_mod-y += ide-disk_proc.o
+	ide-floppy_mod-y += ide-floppy_proc.o
+endif
 
 obj-$(CONFIG_BLK_DEV_IDEDISK)		+= ide-disk_mod.o
 obj-$(CONFIG_BLK_DEV_IDECD)		+= ide-cd_mod.o
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 */
diff --git a/drivers/ide/ide-floppy.h b/drivers/ide/ide-floppy.h
index 2ad373e..86ee37e 100644
--- a/drivers/ide/ide-floppy.h
+++ b/drivers/ide/ide-floppy.h
@@ -53,8 +53,10 @@ sector_t ide_floppy_capacity(ide_drive_t *);
 /* ide-floppy_ioctl.c */
 int ide_floppy_ioctl(struct inode *, struct file *, unsigned, unsigned long);
 
+#ifdef CONFIG_IDE_PROC_FS
 ...
From: Sergei Shtylyov
Date: Saturday, August 30, 2008 - 4:19 am

Hello.


   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.

WBR, Sergei


--

From: Sergei Shtylyov
Date: Saturday, August 30, 2008 - 4:22 am

Ah, you probably mean to turn the possible link time errors if the do 
get referenced into the compile time errors...

MBR, Sergei


--

From: Elias Oltmanns
Date: Saturday, August 30, 2008 - 9:23 am

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
--

From: Sergei Shtylyov
Date: Saturday, August 30, 2008 - 9:29 am

If a variable declared 'extern' is referenced but the module containing 
its definition is not linked in, you get unresolved symbol at link time, if 


MBR, Sergei
--

From: Bartlomiej Zolnierkiewicz
Date: Sunday, August 31, 2008 - 8:52 am

Thanks!

I integrated your fixes into guilty patches ("ide-floppy: move /proc handling
to ide-floppy_proc.c" and "ide-disk: move /proc handling to ide-disk_proc.c")
to preserve bisection.
--

From: Elias Oltmanns
Date: Monday, September 1, 2008 - 3:52 pm

Yes, that's fine with me, but in the case of ide-disk_proc.h things
apparently went wrong. As of next-20080901, I still have the line

ide-disk_mod-y += ide-disk.o ide-disk_ioctl.o ide-disk_proc.o

in the Makefile. Could you please truncate that line appropriately?

Regards,

Elias
--

From: Bartlomiej Zolnierkiewicz
Date: Tuesday, September 2, 2008 - 3:35 am

Fixed, thanks for noticing.
--

Previous thread: [GIT PULL] kmemcheck updates for tip/kmemcheck by Vegard Nossum on Friday, August 29, 2008 - 2:19 pm. (2 messages)

Next thread: [PATCH] ide: Two fixes regarding memory allocation by Elias Oltmanns on Friday, August 29, 2008 - 2:45 pm. (2 messages)