Commit 
2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 introduced a dependency
that was never meant to exist when the ac97_bus.c module was created.
Move ac97_bus.c up the directory hierarchy to make sure it is built when
selected even if sound is configured out so things work as originally
intended.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
 
 config TOUCHSCREEN_UCB1400
        tristate "Philips UCB1400 touchscreen"
-       depends on SND_AC97_BUS
+       select AC97_BUS
        help
          This enables support for the Philips UCB1400 touchscreen interface.
          The UCB1400 is an AC97 audio codec.  The touchscreen interface
 
 
 endif
 
+config AC97_BUS
+       tristate
+       help
+         This is used to avoid config and link hard dependencies between the
+         sound subsystem and other function drivers completely unrelated to
+         sound although they're sharing the AC97 bus. Concerned drivers
+         should "select" this.
+
 endmenu
 
 obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ synth/ usb/ sparc/ parisc/ pcmcia/ mips/
 obj-$(CONFIG_SND_AOA) += aoa/
 
+# This one must be compilable even if sound is configured out
+obj-$(CONFIG_AC97_BUS) += ac97_bus.o
+
 ifeq ($(CONFIG_SND),y)
   obj-y += last.o
 endif
 
 config SND_AC97_CODEC
        tristate
        select SND_PCM
-       select SND_AC97_BUS
-
-config SND_AC97_BUS
-       tristate
-
+       select AC97_BUS
 
 config SND_DUMMY
        tristate "Dummy (/dev/null) soundcard"
 
 endif
 
 snd-ak4531-codec-objs := ak4531_codec.o
-snd-ac97-bus-objs := ac97_bus.o
 
 # Toplevel Module Dependency
 obj-$(CONFIG_SND_AC97_CODEC) += snd-ac97-codec.o
 obj-$(CONFIG_SND_ENS1370) += snd-ak4531-codec.o
-obj-$(CONFIG_SND_AC97_BUS) += snd-ac97-bus.o
 
 obj-m := $(sort $(obj-m))