-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 366819 b: refs/heads/master c: 7118b44 h: refs/heads/master i: 366817: 12791f1 366815: 8e9b398 v: v3
- Loading branch information
Hans Verkuil
authored and
Mauro Carvalho Chehab
committed
Mar 25, 2013
1 parent
171d382
commit 65251dc
Showing
2 changed files
with
135 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 0a522228c1105de7b898bbacc703d5d6191767a8 | ||
refs/heads/master: 7118b4431b185a101e700ac79fa011000b2b71c3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,137 @@ | ||
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 |