[media] siano: break it into common, mmc and usb
siano is, in fact, 2 drivers: one for MMC and one for USB, plus
a common bus-independent code. Break it accordingly.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index aae6fec..7970c24 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -163,6 +163,7 @@
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
diff --git a/drivers/media/Makefile b/drivers/media/Makefile
index f89ccac..3265a9a 100644
--- a/drivers/media/Makefile
+++ b/drivers/media/Makefile
@@ -11,5 +11,5 @@
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/
diff --git a/drivers/media/common/Kconfig b/drivers/media/common/Kconfig
index 157f191..121b011 100644
--- a/drivers/media/common/Kconfig
+++ b/drivers/media/common/Kconfig
@@ -1,2 +1,3 @@
source "drivers/media/common/b2c2/Kconfig"
source "drivers/media/common/saa7146/Kconfig"
+source "drivers/media/common/siano/Kconfig"
diff --git a/drivers/media/common/Makefile b/drivers/media/common/Makefile
index f3afd83..b8e2e3a 100644
--- a/drivers/media/common/Makefile
+++ b/drivers/media/common/Makefile
@@ -1 +1 @@
-obj-y += b2c2/ saa7146/
+obj-y += b2c2/ saa7146/ siano/
diff --git a/drivers/media/common/siano/Kconfig b/drivers/media/common/siano/Kconfig
new file mode 100644
index 0000000..425aead
--- /dev/null
+++ b/drivers/media/common/siano/Kconfig
@@ -0,0 +1,17 @@
+#
+# 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/
diff --git a/drivers/media/common/siano/Makefile b/drivers/media/common/siano/Makefile
new file mode 100644
index 0000000..2a09279
--- /dev/null
+++ b/drivers/media/common/siano/Makefile
@@ -0,0 +1,7 @@
+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)
+
diff --git a/drivers/media/usb/siano/sms-cards.c b/drivers/media/common/siano/sms-cards.c
similarity index 100%
rename from drivers/media/usb/siano/sms-cards.c
rename to drivers/media/common/siano/sms-cards.c
diff --git a/drivers/media/usb/siano/sms-cards.h b/drivers/media/common/siano/sms-cards.h
similarity index 100%
rename from drivers/media/usb/siano/sms-cards.h
rename to drivers/media/common/siano/sms-cards.h
diff --git a/drivers/media/usb/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c
similarity index 100%
rename from drivers/media/usb/siano/smscoreapi.c
rename to drivers/media/common/siano/smscoreapi.c
diff --git a/drivers/media/usb/siano/smscoreapi.h b/drivers/media/common/siano/smscoreapi.h
similarity index 100%
rename from drivers/media/usb/siano/smscoreapi.h
rename to drivers/media/common/siano/smscoreapi.h
diff --git a/drivers/media/usb/siano/smsdvb.c b/drivers/media/common/siano/smsdvb.c
similarity index 100%
rename from drivers/media/usb/siano/smsdvb.c
rename to drivers/media/common/siano/smsdvb.c
diff --git a/drivers/media/usb/siano/smsendian.c b/drivers/media/common/siano/smsendian.c
similarity index 100%
rename from drivers/media/usb/siano/smsendian.c
rename to drivers/media/common/siano/smsendian.c
diff --git a/drivers/media/usb/siano/smsendian.h b/drivers/media/common/siano/smsendian.h
similarity index 100%
rename from drivers/media/usb/siano/smsendian.h
rename to drivers/media/common/siano/smsendian.h
diff --git a/drivers/media/usb/siano/smsir.c b/drivers/media/common/siano/smsir.c
similarity index 100%
rename from drivers/media/usb/siano/smsir.c
rename to drivers/media/common/siano/smsir.c
diff --git a/drivers/media/usb/siano/smsir.h b/drivers/media/common/siano/smsir.h
similarity index 100%
rename from drivers/media/usb/siano/smsir.h
rename to drivers/media/common/siano/smsir.h
diff --git a/drivers/media/mmc/Kconfig b/drivers/media/mmc/Kconfig
new file mode 100644
index 0000000..0f2a957
--- /dev/null
+++ b/drivers/media/mmc/Kconfig
@@ -0,0 +1 @@
+source "drivers/media/mmc/siano/Kconfig"
diff --git a/drivers/media/mmc/Makefile b/drivers/media/mmc/Makefile
new file mode 100644
index 0000000..dacd3cb
--- /dev/null
+++ b/drivers/media/mmc/Makefile
@@ -0,0 +1 @@
+obj-y := siano/
diff --git a/drivers/media/mmc/siano/Kconfig b/drivers/media/mmc/siano/Kconfig
new file mode 100644
index 0000000..fa62475
--- /dev/null
+++ b/drivers/media/mmc/siano/Kconfig
@@ -0,0 +1,10 @@
+#
+# 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
diff --git a/drivers/media/mmc/siano/Makefile b/drivers/media/mmc/siano/Makefile
new file mode 100644
index 0000000..0e01f97
--- /dev/null
+++ b/drivers/media/mmc/siano/Makefile
@@ -0,0 +1,6 @@
+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)
+
diff --git a/drivers/media/usb/siano/smssdio.c b/drivers/media/mmc/siano/smssdio.c
similarity index 100%
rename from drivers/media/usb/siano/smssdio.c
rename to drivers/media/mmc/siano/smssdio.c
diff --git a/drivers/media/usb/siano/Kconfig b/drivers/media/usb/siano/Kconfig
index bc6456e..3c76e62 100644
--- a/drivers/media/usb/siano/Kconfig
+++ b/drivers/media/usb/siano/Kconfig
@@ -2,33 +2,9 @@
# 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
diff --git a/drivers/media/usb/siano/Makefile b/drivers/media/usb/siano/Makefile
index 14756bd..758b6a0 100644
--- a/drivers/media/usb/siano/Makefile
+++ b/drivers/media/usb/siano/Makefile
@@ -1,11 +1,6 @@
-
-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)