source "drivers/media/dvb-core/Kconfig"
 source "drivers/media/pci/Kconfig"
 source "drivers/media/usb/Kconfig"
+source "drivers/media/mmc/Kconfig"
 
 comment "Supported FireWire (IEEE 1394) Adapters"
        depends on DVB_CORE && FIREWIRE
 
 obj-y += v4l2-core/ tuners/ common/ rc/ video/
 
 obj-$(CONFIG_VIDEO_DEV) += radio/
-obj-$(CONFIG_DVB_CORE)  += dvb-core/ pci/ dvb-frontends/ usb/
+obj-$(CONFIG_DVB_CORE)  += dvb-core/ pci/ dvb-frontends/ usb/ mmc/
 obj-$(CONFIG_DVB_FIREDTV) += firewire/
 
 source "drivers/media/common/b2c2/Kconfig"
 source "drivers/media/common/saa7146/Kconfig"
+source "drivers/media/common/siano/Kconfig"
 
-obj-y += b2c2/ saa7146/
+obj-y += b2c2/ saa7146/ siano/
 
--- /dev/null
+#
+# Siano Mobile Silicon Digital TV device configuration
+#
+
+config SMS_SIANO_MDTV
+       tristate
+       depends on DVB_CORE && RC_CORE && HAS_DMA
+       depends on SMS_USB_DRV || SMS_SDIO_DRV
+       default y
+       ---help---
+         Choose Y or M here if you have MDTV receiver with a Siano chipset.
+
+         To compile this driver as a module, choose M here
+         (The module will be called smsmdtv).
+
+         Further documentation on this driver can be found on the WWW
+         at http://www.siano-ms.com/
 
--- /dev/null
+smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o smsir.o
+
+obj-$(CONFIG_SMS_SIANO_MDTV) += smsmdtv.o smsdvb.o
+
+ccflags-y += -Idrivers/media/dvb-core
+ccflags-y += $(extra-cflags-y) $(extra-cflags-m)
+
 
--- /dev/null
+source "drivers/media/mmc/siano/Kconfig"
 
--- /dev/null
+obj-y := siano/
 
--- /dev/null
+#
+# Siano Mobile Silicon Digital TV device configuration
+#
+
+config SMS_SDIO_DRV
+       tristate "Siano SMS1xxx based MDTV via SDIO interface"
+       depends on DVB_CORE && RC_CORE && HAS_DMA
+       depends on MMC
+       ---help---
+         Choose if you would like to have Siano's support for SDIO interface
 
--- /dev/null
+obj-$(CONFIG_SMS_SDIO_DRV) += smssdio.o
+
+ccflags-y += -Idrivers/media/dvb-core
+ccflags-y += -Idrivers/media/common/siano
+ccflags-y += $(extra-cflags-y) $(extra-cflags-m)
+
 
 # Siano Mobile Silicon Digital TV device configuration
 #
 
-config SMS_SIANO_MDTV
+config SMS_USB_DRV
        tristate "Siano SMS1xxx based MDTV receiver"
        depends on DVB_CORE && RC_CORE && HAS_DMA
-       ---help---
-         Choose Y or M here if you have MDTV receiver with a Siano chipset.
-
-         To compile this driver as a module, choose M here
-         (The module will be called smsmdtv).
-
-         Further documentation on this driver can be found on the WWW
-         at http://www.siano-ms.com/
-
-if SMS_SIANO_MDTV
-menu "Siano module components"
-
-# Hardware interfaces support
-
-config SMS_USB_DRV
-       tristate "USB interface support"
-       depends on DVB_CORE && USB
        ---help---
          Choose if you would like to have Siano's support for USB interface
 
-config SMS_SDIO_DRV
-       tristate "SDIO interface support"
-       depends on DVB_CORE && MMC
-       ---help---
-         Choose if you would like to have Siano's support for SDIO interface
-endmenu
-endif # SMS_SIANO_MDTV
 
-
-smsmdtv-objs := smscoreapi.o sms-cards.o smsendian.o smsir.o
-
-obj-$(CONFIG_SMS_SIANO_MDTV) += smsmdtv.o smsdvb.o
 obj-$(CONFIG_SMS_USB_DRV) += smsusb.o
-obj-$(CONFIG_SMS_SDIO_DRV) += smssdio.o
 
 ccflags-y += -Idrivers/media/dvb-core
-
+ccflags-y += -Idrivers/media/common/siano
 ccflags-y += $(extra-cflags-y) $(extra-cflags-m)