[media] go7007: update the README
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 25 Mar 2013 09:52:19 +0000 (06:52 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 25 Mar 2013 11:09:18 +0000 (08:09 -0300)
Include the patch required to add support for the go7007 to saa7134.
To be applied once the driver is moved out of staging.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/staging/media/go7007/README

index aeba1324a9c5e5b7089c6b3fc216b50ce98e7e8b..3af0d9062811aed796e62ace16a541906d548d2a 100644 (file)
 Todo:
-       - checkpatch.pl cleanups
-       - sparse cleanups
-       - lots of little modules, should be merged together
-         and added to the build.
-       - testing?
-       - handle churn in v4l layer.
+       - create an API for motion detection
+       - let s2250-board use i2c subdevs as well instead of hardcoding
+         support for the i2c devices.
+       - when the driver is moved out of staging, support for saa7134-go7007
+         should be added to the saa7134 driver. The patch for that is
+         included below.
 
-Please send patches to Greg Kroah-Hartman <greg@linuxfoundation.org> and Cc: Ross
-Cohen <rcohen@snurgle.org> as well.
+Patch for saa7134:
 
+diff --git a/drivers/media/pci/saa7134/saa7134-cards.c b/drivers/media/pci/saa7134/saa7134-cards.c
+index dc68cf1..9a53794 100644
+--- a/drivers/media/pci/saa7134/saa7134-cards.c
++++ b/drivers/media/pci/saa7134/saa7134-cards.c
+@@ -5790,6 +5790,29 @@ struct saa7134_board saa7134_boards[] = {
+                       .gpio = 0x6010000,
+               } },
+       },
++      [SAA7134_BOARD_WIS_VOYAGER] = {
++              .name           = "WIS Voyager or compatible",
++              .audio_clock    = 0x00200000,
++              .tuner_type     = TUNER_PHILIPS_TDA8290,
++              .radio_type     = UNSET,
++              .tuner_addr     = ADDR_UNSET,
++              .radio_addr     = ADDR_UNSET,
++              .mpeg           = SAA7134_MPEG_GO7007,
++              .inputs         = { {
++                      .name = name_comp1,
++                      .vmux = 0,
++                      .amux = LINE2,
++              }, {
++                      .name = name_tv,
++                      .vmux = 3,
++                      .amux = TV,
++                      .tv   = 1,
++              }, {
++                      .name = name_svideo,
++                      .vmux = 6,
++              .amux = LINE1,
++              } },
++      },
+ };
+@@ -7037,6 +7060,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
+               .subdevice    = 0x0911,
+               .driver_data  = SAA7134_BOARD_SENSORAY811_911,
+       }, {
++              .vendor       = PCI_VENDOR_ID_PHILIPS,
++              .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
++              .subvendor    = 0x1905, /* WIS */
++              .subdevice    = 0x7007,
++              .driver_data  = SAA7134_BOARD_WIS_VOYAGER,
++      }, {
+               /* --- boards without eeprom + subsystem ID --- */
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
+diff --git a/drivers/media/pci/saa7134/saa7134-core.c b/drivers/media/pci/saa7134/saa7134-core.c
+index 8fd24e7..0a849ea 100644
+--- a/drivers/media/pci/saa7134/saa7134-core.c
++++ b/drivers/media/pci/saa7134/saa7134-core.c
+@@ -156,6 +156,8 @@ static void request_module_async(struct work_struct *work){
+               request_module("saa7134-empress");
+       if (card_is_dvb(dev))
+               request_module("saa7134-dvb");
++      if (card_is_go7007(dev))
++              request_module("saa7134-go7007");
+       if (alsa) {
+               if (dev->pci->device != PCI_DEVICE_ID_PHILIPS_SAA7130)
+                       request_module("saa7134-alsa");
+@@ -557,8 +559,12 @@ static irqreturn_t saa7134_irq(int irq, void *dev_id)
+                       saa7134_irq_vbi_done(dev,status);
+               if ((report & SAA7134_IRQ_REPORT_DONE_RA2) &&
+-                  card_has_mpeg(dev))
+-                      saa7134_irq_ts_done(dev,status);
++                  card_has_mpeg(dev)) {
++                      if (dev->mops->irq_ts_done != NULL)
++                              dev->mops->irq_ts_done(dev, status);
++                      else
++                              saa7134_irq_ts_done(dev, status);
++              }
+               if (report & SAA7134_IRQ_REPORT_GPIO16) {
+                       switch (dev->has_remote) {
+diff --git a/drivers/media/pci/saa7134/saa7134.h b/drivers/media/pci/saa7134/saa7134.h
+index 62169dd..5fad39a 100644
+--- a/drivers/media/pci/saa7134/saa7134.h
++++ b/drivers/media/pci/saa7134/saa7134.h
+@@ -334,6 +334,7 @@ struct saa7134_card_ir {
+ #define SAA7134_BOARD_KWORLD_PC150U         189
+ #define SAA7134_BOARD_ASUSTeK_PS3_100      190
+ #define SAA7134_BOARD_HAWELL_HW_9004V1      191
++#define SAA7134_BOARD_WIS_VOYAGER           192
+ #define SAA7134_MAXBOARDS 32
+ #define SAA7134_INPUT_MAX 8
+@@ -364,6 +365,7 @@ enum saa7134_mpeg_type {
+       SAA7134_MPEG_UNUSED,
+       SAA7134_MPEG_EMPRESS,
+       SAA7134_MPEG_DVB,
++      SAA7134_MPEG_GO7007,
+ };
+ enum saa7134_mpeg_ts_type {
+@@ -403,6 +405,7 @@ struct saa7134_board {
+ #define card_has_radio(dev)   (NULL != saa7134_boards[dev->board].radio.name)
+ #define card_is_empress(dev)  (SAA7134_MPEG_EMPRESS == saa7134_boards[dev->board].mpeg)
+ #define card_is_dvb(dev)      (SAA7134_MPEG_DVB     == saa7134_boards[dev->board].mpeg)
++#define card_is_go7007(dev)   (SAA7134_MPEG_GO7007  == saa7134_boards[dev->board].mpeg)
+ #define card_has_mpeg(dev)    (SAA7134_MPEG_UNUSED  != saa7134_boards[dev->board].mpeg)
+ #define card(dev)             (saa7134_boards[dev->board])
+ #define card_in(dev,n)        (saa7134_boards[dev->board].inputs[n])
+@@ -535,6 +538,8 @@ struct saa7134_mpeg_ops {
+       int                        (*init)(struct saa7134_dev *dev);
+       int                        (*fini)(struct saa7134_dev *dev);
+       void                       (*signal_change)(struct saa7134_dev *dev);
++      void                       (*irq_ts_done)(struct saa7134_dev *dev,
++                                                unsigned long status);
+ };
+ /* global device status */
+diff --git a/drivers/staging/media/go7007/Makefile b/drivers/staging/media/go7007/Makefile
+index 9c6ad4a..1b23689 100644
+--- a/drivers/staging/media/go7007/Makefile
++++ b/drivers/staging/media/go7007/Makefile
+@@ -8,8 +8,7 @@ go7007-y := go7007-v4l2.o go7007-driver.o go7007-i2c.o go7007-fw.o \
+ s2250-y := s2250-board.o
+-# Uncomment when the saa7134 patches get into upstream
+-#obj-$(CONFIG_VIDEO_SAA7134) += saa7134-go7007.o
+-#ccflags-$(CONFIG_VIDEO_SAA7134:m=y) += -Idrivers/media/pci/saa7134
++obj-$(CONFIG_VIDEO_SAA7134) += saa7134-go7007.o
++ccflags-$(CONFIG_VIDEO_SAA7134:m=y) += -Idrivers/media/pci/saa7134
+ ccflags-$(CONFIG_VIDEO_GO7007_LOADER:m=y) += -Idrivers/media/common