diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-12-13 01:47:05 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-13 01:47:05 -0500 |
commit | d1397f837647d8b6b3c9253a7e713d203f3cbb26 (patch) | |
tree | 0bfe939169987703e63f3624d5dbb38938253760 /drivers/media/video/saa7134 | |
parent | 278efe950988e72e2d0cea35059438fc27035d13 (diff) | |
parent | d00d598ffbba974d9045ba8b95296655fe2162c5 (diff) |
Merge branch 'upstream'
Diffstat (limited to 'drivers/media/video/saa7134')
-rw-r--r-- | drivers/media/video/saa7134/saa6752hs.c | 17 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-alsa.c | 16 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-core.c | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-empress.c | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-i2c.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-oss.c | 93 |
7 files changed, 72 insertions, 60 deletions
diff --git a/drivers/media/video/saa7134/saa6752hs.c b/drivers/media/video/saa7134/saa6752hs.c index cdd1ed9c8065..a61d24f588f7 100644 --- a/drivers/media/video/saa7134/saa6752hs.c +++ b/drivers/media/video/saa7134/saa6752hs.c | |||
@@ -523,7 +523,8 @@ static int saa6752hs_attach(struct i2c_adapter *adap, int addr, int kind) | |||
523 | h->standard = 0; | 523 | h->standard = 0; |
524 | 524 | ||
525 | i2c_set_clientdata(&h->client, h); | 525 | i2c_set_clientdata(&h->client, h); |
526 | i2c_attach_client(&h->client); | 526 | i2c_attach_client(&h->client); |
527 | |||
527 | return 0; | 528 | return 0; |
528 | } | 529 | } |
529 | 530 | ||
@@ -597,19 +598,19 @@ saa6752hs_command(struct i2c_client *client, unsigned int cmd, void *arg) | |||
597 | 598 | ||
598 | static struct i2c_driver driver = { | 599 | static struct i2c_driver driver = { |
599 | .owner = THIS_MODULE, | 600 | .owner = THIS_MODULE, |
600 | .name = "i2c saa6752hs MPEG encoder", | 601 | .name = "i2c saa6752hs MPEG encoder", |
601 | .id = I2C_DRIVERID_SAA6752HS, | 602 | .id = I2C_DRIVERID_SAA6752HS, |
602 | .flags = I2C_DF_NOTIFY, | 603 | .flags = I2C_DF_NOTIFY, |
603 | .attach_adapter = saa6752hs_probe, | 604 | .attach_adapter = saa6752hs_probe, |
604 | .detach_client = saa6752hs_detach, | 605 | .detach_client = saa6752hs_detach, |
605 | .command = saa6752hs_command, | 606 | .command = saa6752hs_command, |
606 | }; | 607 | }; |
607 | 608 | ||
608 | static struct i2c_client client_template = | 609 | static struct i2c_client client_template = |
609 | { | 610 | { |
610 | .name = "saa6752hs", | 611 | .name = "saa6752hs", |
611 | .flags = I2C_CLIENT_ALLOW_USE, | 612 | .flags = I2C_CLIENT_ALLOW_USE, |
612 | .driver = &driver, | 613 | .driver = &driver, |
613 | }; | 614 | }; |
614 | 615 | ||
615 | static int __init saa6752hs_init_module(void) | 616 | static int __init saa6752hs_init_module(void) |
diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c index 263c6e2e3e8e..b24a26b065c2 100644 --- a/drivers/media/video/saa7134/saa7134-alsa.c +++ b/drivers/media/video/saa7134/saa7134-alsa.c | |||
@@ -51,6 +51,7 @@ MODULE_PARM_DESC(debug,"enable debug messages [alsa]"); | |||
51 | #define MIXER_ADDR_LINE2 2 | 51 | #define MIXER_ADDR_LINE2 2 |
52 | #define MIXER_ADDR_LAST 2 | 52 | #define MIXER_ADDR_LAST 2 |
53 | 53 | ||
54 | |||
54 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ | 55 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ |
55 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ | 56 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ |
56 | static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; | 57 | static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; |
@@ -59,11 +60,14 @@ module_param_array(index, int, NULL, 0444); | |||
59 | MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s)."); | 60 | MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s)."); |
60 | 61 | ||
61 | #define dprintk(fmt, arg...) if (debug) \ | 62 | #define dprintk(fmt, arg...) if (debug) \ |
62 | printk(KERN_DEBUG "%s/alsa: " fmt, dev->name , ## arg) | 63 | printk(KERN_DEBUG "%s/alsa: " fmt, dev->name, ## arg) |
64 | |||
65 | |||
63 | 66 | ||
64 | /* | 67 | /* |
65 | * Main chip structure | 68 | * Main chip structure |
66 | */ | 69 | */ |
70 | |||
67 | typedef struct snd_card_saa7134 { | 71 | typedef struct snd_card_saa7134 { |
68 | snd_card_t *card; | 72 | snd_card_t *card; |
69 | spinlock_t mixer_lock; | 73 | spinlock_t mixer_lock; |
@@ -208,8 +212,8 @@ static void saa7134_irq_alsa_done(struct saa7134_dev *dev, | |||
208 | 212 | ||
209 | static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) | 213 | static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) |
210 | { | 214 | { |
211 | struct saa7134_dmasound *dmasound = dev_id; | 215 | struct saa7134_dmasound *dmasound = dev_id; |
212 | struct saa7134_dev *dev = dmasound->priv_data; | 216 | struct saa7134_dev *dev = dmasound->priv_data; |
213 | 217 | ||
214 | unsigned long report, status; | 218 | unsigned long report, status; |
215 | int loop, handled = 0; | 219 | int loop, handled = 0; |
@@ -985,7 +989,7 @@ static int saa7134_alsa_init(void) | |||
985 | struct saa7134_dev *dev = NULL; | 989 | struct saa7134_dev *dev = NULL; |
986 | struct list_head *list; | 990 | struct list_head *list; |
987 | 991 | ||
988 | printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); | 992 | printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); |
989 | 993 | ||
990 | list_for_each(list,&saa7134_devlist) { | 994 | list_for_each(list,&saa7134_devlist) { |
991 | dev = list_entry(list, struct saa7134_dev, devlist); | 995 | dev = list_entry(list, struct saa7134_dev, devlist); |
@@ -1004,6 +1008,7 @@ static int saa7134_alsa_init(void) | |||
1004 | printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); | 1008 | printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); |
1005 | 1009 | ||
1006 | return 0; | 1010 | return 0; |
1011 | |||
1007 | } | 1012 | } |
1008 | 1013 | ||
1009 | /* | 1014 | /* |
@@ -1027,3 +1032,6 @@ module_init(saa7134_alsa_init); | |||
1027 | module_exit(saa7134_alsa_exit); | 1032 | module_exit(saa7134_alsa_exit); |
1028 | MODULE_LICENSE("GPL"); | 1033 | MODULE_LICENSE("GPL"); |
1029 | MODULE_AUTHOR("Ricardo Cerqueira"); | 1034 | MODULE_AUTHOR("Ricardo Cerqueira"); |
1035 | |||
1036 | |||
1037 | |||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 75abc20b0ccd..672fb205959f 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -976,7 +976,7 @@ struct saa7134_board saa7134_boards[] = { | |||
976 | .radio_type = UNSET, | 976 | .radio_type = UNSET, |
977 | .tuner_addr = ADDR_UNSET, | 977 | .tuner_addr = ADDR_UNSET, |
978 | .radio_addr = ADDR_UNSET, | 978 | .radio_addr = ADDR_UNSET, |
979 | .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, | 979 | .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_ACTIVE, |
980 | .inputs = {{ | 980 | .inputs = {{ |
981 | .name = name_tv, | 981 | .name = name_tv, |
982 | .vmux = 3, | 982 | .vmux = 3, |
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c index 1a093bf176f3..23d8747338ed 100644 --- a/drivers/media/video/saa7134/saa7134-core.c +++ b/drivers/media/video/saa7134/saa7134-core.c | |||
@@ -71,6 +71,7 @@ static unsigned int radio_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | |||
71 | static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | 71 | static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; |
72 | static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | 72 | static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; |
73 | 73 | ||
74 | |||
74 | module_param_array(video_nr, int, NULL, 0444); | 75 | module_param_array(video_nr, int, NULL, 0444); |
75 | module_param_array(vbi_nr, int, NULL, 0444); | 76 | module_param_array(vbi_nr, int, NULL, 0444); |
76 | module_param_array(radio_nr, int, NULL, 0444); | 77 | module_param_array(radio_nr, int, NULL, 0444); |
diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c index e9ec69efb4c9..575f3e835f91 100644 --- a/drivers/media/video/saa7134/saa7134-empress.c +++ b/drivers/media/video/saa7134/saa7134-empress.c | |||
@@ -36,6 +36,7 @@ MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); | |||
36 | MODULE_LICENSE("GPL"); | 36 | MODULE_LICENSE("GPL"); |
37 | 37 | ||
38 | static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | 38 | static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; |
39 | |||
39 | module_param_array(empress_nr, int, NULL, 0444); | 40 | module_param_array(empress_nr, int, NULL, 0444); |
40 | MODULE_PARM_DESC(empress_nr,"ts device number"); | 41 | MODULE_PARM_DESC(empress_nr,"ts device number"); |
41 | 42 | ||
diff --git a/drivers/media/video/saa7134/saa7134-i2c.c b/drivers/media/video/saa7134/saa7134-i2c.c index 7575043f0874..df9dd36721e0 100644 --- a/drivers/media/video/saa7134/saa7134-i2c.c +++ b/drivers/media/video/saa7134/saa7134-i2c.c | |||
@@ -333,7 +333,7 @@ static int attach_inform(struct i2c_client *client) | |||
333 | struct tuner_setup tun_setup; | 333 | struct tuner_setup tun_setup; |
334 | 334 | ||
335 | d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", | 335 | d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", |
336 | client->driver->name, client->addr, client->name); | 336 | client->driver->name, client->addr, client->name); |
337 | 337 | ||
338 | /* Am I an i2c remote control? */ | 338 | /* Am I an i2c remote control? */ |
339 | 339 | ||
diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c index 5a579194e455..513a699a6df2 100644 --- a/drivers/media/video/saa7134/saa7134-oss.c +++ b/drivers/media/video/saa7134/saa7134-oss.c | |||
@@ -782,36 +782,36 @@ struct file_operations saa7134_mixer_fops = { | |||
782 | 782 | ||
783 | static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) | 783 | static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) |
784 | { | 784 | { |
785 | struct saa7134_dmasound *dmasound = dev_id; | 785 | struct saa7134_dmasound *dmasound = dev_id; |
786 | struct saa7134_dev *dev = dmasound->priv_data; | 786 | struct saa7134_dev *dev = dmasound->priv_data; |
787 | unsigned long report, status; | 787 | unsigned long report, status; |
788 | int loop, handled = 0; | 788 | int loop, handled = 0; |
789 | 789 | ||
790 | for (loop = 0; loop < 10; loop++) { | 790 | for (loop = 0; loop < 10; loop++) { |
791 | report = saa_readl(SAA7134_IRQ_REPORT); | 791 | report = saa_readl(SAA7134_IRQ_REPORT); |
792 | status = saa_readl(SAA7134_IRQ_STATUS); | 792 | status = saa_readl(SAA7134_IRQ_STATUS); |
793 | 793 | ||
794 | if (report & SAA7134_IRQ_REPORT_DONE_RA3) { | 794 | if (report & SAA7134_IRQ_REPORT_DONE_RA3) { |
795 | handled = 1; | 795 | handled = 1; |
796 | saa_writel(SAA7134_IRQ_REPORT,report); | 796 | saa_writel(SAA7134_IRQ_REPORT,report); |
797 | saa7134_irq_oss_done(dev, status); | 797 | saa7134_irq_oss_done(dev, status); |
798 | } else { | 798 | } else { |
799 | goto out; | 799 | goto out; |
800 | } | 800 | } |
801 | } | 801 | } |
802 | 802 | ||
803 | if (loop == 10) { | 803 | if (loop == 10) { |
804 | dprintk("error! looping IRQ!"); | 804 | dprintk("error! looping IRQ!"); |
805 | } | 805 | } |
806 | out: | 806 | out: |
807 | return IRQ_RETVAL(handled); | 807 | return IRQ_RETVAL(handled); |
808 | } | 808 | } |
809 | 809 | ||
810 | int saa7134_oss_init1(struct saa7134_dev *dev) | 810 | int saa7134_oss_init1(struct saa7134_dev *dev) |
811 | { | 811 | { |
812 | 812 | ||
813 | if ((request_irq(dev->pci->irq, saa7134_oss_irq, | 813 | if ((request_irq(dev->pci->irq, saa7134_oss_irq, |
814 | SA_SHIRQ | SA_INTERRUPT, dev->name, | 814 | SA_SHIRQ | SA_INTERRUPT, dev->name, |
815 | (void*) &dev->dmasound)) < 0) | 815 | (void*) &dev->dmasound)) < 0) |
816 | return -1; | 816 | return -1; |
817 | 817 | ||
@@ -905,25 +905,25 @@ static int saa7134_dsp_create(struct saa7134_dev *dev) | |||
905 | 905 | ||
906 | err = dev->dmasound.minor_dsp = | 906 | err = dev->dmasound.minor_dsp = |
907 | register_sound_dsp(&saa7134_dsp_fops, | 907 | register_sound_dsp(&saa7134_dsp_fops, |
908 | dsp_nr[dev->nr]); | 908 | dsp_nr[dev->nr]); |
909 | if (err < 0) { | 909 | if (err < 0) { |
910 | goto fail; | 910 | goto fail; |
911 | } | 911 | } |
912 | printk(KERN_INFO "%s: registered device dsp%d\n", | 912 | printk(KERN_INFO "%s: registered device dsp%d\n", |
913 | dev->name,dev->dmasound.minor_dsp >> 4); | 913 | dev->name,dev->dmasound.minor_dsp >> 4); |
914 | 914 | ||
915 | err = dev->dmasound.minor_mixer = | 915 | err = dev->dmasound.minor_mixer = |
916 | register_sound_mixer(&saa7134_mixer_fops, | 916 | register_sound_mixer(&saa7134_mixer_fops, |
917 | mixer_nr[dev->nr]); | 917 | mixer_nr[dev->nr]); |
918 | if (err < 0) | 918 | if (err < 0) |
919 | goto fail; | 919 | goto fail; |
920 | printk(KERN_INFO "%s: registered device mixer%d\n", | 920 | printk(KERN_INFO "%s: registered device mixer%d\n", |
921 | dev->name,dev->dmasound.minor_mixer >> 4); | 921 | dev->name,dev->dmasound.minor_mixer >> 4); |
922 | 922 | ||
923 | return 0; | 923 | return 0; |
924 | 924 | ||
925 | fail: | 925 | fail: |
926 | unregister_sound_dsp(dev->dmasound.minor_dsp); | 926 | unregister_sound_dsp(dev->dmasound.minor_dsp); |
927 | return 0; | 927 | return 0; |
928 | 928 | ||
929 | 929 | ||
@@ -956,49 +956,50 @@ static int oss_device_exit(struct saa7134_dev *dev) | |||
956 | 956 | ||
957 | static int saa7134_oss_init(void) | 957 | static int saa7134_oss_init(void) |
958 | { | 958 | { |
959 | struct saa7134_dev *dev = NULL; | 959 | struct saa7134_dev *dev = NULL; |
960 | struct list_head *list; | 960 | struct list_head *list; |
961 | 961 | ||
962 | printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); | 962 | printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); |
963 | 963 | ||
964 | list_for_each(list,&saa7134_devlist) { | 964 | list_for_each(list,&saa7134_devlist) { |
965 | dev = list_entry(list, struct saa7134_dev, devlist); | 965 | dev = list_entry(list, struct saa7134_dev, devlist); |
966 | if (dev->dmasound.priv_data == NULL) { | 966 | if (dev->dmasound.priv_data == NULL) { |
967 | oss_device_init(dev); | 967 | oss_device_init(dev); |
968 | } else { | 968 | } else { |
969 | printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); | 969 | printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); |
970 | return -EBUSY; | 970 | return -EBUSY; |
971 | } | 971 | } |
972 | } | 972 | } |
973 | 973 | ||
974 | if (dev == NULL) | 974 | if (dev == NULL) |
975 | printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); | 975 | printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); |
976 | 976 | ||
977 | dmasound_init = oss_device_init; | 977 | dmasound_init = oss_device_init; |
978 | dmasound_exit = oss_device_exit; | 978 | dmasound_exit = oss_device_exit; |
979 | 979 | ||
980 | return 0; | 980 | return 0; |
981 | 981 | ||
982 | } | 982 | } |
983 | 983 | ||
984 | static void saa7134_oss_exit(void) | 984 | static void saa7134_oss_exit(void) |
985 | { | 985 | { |
986 | struct saa7134_dev *dev = NULL; | 986 | struct saa7134_dev *dev = NULL; |
987 | struct list_head *list; | 987 | struct list_head *list; |
988 | 988 | ||
989 | list_for_each(list,&saa7134_devlist) { | 989 | list_for_each(list,&saa7134_devlist) { |
990 | dev = list_entry(list, struct saa7134_dev, devlist); | 990 | dev = list_entry(list, struct saa7134_dev, devlist); |
991 | 991 | ||
992 | /* Device isn't registered by OSS, probably ALSA's */ | 992 | /* Device isn't registered by OSS, probably ALSA's */ |
993 | if (!dev->dmasound.minor_dsp) | 993 | if (!dev->dmasound.minor_dsp) |
994 | continue; | 994 | continue; |
995 | 995 | ||
996 | oss_device_exit(dev); | 996 | oss_device_exit(dev); |
997 | } | ||
998 | 997 | ||
999 | printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); | 998 | } |
999 | |||
1000 | printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); | ||
1000 | 1001 | ||
1001 | return; | 1002 | return; |
1002 | } | 1003 | } |
1003 | 1004 | ||
1004 | module_init(saa7134_oss_init); | 1005 | module_init(saa7134_oss_init); |