ep93xx: fix sound dependencies for ep93xx
[openwrt.git] / target / linux / ep93xx / modules.mk
index 94d2c83..1667163 100644 (file)
@@ -5,10 +5,26 @@
 # See /LICENSE for more information.
 #
 
+define KernelPackage/fb-ep93xx
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=EP93xx framebuffer support
+  DEPENDS:=@TARGET_ep93xx +kmod-fb +kmod-fb-cfb-fillrect \
+          +kmod-fb-cfb-copyarea +kmod-fb-cfb-imgblt
+  KCONFIG:=CONFIG_FB_EP93XX
+  FILES:=$(LINUX_DIR)/drivers/video/ep93xx-fb.ko
+  AUTOLOAD:=$(call AutoLoad,51,ep93xx-fb)
+endef
+
+define KernelPackage/fb-ep93xx/description
+  EP93xx framebuffer support
+endef
+
+$(eval $(call KernelPackage,fb-ep93xx))
+
 define KernelPackage/input-keyboard-ep93xx
   SUBMENU:=$(OTHER_MENU)
   TITLE:=EP93xx Matrix Keypad support
-  DEPENDS:=@TARGET_ep93xx
+  DEPENDS:=@TARGET_ep93xx +(LINUX_3_6||LINUX_3_7):kmod-input-matrixkmap
   KCONFIG:= \
        CONFIG_KEYBOARD_EP93XX \
        CONFIG_INPUT_KEYBOARD=y
@@ -23,14 +39,19 @@ endef
 
 $(eval $(call KernelPackage,input-keyboard-ep93xx))
 
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.8.0)),1)
+SND_EP93XX_SOC_DIR:=cirrus
+else
+SND_EP93XX_SOC_DIR:=ep93xx
+endif
 
 define KernelPackage/sound-soc-ep93xx
   SUBMENU:=$(SOUND_MENU)
   TITLE:=EP93xx SoC sound support
   DEPENDS:=@TARGET_ep93xx +kmod-sound-core +kmod-sound-soc-core
   KCONFIG:=CONFIG_SND_EP93XX_SOC
-  FILES:=$(LINUX_DIR)/sound/soc/ep93xx/snd-soc-ep93xx.ko
-  AUTOLOAD:=$(call AutoLoad,56,snd-soc-ep93xx)
+  FILES:=$(LINUX_DIR)/sound/soc/$(SND_EP93XX_SOC_DIR)/snd-soc-ep93xx.ko
+  AUTOLOAD:=$(call AutoLoad,57,snd-soc-ep93xx)
 endef
 
 define KernelPackage/sound-soc-ep93xx/description
@@ -39,13 +60,15 @@ endef
 
 $(eval $(call KernelPackage,sound-soc-ep93xx))
 
+# Must be loaded prior to sound-soc-ac97 because it exports
+# soc_ac97_ops
 define KernelPackage/sound-soc-ep93xx-ac97
   SUBMENU:=$(SOUND_MENU)
   TITLE:=EP93xx SoC AC97 support
-  DEPENDS:=+kmod-sound-soc-ep93xx
+  DEPENDS:=@TARGET_ep93xx +kmod-sound-soc-core
   KCONFIG:=CONFIG_SND_EP93XX_SOC_AC97
-  FILES:=$(LINUX_DIR)/sound/soc/ep93xx/snd-soc-ep93xx-ac97.ko
-  AUTOLOAD:=$(call AutoLoad,57,snd-soc-ep93xx-ac97)
+  FILES:=$(LINUX_DIR)/sound/soc/$(SND_EP93XX_SOC_DIR)/snd-soc-ep93xx-ac97.ko
+  AUTOLOAD:=$(call AutoLoad,56,snd-soc-ep93xx-ac97)
 endef
 
 define KernelPackage/sound-soc-ep93xx-ac97/description
@@ -57,10 +80,10 @@ $(eval $(call KernelPackage,sound-soc-ep93xx-ac97))
 define KernelPackage/sound-soc-ep93xx-simone
   SUBMENU:=$(SOUND_MENU)
   TITLE:=Sim.One EP93xx Soc sound support
-  DEPENDS:=+kmod-sound-soc-ep93xx +kmod-sound-soc-ep93xx-ac97
+  DEPENDS:=@TARGET_ep93xx +kmod-sound-soc-core
   KCONFIG:=CONFIG_SND_EP93XX_SOC_SIMONE
-  FILES:=$(LINUX_DIR)/sound/soc/ep93xx/snd-soc-simone.ko
-  AUTOLOAD:=$(call AutoLoad,57,snd-soc-ep93xx)
+  FILES:=$(LINUX_DIR)/sound/soc/$(SND_EP93XX_SOC_DIR)/snd-soc-simone.ko
+  AUTOLOAD:=$(call AutoLoad,59,snd-soc-ep93xx)
 endef
 
 define KernelPackage/sound-soc-ep93xx-simone/description
@@ -72,6 +95,7 @@ $(eval $(call KernelPackage,sound-soc-ep93xx-simone))
 define KernelPackage/touchscreen-ep93xx
   SUBMENU:=$(OTHER_MENU)
   TITLE:=EP93xx input touchscreen support
+  DEPENDS:=@TARGET_ep93xx
   KCONFIG:=CONFIG_TOUCHSCREEN_EP93XX
   FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ep93xx_ts.ko
   AUTOLOAD:=$(call AutoLoad,51,ep93xx_ts)