[PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 4
Clean up whitespaces at v4l/dvb files Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
afd1a0c9ac
Коммит
674434c691
|
@ -50,12 +50,12 @@ http://www.linuxtv.org/wiki/index.php/DVB_USB
|
||||||
0. History & News:
|
0. History & News:
|
||||||
2005-06-30 - added support for WideView WT-220U (Thanks to Steve Chang)
|
2005-06-30 - added support for WideView WT-220U (Thanks to Steve Chang)
|
||||||
2005-05-30 - added basic isochronous support to the dvb-usb-framework
|
2005-05-30 - added basic isochronous support to the dvb-usb-framework
|
||||||
added support for Conexant Hybrid reference design and Nebula DigiTV USB
|
added support for Conexant Hybrid reference design and Nebula DigiTV USB
|
||||||
2005-04-17 - all dibusb devices ported to make use of the dvb-usb-framework
|
2005-04-17 - all dibusb devices ported to make use of the dvb-usb-framework
|
||||||
2005-04-02 - re-enabled and improved remote control code.
|
2005-04-02 - re-enabled and improved remote control code.
|
||||||
2005-03-31 - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb.
|
2005-03-31 - ported the Yakumo/Hama/Typhoon DVB-T USB2.0 device to dvb-usb.
|
||||||
2005-03-30 - first commit of the dvb-usb-module based on the dibusb-source. First device is a new driver for the
|
2005-03-30 - first commit of the dvb-usb-module based on the dibusb-source. First device is a new driver for the
|
||||||
TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device.
|
TwinhanDTV Alpha / MagicBox II USB2.0-only DVB-T device.
|
||||||
|
|
||||||
(change from dvb-dibusb to dvb-usb)
|
(change from dvb-dibusb to dvb-usb)
|
||||||
2005-03-28 - added support for the AVerMedia AverTV DVB-T USB2.0 device (Thanks to Glen Harris and Jiun-Kuei Jung, AVerMedia)
|
2005-03-28 - added support for the AVerMedia AverTV DVB-T USB2.0 device (Thanks to Glen Harris and Jiun-Kuei Jung, AVerMedia)
|
||||||
|
@ -64,50 +64,50 @@ http://www.linuxtv.org/wiki/index.php/DVB_USB
|
||||||
2005-02-02 - added support for the Hauppauge Win-TV Nova-T USB2
|
2005-02-02 - added support for the Hauppauge Win-TV Nova-T USB2
|
||||||
2005-01-31 - distorted streaming is gone for USB1.1 devices
|
2005-01-31 - distorted streaming is gone for USB1.1 devices
|
||||||
2005-01-13 - moved the mirrored pid_filter_table back to dvb-dibusb
|
2005-01-13 - moved the mirrored pid_filter_table back to dvb-dibusb
|
||||||
- first almost working version for HanfTek UMT-010
|
- first almost working version for HanfTek UMT-010
|
||||||
- found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010
|
- found out, that Yakumo/HAMA/Typhoon are predecessors of the HanfTek UMT-010
|
||||||
2005-01-10 - refactoring completed, now everything is very delightful
|
2005-01-10 - refactoring completed, now everything is very delightful
|
||||||
- tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a
|
- tuner quirks for some weird devices (Artec T1 AN2235 device has sometimes a
|
||||||
Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich.
|
Panasonic Tuner assembled). Tunerprobing implemented. Thanks a lot to Gunnar Wittich.
|
||||||
2004-12-29 - after several days of struggling around bug of no returning URBs fixed.
|
2004-12-29 - after several days of struggling around bug of no returning URBs fixed.
|
||||||
2004-12-26 - refactored the dibusb-driver, splitted into separate files
|
2004-12-26 - refactored the dibusb-driver, splitted into separate files
|
||||||
- i2c-probing enabled
|
- i2c-probing enabled
|
||||||
2004-12-06 - possibility for demod i2c-address probing
|
2004-12-06 - possibility for demod i2c-address probing
|
||||||
- new usb IDs (Compro, Artec)
|
- new usb IDs (Compro, Artec)
|
||||||
2004-11-23 - merged changes from DiB3000MC_ver2.1
|
2004-11-23 - merged changes from DiB3000MC_ver2.1
|
||||||
- revised the debugging
|
- revised the debugging
|
||||||
- possibility to deliver the complete TS for USB2.0
|
- possibility to deliver the complete TS for USB2.0
|
||||||
2004-11-21 - first working version of the dib3000mc/p frontend driver.
|
2004-11-21 - first working version of the dib3000mc/p frontend driver.
|
||||||
2004-11-12 - added additional remote control keys. Thanks to Uwe Hanke.
|
2004-11-12 - added additional remote control keys. Thanks to Uwe Hanke.
|
||||||
2004-11-07 - added remote control support. Thanks to David Matthews.
|
2004-11-07 - added remote control support. Thanks to David Matthews.
|
||||||
2004-11-05 - added support for a new devices (Grandtec/Avermedia/Artec)
|
2004-11-05 - added support for a new devices (Grandtec/Avermedia/Artec)
|
||||||
- merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD
|
- merged my changes (for dib3000mb/dibusb) to the FE_REFACTORING, because it became HEAD
|
||||||
- moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems
|
- moved transfer control (pid filter, fifo control) from usb driver to frontend, it seems
|
||||||
better settled there (added xfer_ops-struct)
|
better settled there (added xfer_ops-struct)
|
||||||
- created a common files for frontends (mc/p/mb)
|
- created a common files for frontends (mc/p/mb)
|
||||||
2004-09-28 - added support for a new device (Unkown, vendor ID is Hyper-Paltek)
|
2004-09-28 - added support for a new device (Unkown, vendor ID is Hyper-Paltek)
|
||||||
2004-09-20 - added support for a new device (Compro DVB-U2000), thanks
|
2004-09-20 - added support for a new device (Compro DVB-U2000), thanks
|
||||||
to Amaury Demol for reporting
|
to Amaury Demol for reporting
|
||||||
- changed usb TS transfer method (several urbs, stopping transfer
|
- changed usb TS transfer method (several urbs, stopping transfer
|
||||||
before setting a new pid)
|
before setting a new pid)
|
||||||
2004-09-13 - added support for a new device (Artec T1 USB TVBOX), thanks
|
2004-09-13 - added support for a new device (Artec T1 USB TVBOX), thanks
|
||||||
to Christian Motschke for reporting
|
to Christian Motschke for reporting
|
||||||
2004-09-05 - released the dibusb device and dib3000mb-frontend driver
|
2004-09-05 - released the dibusb device and dib3000mb-frontend driver
|
||||||
|
|
||||||
(old news for vp7041.c)
|
(old news for vp7041.c)
|
||||||
2004-07-15 - found out, by accident, that the device has a TUA6010XS for
|
2004-07-15 - found out, by accident, that the device has a TUA6010XS for
|
||||||
PLL
|
PLL
|
||||||
2004-07-12 - figured out, that the driver should also work with the
|
2004-07-12 - figured out, that the driver should also work with the
|
||||||
CTS Portable (Chinese Television System)
|
CTS Portable (Chinese Television System)
|
||||||
2004-07-08 - firmware-extraction-2.422-problem solved, driver is now working
|
2004-07-08 - firmware-extraction-2.422-problem solved, driver is now working
|
||||||
properly with firmware extracted from 2.422
|
properly with firmware extracted from 2.422
|
||||||
- #if for 2.6.4 (dvb), compile issue
|
- #if for 2.6.4 (dvb), compile issue
|
||||||
- changed firmware handling, see vp7041.txt sec 1.1
|
- changed firmware handling, see vp7041.txt sec 1.1
|
||||||
2004-07-02 - some tuner modifications, v0.1, cleanups, first public
|
2004-07-02 - some tuner modifications, v0.1, cleanups, first public
|
||||||
2004-06-28 - now using the dvb_dmx_swfilter_packets, everything
|
2004-06-28 - now using the dvb_dmx_swfilter_packets, everything
|
||||||
runs fine now
|
runs fine now
|
||||||
2004-06-27 - able to watch and switching channels (pre-alpha)
|
2004-06-27 - able to watch and switching channels (pre-alpha)
|
||||||
- no section filtering yet
|
- no section filtering yet
|
||||||
2004-06-06 - first TS received, but kernel oops :/
|
2004-06-06 - first TS received, but kernel oops :/
|
||||||
2004-05-14 - firmware loader is working
|
2004-05-14 - firmware loader is working
|
||||||
2004-05-11 - start writing the driver
|
2004-05-11 - start writing the driver
|
||||||
|
|
|
@ -174,7 +174,7 @@ Debugging
|
||||||
Everything which is identical in the following table, can be put into a common
|
Everything which is identical in the following table, can be put into a common
|
||||||
flexcop-module.
|
flexcop-module.
|
||||||
|
|
||||||
PCI USB
|
PCI USB
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Different:
|
Different:
|
||||||
Register access: accessing IO memory USB control message
|
Register access: accessing IO memory USB control message
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
HOWTO: Get An Avermedia DVB-T working under Linux
|
HOWTO: Get An Avermedia DVB-T working under Linux
|
||||||
______________________________________________
|
______________________________________________
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
Assumptions and Introduction
|
Assumptions and Introduction
|
||||||
|
|
|
@ -16,7 +16,7 @@ Hardware supported by the linuxtv.org DVB drivers
|
||||||
shielding, and the whole metal box has its own part number.
|
shielding, and the whole metal box has its own part number.
|
||||||
|
|
||||||
|
|
||||||
o Frontends drivers:
|
o Frontends drivers:
|
||||||
- dvb_dummy_fe: for testing...
|
- dvb_dummy_fe: for testing...
|
||||||
DVB-S:
|
DVB-S:
|
||||||
- ves1x93 : Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993)
|
- ves1x93 : Alps BSRV2 (ves1893 demodulator) and dbox2 (ves1993)
|
||||||
|
@ -24,7 +24,7 @@ o Frontends drivers:
|
||||||
- grundig_29504-491 : Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL
|
- grundig_29504-491 : Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL
|
||||||
- mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL
|
- mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL
|
||||||
- stv0299 : Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL),
|
- stv0299 : Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL),
|
||||||
LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL),
|
LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL),
|
||||||
Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB
|
Philips SU1278SH (tsa5059 PLL), Samsung TBMU24112IMB
|
||||||
DVB-C:
|
DVB-C:
|
||||||
- ves1820 : various (ves1820 demodulator, sp5659c or spXXXX PLL)
|
- ves1820 : various (ves1820 demodulator, sp5659c or spXXXX PLL)
|
||||||
|
@ -35,8 +35,8 @@ o Frontends drivers:
|
||||||
- grundig_29504-401 : Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL
|
- grundig_29504-401 : Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL
|
||||||
- tda1004x : Philips tda10045h (td1344 or tdm1316l PLL)
|
- tda1004x : Philips tda10045h (td1344 or tdm1316l PLL)
|
||||||
- nxt6000 : Alps TDME7 (MITEL SP5659 PLL), Alps TDED4 (TI ALP510 PLL),
|
- nxt6000 : Alps TDME7 (MITEL SP5659 PLL), Alps TDED4 (TI ALP510 PLL),
|
||||||
Comtech DVBT-6k07 (SP5730 PLL)
|
Comtech DVBT-6k07 (SP5730 PLL)
|
||||||
(NxtWave Communications NXT6000 demodulator)
|
(NxtWave Communications NXT6000 demodulator)
|
||||||
- sp887x : Microtune 7202D
|
- sp887x : Microtune 7202D
|
||||||
- dib3000mb : DiBcom 3000-MB demodulator
|
- dib3000mb : DiBcom 3000-MB demodulator
|
||||||
DVB-S/C/T:
|
DVB-S/C/T:
|
||||||
|
|
|
@ -15,7 +15,7 @@ Michael Holzt <kju@debian.org>
|
||||||
|
|
||||||
Diego Picciani <d.picciani@novacomp.it>
|
Diego Picciani <d.picciani@novacomp.it>
|
||||||
for CyberLogin for Linux which allows logging onto EON
|
for CyberLogin for Linux which allows logging onto EON
|
||||||
(in case you are wondering where CyberLogin is, EON changed its login
|
(in case you are wondering where CyberLogin is, EON changed its login
|
||||||
procedure and CyberLogin is no longer used.)
|
procedure and CyberLogin is no longer used.)
|
||||||
|
|
||||||
Martin Schaller <martin@smurf.franken.de>
|
Martin Schaller <martin@smurf.franken.de>
|
||||||
|
@ -57,7 +57,7 @@ Augusto Cardoso <augusto@carhil.net>
|
||||||
Davor Emard <emard@softhome.net>
|
Davor Emard <emard@softhome.net>
|
||||||
for his work on the budget drivers, the demux code,
|
for his work on the budget drivers, the demux code,
|
||||||
the module unloading problems, ...
|
the module unloading problems, ...
|
||||||
|
|
||||||
Hans-Frieder Vogt <hfvogt@arcor.de>
|
Hans-Frieder Vogt <hfvogt@arcor.de>
|
||||||
for his work on calculating and checking the crc's for the
|
for his work on calculating and checking the crc's for the
|
||||||
TechnoTrend/Hauppauge DEC driver firmware
|
TechnoTrend/Hauppauge DEC driver firmware
|
||||||
|
|
|
@ -20,7 +20,7 @@ http://linuxtv.org/downloads/
|
||||||
|
|
||||||
What's inside this directory:
|
What's inside this directory:
|
||||||
|
|
||||||
"cards.txt"
|
"cards.txt"
|
||||||
contains a list of supported hardware.
|
contains a list of supported hardware.
|
||||||
|
|
||||||
"contributors.txt"
|
"contributors.txt"
|
||||||
|
@ -37,7 +37,7 @@ that require it.
|
||||||
contains detailed informations about the
|
contains detailed informations about the
|
||||||
TT DEC2000/DEC3000 USB DVB hardware.
|
TT DEC2000/DEC3000 USB DVB hardware.
|
||||||
|
|
||||||
"bt8xx.txt"
|
"bt8xx.txt"
|
||||||
contains detailed installation instructions for the
|
contains detailed installation instructions for the
|
||||||
various bt8xx based "budget" DVB cards
|
various bt8xx based "budget" DVB cards
|
||||||
(Nebula, Pinnacle PCTV, Twinhan DST)
|
(Nebula, Pinnacle PCTV, Twinhan DST)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
config VIDEO_SAA7146
|
config VIDEO_SAA7146
|
||||||
tristate
|
tristate
|
||||||
select I2C
|
select I2C
|
||||||
|
|
||||||
config VIDEO_SAA7146_VV
|
config VIDEO_SAA7146_VV
|
||||||
tristate
|
tristate
|
||||||
select VIDEO_BUF
|
select VIDEO_BUF
|
||||||
select VIDEO_VIDEOBUF
|
select VIDEO_VIDEOBUF
|
||||||
select VIDEO_SAA7146
|
select VIDEO_SAA7146
|
||||||
|
|
||||||
config VIDEO_VIDEOBUF
|
config VIDEO_VIDEOBUF
|
||||||
tristate
|
tristate
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
saa7146-objs := saa7146_i2c.o saa7146_core.o
|
saa7146-objs := saa7146_i2c.o saa7146_core.o
|
||||||
saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o
|
saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o
|
||||||
|
|
||||||
obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o
|
obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o
|
||||||
obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
|
obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
|
||||||
|
|
|
@ -313,6 +313,7 @@ void ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
|
||||||
if (ir_codes)
|
if (ir_codes)
|
||||||
memcpy(ir->ir_codes, ir_codes, sizeof(ir->ir_codes));
|
memcpy(ir->ir_codes, ir_codes, sizeof(ir->ir_codes));
|
||||||
|
|
||||||
|
|
||||||
dev->keycode = ir->ir_codes;
|
dev->keycode = ir->ir_codes;
|
||||||
dev->keycodesize = sizeof(IR_KEYTAB_TYPE);
|
dev->keycodesize = sizeof(IR_KEYTAB_TYPE);
|
||||||
dev->keycodemax = IR_KEYTAB_SIZE;
|
dev->keycodemax = IR_KEYTAB_SIZE;
|
||||||
|
|
|
@ -188,7 +188,7 @@ config VIDEO_ZORAN
|
||||||
|
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called zr36067.
|
module will be called zr36067.
|
||||||
|
|
||||||
config VIDEO_ZORAN_BUZ
|
config VIDEO_ZORAN_BUZ
|
||||||
tristate "Iomega Buz support"
|
tristate "Iomega Buz support"
|
||||||
depends on VIDEO_ZORAN
|
depends on VIDEO_ZORAN
|
||||||
|
@ -204,8 +204,8 @@ config VIDEO_ZORAN_DC10
|
||||||
|
|
||||||
config VIDEO_ZORAN_DC30
|
config VIDEO_ZORAN_DC30
|
||||||
tristate "Pinnacle/Miro DC30(+) support"
|
tristate "Pinnacle/Miro DC30(+) support"
|
||||||
depends on VIDEO_ZORAN
|
depends on VIDEO_ZORAN
|
||||||
help
|
help
|
||||||
Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback
|
Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback
|
||||||
card. This also supports really old DC10 cards based on the
|
card. This also supports really old DC10 cards based on the
|
||||||
zr36050 MJPEG codec and zr36016 VFE.
|
zr36050 MJPEG codec and zr36016 VFE.
|
||||||
|
@ -260,7 +260,7 @@ config VIDEO_MXB
|
||||||
---help---
|
---help---
|
||||||
This is a video4linux driver for the 'Multimedia eXtension Board'
|
This is a video4linux driver for the 'Multimedia eXtension Board'
|
||||||
TV card by Siemens-Nixdorf.
|
TV card by Siemens-Nixdorf.
|
||||||
|
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called mxb.
|
module will be called mxb.
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ config VIDEO_DPC
|
||||||
for SAA7146 bases boards, so if you have some unsupported
|
for SAA7146 bases boards, so if you have some unsupported
|
||||||
saa7146 based, analog video card, chances are good that it
|
saa7146 based, analog video card, chances are good that it
|
||||||
will work with this skeleton driver.
|
will work with this skeleton driver.
|
||||||
|
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called dpc7146.
|
module will be called dpc7146.
|
||||||
|
|
||||||
|
@ -285,7 +285,7 @@ config VIDEO_HEXIUM_ORION
|
||||||
---help---
|
---help---
|
||||||
This is a video4linux driver for the Hexium HV-PCI6 and
|
This is a video4linux driver for the Hexium HV-PCI6 and
|
||||||
Orion frame grabber cards by Hexium.
|
Orion frame grabber cards by Hexium.
|
||||||
|
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called hexium_orion.
|
module will be called hexium_orion.
|
||||||
|
|
||||||
|
@ -297,7 +297,7 @@ config VIDEO_HEXIUM_GEMINI
|
||||||
This is a video4linux driver for the Hexium Gemini frame
|
This is a video4linux driver for the Hexium Gemini frame
|
||||||
grabber card by Hexium. Please note that the Gemini Dual
|
grabber card by Hexium. Please note that the Gemini Dual
|
||||||
card is *not* fully supported.
|
card is *not* fully supported.
|
||||||
|
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called hexium_gemini.
|
module will be called hexium_gemini.
|
||||||
|
|
||||||
|
|
|
@ -762,9 +762,9 @@ static void set_pll(struct bttv *btv)
|
||||||
if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) {
|
if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) {
|
||||||
/* no PLL needed */
|
/* no PLL needed */
|
||||||
if (btv->pll.pll_current == 0)
|
if (btv->pll.pll_current == 0)
|
||||||
return;
|
return;
|
||||||
bttv_printk(KERN_INFO "bttv%d: PLL can sleep, using XTAL (%d).\n",
|
bttv_printk(KERN_INFO "bttv%d: PLL can sleep, using XTAL (%d).\n",
|
||||||
btv->c.nr,btv->pll.pll_ifreq);
|
btv->c.nr,btv->pll.pll_ifreq);
|
||||||
btwrite(0x00,BT848_TGCTRL);
|
btwrite(0x00,BT848_TGCTRL);
|
||||||
btwrite(0x00,BT848_PLL_XCI);
|
btwrite(0x00,BT848_PLL_XCI);
|
||||||
btv->pll.pll_current = 0;
|
btv->pll.pll_current = 0;
|
||||||
|
@ -772,7 +772,7 @@ static void set_pll(struct bttv *btv)
|
||||||
}
|
}
|
||||||
|
|
||||||
bttv_printk(KERN_INFO "bttv%d: PLL: %d => %d ",btv->c.nr,
|
bttv_printk(KERN_INFO "bttv%d: PLL: %d => %d ",btv->c.nr,
|
||||||
btv->pll.pll_ifreq, btv->pll.pll_ofreq);
|
btv->pll.pll_ifreq, btv->pll.pll_ofreq);
|
||||||
set_pll_freq(btv, btv->pll.pll_ifreq, btv->pll.pll_ofreq);
|
set_pll_freq(btv, btv->pll.pll_ifreq, btv->pll.pll_ofreq);
|
||||||
|
|
||||||
for (i=0; i<10; i++) {
|
for (i=0; i<10; i++) {
|
||||||
|
@ -783,10 +783,10 @@ static void set_pll(struct bttv *btv)
|
||||||
if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) {
|
if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) {
|
||||||
btwrite(0,BT848_DSTATUS);
|
btwrite(0,BT848_DSTATUS);
|
||||||
} else {
|
} else {
|
||||||
btwrite(0x08,BT848_TGCTRL);
|
btwrite(0x08,BT848_TGCTRL);
|
||||||
btv->pll.pll_current = btv->pll.pll_ofreq;
|
btv->pll.pll_current = btv->pll.pll_ofreq;
|
||||||
bttv_printk(" ok\n");
|
bttv_printk(" ok\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
btv->pll.pll_current = -1;
|
btv->pll.pll_current = -1;
|
||||||
|
@ -1964,7 +1964,7 @@ static int setup_window(struct bttv_fh *fh, struct bttv *btv,
|
||||||
}
|
}
|
||||||
|
|
||||||
down(&fh->cap.lock);
|
down(&fh->cap.lock);
|
||||||
kfree(fh->ov.clips);
|
kfree(fh->ov.clips);
|
||||||
fh->ov.clips = clips;
|
fh->ov.clips = clips;
|
||||||
fh->ov.nclips = n;
|
fh->ov.nclips = n;
|
||||||
|
|
||||||
|
@ -2758,7 +2758,7 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file,
|
||||||
fh->ov.w.height = fb->fmt.height;
|
fh->ov.w.height = fb->fmt.height;
|
||||||
btv->init.ov.w.width = fb->fmt.width;
|
btv->init.ov.w.width = fb->fmt.width;
|
||||||
btv->init.ov.w.height = fb->fmt.height;
|
btv->init.ov.w.height = fb->fmt.height;
|
||||||
kfree(fh->ov.clips);
|
kfree(fh->ov.clips);
|
||||||
fh->ov.clips = NULL;
|
fh->ov.clips = NULL;
|
||||||
fh->ov.nclips = 0;
|
fh->ov.nclips = 0;
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#include <media/tveeprom.h>
|
#include <media/tveeprom.h>
|
||||||
#include <media/ir-common.h>
|
#include <media/ir-common.h>
|
||||||
|
|
||||||
|
|
||||||
#include "bt848.h"
|
#include "bt848.h"
|
||||||
#include "bttv.h"
|
#include "bttv.h"
|
||||||
#include "btcx-risc.h"
|
#include "btcx-risc.h"
|
||||||
|
|
|
@ -616,6 +616,8 @@ static int blackbird_load_firmware(struct cx8802_dev *dev)
|
||||||
|
|
||||||
retval = request_firmware(&firmware, BLACKBIRD_FIRM_ENC_FILENAME,
|
retval = request_firmware(&firmware, BLACKBIRD_FIRM_ENC_FILENAME,
|
||||||
&dev->pci->dev);
|
&dev->pci->dev);
|
||||||
|
|
||||||
|
|
||||||
if (retval != 0) {
|
if (retval != 0) {
|
||||||
dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n",
|
dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n",
|
||||||
BLACKBIRD_FIRM_ENC_FILENAME);
|
BLACKBIRD_FIRM_ENC_FILENAME);
|
||||||
|
|
|
@ -453,7 +453,6 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
|
||||||
input_dev->id.product = pci->device;
|
input_dev->id.product = pci->device;
|
||||||
}
|
}
|
||||||
input_dev->cdev.dev = &pci->dev;
|
input_dev->cdev.dev = &pci->dev;
|
||||||
|
|
||||||
/* record handles to ourself */
|
/* record handles to ourself */
|
||||||
ir->core = core;
|
ir->core = core;
|
||||||
core->ir = ir;
|
core->ir = ir;
|
||||||
|
@ -586,7 +585,6 @@ void cx88_ir_irq(struct cx88_core *core)
|
||||||
MODULE_AUTHOR("Gerd Knorr, Pavel Machek, Chris Pascoe");
|
MODULE_AUTHOR("Gerd Knorr, Pavel Machek, Chris Pascoe");
|
||||||
MODULE_DESCRIPTION("input driver for cx88 GPIO-based IR remote controls");
|
MODULE_DESCRIPTION("input driver for cx88 GPIO-based IR remote controls");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local variables:
|
* Local variables:
|
||||||
* c-basic-offset: 8
|
* c-basic-offset: 8
|
||||||
|
|
|
@ -411,7 +411,6 @@ struct cx8802_dev {
|
||||||
struct videobuf_dvb dvb;
|
struct videobuf_dvb dvb;
|
||||||
void* fe_handle;
|
void* fe_handle;
|
||||||
int (*fe_release)(void *handle);
|
int (*fe_release)(void *handle);
|
||||||
|
|
||||||
/* for switching modulation types */
|
/* for switching modulation types */
|
||||||
unsigned char ts_gen_cntrl;
|
unsigned char ts_gen_cntrl;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ MODULE_PARM_DESC(core_debug,"enable debug messages [core]");
|
||||||
#define em28xx_coredbg(fmt, arg...) do {\
|
#define em28xx_coredbg(fmt, arg...) do {\
|
||||||
if (core_debug) \
|
if (core_debug) \
|
||||||
printk(KERN_INFO "%s %s :"fmt, \
|
printk(KERN_INFO "%s %s :"fmt, \
|
||||||
dev->name, __FUNCTION__ , ##arg); } while (0)
|
dev->name, __FUNCTION__, ##arg); } while (0)
|
||||||
|
|
||||||
static unsigned int reg_debug;
|
static unsigned int reg_debug;
|
||||||
module_param(reg_debug,int,0644);
|
module_param(reg_debug,int,0644);
|
||||||
|
@ -48,7 +48,7 @@ MODULE_PARM_DESC(reg_debug,"enable debug messages [URB reg]");
|
||||||
#define em28xx_regdbg(fmt, arg...) do {\
|
#define em28xx_regdbg(fmt, arg...) do {\
|
||||||
if (reg_debug) \
|
if (reg_debug) \
|
||||||
printk(KERN_INFO "%s %s :"fmt, \
|
printk(KERN_INFO "%s %s :"fmt, \
|
||||||
dev->name, __FUNCTION__ , ##arg); } while (0)
|
dev->name, __FUNCTION__, ##arg); } while (0)
|
||||||
|
|
||||||
static unsigned int isoc_debug;
|
static unsigned int isoc_debug;
|
||||||
module_param(isoc_debug,int,0644);
|
module_param(isoc_debug,int,0644);
|
||||||
|
@ -57,7 +57,7 @@ MODULE_PARM_DESC(isoc_debug,"enable debug messages [isoc transfers]");
|
||||||
#define em28xx_isocdbg(fmt, arg...) do {\
|
#define em28xx_isocdbg(fmt, arg...) do {\
|
||||||
if (isoc_debug) \
|
if (isoc_debug) \
|
||||||
printk(KERN_INFO "%s %s :"fmt, \
|
printk(KERN_INFO "%s %s :"fmt, \
|
||||||
dev->name, __FUNCTION__ , ##arg); } while (0)
|
dev->name, __FUNCTION__, ##arg); } while (0)
|
||||||
|
|
||||||
static int alt = EM28XX_PINOUT;
|
static int alt = EM28XX_PINOUT;
|
||||||
module_param(alt, int, 0644);
|
module_param(alt, int, 0644);
|
||||||
|
@ -158,6 +158,7 @@ static void rvfree(void *mem, size_t size)
|
||||||
vfree(mem);
|
vfree(mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* em28xx_request_buffers()
|
* em28xx_request_buffers()
|
||||||
* allocate a number of buffers
|
* allocate a number of buffers
|
||||||
|
|
|
@ -41,10 +41,10 @@ module_param(i2c_debug, int, 0644);
|
||||||
MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]");
|
MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]");
|
||||||
|
|
||||||
#define dprintk1(lvl,fmt, args...) if (i2c_debug>=lvl) do {\
|
#define dprintk1(lvl,fmt, args...) if (i2c_debug>=lvl) do {\
|
||||||
printk(fmt , ##args); } while (0)
|
printk(fmt, ##args); } while (0)
|
||||||
#define dprintk2(lvl,fmt, args...) if (i2c_debug>=lvl) do{ \
|
#define dprintk2(lvl,fmt, args...) if (i2c_debug>=lvl) do{ \
|
||||||
printk(KERN_DEBUG "%s at %s: " fmt, \
|
printk(KERN_DEBUG "%s at %s: " fmt, \
|
||||||
dev->name, __FUNCTION__ , ##args); } while (0)
|
dev->name, __FUNCTION__, ##args); } while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* em2800_i2c_send_max4()
|
* em2800_i2c_send_max4()
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
#define em28xx_videodbg(fmt, arg...) do {\
|
#define em28xx_videodbg(fmt, arg...) do {\
|
||||||
if (video_debug) \
|
if (video_debug) \
|
||||||
printk(KERN_INFO "%s %s :"fmt, \
|
printk(KERN_INFO "%s %s :"fmt, \
|
||||||
dev->name, __FUNCTION__ , ##arg); } while (0)
|
dev->name, __FUNCTION__, ##arg); } while (0)
|
||||||
|
|
||||||
MODULE_AUTHOR(DRIVER_AUTHOR);
|
MODULE_AUTHOR(DRIVER_AUTHOR);
|
||||||
MODULE_DESCRIPTION(DRIVER_DESC);
|
MODULE_DESCRIPTION(DRIVER_DESC);
|
||||||
|
|
|
@ -392,18 +392,18 @@ extern const unsigned int em28xx_bcount;
|
||||||
/* printk macros */
|
/* printk macros */
|
||||||
|
|
||||||
#define em28xx_err(fmt, arg...) do {\
|
#define em28xx_err(fmt, arg...) do {\
|
||||||
printk(KERN_ERR fmt , ##arg); } while (0)
|
printk(KERN_ERR fmt, ##arg); } while (0)
|
||||||
|
|
||||||
#define em28xx_errdev(fmt, arg...) do {\
|
#define em28xx_errdev(fmt, arg...) do {\
|
||||||
printk(KERN_ERR "%s: "fmt,\
|
printk(KERN_ERR "%s: "fmt,\
|
||||||
dev->name , ##arg); } while (0)
|
dev->name, ##arg); } while (0)
|
||||||
|
|
||||||
#define em28xx_info(fmt, arg...) do {\
|
#define em28xx_info(fmt, arg...) do {\
|
||||||
printk(KERN_INFO "%s: "fmt,\
|
printk(KERN_INFO "%s: "fmt,\
|
||||||
dev->name , ##arg); } while (0)
|
dev->name, ##arg); } while (0)
|
||||||
#define em28xx_warn(fmt, arg...) do {\
|
#define em28xx_warn(fmt, arg...) do {\
|
||||||
printk(KERN_WARNING "%s: "fmt,\
|
printk(KERN_WARNING "%s: "fmt,\
|
||||||
dev->name , ##arg); } while (0)
|
dev->name, ##arg); } while (0)
|
||||||
|
|
||||||
inline static int em28xx_audio_source(struct em28xx *dev, int input)
|
inline static int em28xx_audio_source(struct em28xx *dev, int input)
|
||||||
{
|
{
|
||||||
|
|
|
@ -291,13 +291,12 @@ struct IR {
|
||||||
u32 mask_keycode;
|
u32 mask_keycode;
|
||||||
u32 mask_keydown;
|
u32 mask_keydown;
|
||||||
u32 mask_keyup;
|
u32 mask_keyup;
|
||||||
u32 polling;
|
u32 polling;
|
||||||
u32 last_gpio;
|
u32 last_gpio;
|
||||||
struct work_struct work;
|
struct work_struct work;
|
||||||
struct timer_list timer;
|
struct timer_list timer;
|
||||||
|
|
||||||
/* RC5 gpio */
|
/* RC5 gpio */
|
||||||
|
|
||||||
u32 rc5_gpio;
|
u32 rc5_gpio;
|
||||||
struct timer_list timer_end; /* timer_end for code completion */
|
struct timer_list timer_end; /* timer_end for code completion */
|
||||||
struct timer_list timer_keyup; /* timer_end for key release */
|
struct timer_list timer_keyup; /* timer_end for key release */
|
||||||
|
@ -647,7 +646,7 @@ static int ir_probe(struct device *dev)
|
||||||
driver.any_irq = ir_rc5_irq;
|
driver.any_irq = ir_rc5_irq;
|
||||||
driver.gpio_irq = NULL;
|
driver.gpio_irq = NULL;
|
||||||
ir->rc5_gpio = 1;
|
ir->rc5_gpio = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (NULL == ir_codes) {
|
if (NULL == ir_codes) {
|
||||||
kfree(ir);
|
kfree(ir);
|
||||||
|
@ -657,7 +656,7 @@ static int ir_probe(struct device *dev)
|
||||||
|
|
||||||
if (ir->rc5_gpio) {
|
if (ir->rc5_gpio) {
|
||||||
u32 gpio;
|
u32 gpio;
|
||||||
/* enable remote irq */
|
/* enable remote irq */
|
||||||
bttv_gpio_inout(sub->core, (1 << 4), 1 << 4);
|
bttv_gpio_inout(sub->core, (1 << 4), 1 << 4);
|
||||||
gpio = bttv_gpio_read(sub->core);
|
gpio = bttv_gpio_read(sub->core);
|
||||||
bttv_gpio_write(sub->core, gpio & ~(1 << 4));
|
bttv_gpio_write(sub->core, gpio & ~(1 << 4));
|
||||||
|
@ -726,6 +725,7 @@ static int ir_remove(struct device *dev)
|
||||||
del_timer(&ir->timer);
|
del_timer(&ir->timer);
|
||||||
flush_scheduled_work();
|
flush_scheduled_work();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ir->rc5_gpio) {
|
if (ir->rc5_gpio) {
|
||||||
u32 gpio;
|
u32 gpio;
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <asm/semaphore.h>
|
#include <asm/semaphore.h>
|
||||||
|
|
||||||
#include <media/ir-common.h>
|
#include <media/ir-common.h>
|
||||||
#include <media/ir-kbd-i2c.h>
|
#include <media/ir-kbd-i2c.h>
|
||||||
|
|
||||||
|
@ -299,7 +300,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
|
||||||
struct IR_i2c *ir;
|
struct IR_i2c *ir;
|
||||||
struct input_dev *input_dev;
|
struct input_dev *input_dev;
|
||||||
|
|
||||||
ir = kzalloc(sizeof(struct IR_i2c), GFP_KERNEL);
|
ir = kzalloc(sizeof(struct IR_i2c),GFP_KERNEL);
|
||||||
input_dev = input_allocate_device();
|
input_dev = input_allocate_device();
|
||||||
if (!ir || !input_dev) {
|
if (!ir || !input_dev) {
|
||||||
kfree(ir);
|
kfree(ir);
|
||||||
|
@ -360,7 +361,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
|
||||||
/* register i2c device
|
/* register i2c device
|
||||||
* At device register, IR codes may be changed to be
|
* At device register, IR codes may be changed to be
|
||||||
* board dependent.
|
* board dependent.
|
||||||
*/
|
*/
|
||||||
i2c_attach_client(&ir->c);
|
i2c_attach_client(&ir->c);
|
||||||
|
|
||||||
/* If IR not supported or disabled, unregisters driver */
|
/* If IR not supported or disabled, unregisters driver */
|
||||||
|
|
|
@ -134,7 +134,7 @@ struct msp3400c {
|
||||||
int rxsubchans;
|
int rxsubchans;
|
||||||
|
|
||||||
int muted;
|
int muted;
|
||||||
int left, right; /* volume */
|
int left, right; /* volume */
|
||||||
int bass, treble;
|
int bass, treble;
|
||||||
|
|
||||||
/* shadow register set */
|
/* shadow register set */
|
||||||
|
@ -882,6 +882,7 @@ static void watch_stereo(struct i2c_client *client)
|
||||||
msp->watch_stereo = 0;
|
msp->watch_stereo = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int msp3400c_thread(void *data)
|
static int msp3400c_thread(void *data)
|
||||||
{
|
{
|
||||||
struct i2c_client *client = data;
|
struct i2c_client *client = data;
|
||||||
|
@ -889,6 +890,7 @@ static int msp3400c_thread(void *data)
|
||||||
struct CARRIER_DETECT *cd;
|
struct CARRIER_DETECT *cd;
|
||||||
int count, max1,max2,val1,val2, val,this;
|
int count, max1,max2,val1,val2, val,this;
|
||||||
|
|
||||||
|
|
||||||
msp3400_info("msp3400 daemon started\n");
|
msp3400_info("msp3400 daemon started\n");
|
||||||
for (;;) {
|
for (;;) {
|
||||||
msp3400_dbg_mediumvol("msp3400 thread: sleep\n");
|
msp3400_dbg_mediumvol("msp3400 thread: sleep\n");
|
||||||
|
@ -1162,6 +1164,7 @@ static int msp3410d_thread(void *data)
|
||||||
int mode,val,i,std;
|
int mode,val,i,std;
|
||||||
|
|
||||||
msp3400_info("msp3410 daemon started\n");
|
msp3400_info("msp3410 daemon started\n");
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
msp3400_dbg_mediumvol("msp3410 thread: sleep\n");
|
msp3400_dbg_mediumvol("msp3410 thread: sleep\n");
|
||||||
msp34xx_sleep(msp,-1);
|
msp34xx_sleep(msp,-1);
|
||||||
|
@ -1384,6 +1387,7 @@ static int msp34xxg_thread(void *data)
|
||||||
int val, std, i;
|
int val, std, i;
|
||||||
|
|
||||||
msp3400_info("msp34xxg daemon started\n");
|
msp3400_info("msp34xxg daemon started\n");
|
||||||
|
|
||||||
msp->source = 1; /* default */
|
msp->source = 1; /* default */
|
||||||
for (;;) {
|
for (;;) {
|
||||||
msp3400_dbg_mediumvol("msp34xxg thread: sleep\n");
|
msp3400_dbg_mediumvol("msp34xxg thread: sleep\n");
|
||||||
|
|
|
@ -422,7 +422,6 @@ static int saa6588_attach(struct i2c_adapter *adap, int addr, int kind)
|
||||||
s->timer.function = saa6588_timer;
|
s->timer.function = saa6588_timer;
|
||||||
s->timer.data = (unsigned long)s;
|
s->timer.data = (unsigned long)s;
|
||||||
schedule_work(&s->work);
|
schedule_work(&s->work);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ MODULE_PARM_DESC(debug, " Set the default Debug level. Default: 0 (Off) - (0-1)
|
||||||
#define dprintk(num, format, args...) \
|
#define dprintk(num, format, args...) \
|
||||||
do { \
|
do { \
|
||||||
if (debug >= num) \
|
if (debug >= num) \
|
||||||
printk(format , ##args); \
|
printk(format, ##args); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------- */
|
/* ----------------------------------------------------------------------- */
|
||||||
|
|
|
@ -524,6 +524,7 @@ static int saa6752hs_attach(struct i2c_adapter *adap, int addr, int kind)
|
||||||
|
|
||||||
i2c_set_clientdata(&h->client, h);
|
i2c_set_clientdata(&h->client, h);
|
||||||
i2c_attach_client(&h->client);
|
i2c_attach_client(&h->client);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ MODULE_PARM_DESC(debug,"enable debug messages [alsa]");
|
||||||
#define MIXER_ADDR_LINE2 2
|
#define MIXER_ADDR_LINE2 2
|
||||||
#define MIXER_ADDR_LAST 2
|
#define MIXER_ADDR_LAST 2
|
||||||
|
|
||||||
|
|
||||||
static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
|
static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
|
||||||
static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
|
static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
|
||||||
static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0};
|
static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0};
|
||||||
|
@ -59,11 +60,14 @@ module_param_array(index, int, NULL, 0444);
|
||||||
MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s).");
|
MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s).");
|
||||||
|
|
||||||
#define dprintk(fmt, arg...) if (debug) \
|
#define dprintk(fmt, arg...) if (debug) \
|
||||||
printk(KERN_DEBUG "%s/alsa: " fmt, dev->name , ## arg)
|
printk(KERN_DEBUG "%s/alsa: " fmt, dev->name, ## arg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Main chip structure
|
* Main chip structure
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct snd_card_saa7134 {
|
typedef struct snd_card_saa7134 {
|
||||||
snd_card_t *card;
|
snd_card_t *card;
|
||||||
spinlock_t mixer_lock;
|
spinlock_t mixer_lock;
|
||||||
|
@ -1004,6 +1008,7 @@ static int saa7134_alsa_init(void)
|
||||||
printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n");
|
printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1027,3 +1032,6 @@ module_init(saa7134_alsa_init);
|
||||||
module_exit(saa7134_alsa_exit);
|
module_exit(saa7134_alsa_exit);
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_AUTHOR("Ricardo Cerqueira");
|
MODULE_AUTHOR("Ricardo Cerqueira");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,7 @@ static unsigned int radio_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
||||||
static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
||||||
static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
||||||
|
|
||||||
|
|
||||||
module_param_array(video_nr, int, NULL, 0444);
|
module_param_array(video_nr, int, NULL, 0444);
|
||||||
module_param_array(vbi_nr, int, NULL, 0444);
|
module_param_array(vbi_nr, int, NULL, 0444);
|
||||||
module_param_array(radio_nr, int, NULL, 0444);
|
module_param_array(radio_nr, int, NULL, 0444);
|
||||||
|
|
|
@ -36,6 +36,7 @@ MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
|
|
||||||
static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET };
|
||||||
|
|
||||||
module_param_array(empress_nr, int, NULL, 0444);
|
module_param_array(empress_nr, int, NULL, 0444);
|
||||||
MODULE_PARM_DESC(empress_nr,"ts device number");
|
MODULE_PARM_DESC(empress_nr,"ts device number");
|
||||||
|
|
||||||
|
|
|
@ -333,7 +333,7 @@ static int attach_inform(struct i2c_client *client)
|
||||||
struct tuner_setup tun_setup;
|
struct tuner_setup tun_setup;
|
||||||
|
|
||||||
d1printk( "%s i2c attach [addr=0x%x,client=%s]\n",
|
d1printk( "%s i2c attach [addr=0x%x,client=%s]\n",
|
||||||
client->driver->name, client->addr, client->name);
|
client->driver->name, client->addr, client->name);
|
||||||
|
|
||||||
/* Am I an i2c remote control? */
|
/* Am I an i2c remote control? */
|
||||||
|
|
||||||
|
|
|
@ -792,11 +792,11 @@ static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs)
|
||||||
status = saa_readl(SAA7134_IRQ_STATUS);
|
status = saa_readl(SAA7134_IRQ_STATUS);
|
||||||
|
|
||||||
if (report & SAA7134_IRQ_REPORT_DONE_RA3) {
|
if (report & SAA7134_IRQ_REPORT_DONE_RA3) {
|
||||||
handled = 1;
|
handled = 1;
|
||||||
saa_writel(SAA7134_IRQ_REPORT,report);
|
saa_writel(SAA7134_IRQ_REPORT,report);
|
||||||
saa7134_irq_oss_done(dev, status);
|
saa7134_irq_oss_done(dev, status);
|
||||||
} else {
|
} else {
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -811,7 +811,7 @@ int saa7134_oss_init1(struct saa7134_dev *dev)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ((request_irq(dev->pci->irq, saa7134_oss_irq,
|
if ((request_irq(dev->pci->irq, saa7134_oss_irq,
|
||||||
SA_SHIRQ | SA_INTERRUPT, dev->name,
|
SA_SHIRQ | SA_INTERRUPT, dev->name,
|
||||||
(void*) &dev->dmasound)) < 0)
|
(void*) &dev->dmasound)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -905,20 +905,20 @@ static int saa7134_dsp_create(struct saa7134_dev *dev)
|
||||||
|
|
||||||
err = dev->dmasound.minor_dsp =
|
err = dev->dmasound.minor_dsp =
|
||||||
register_sound_dsp(&saa7134_dsp_fops,
|
register_sound_dsp(&saa7134_dsp_fops,
|
||||||
dsp_nr[dev->nr]);
|
dsp_nr[dev->nr]);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "%s: registered device dsp%d\n",
|
printk(KERN_INFO "%s: registered device dsp%d\n",
|
||||||
dev->name,dev->dmasound.minor_dsp >> 4);
|
dev->name,dev->dmasound.minor_dsp >> 4);
|
||||||
|
|
||||||
err = dev->dmasound.minor_mixer =
|
err = dev->dmasound.minor_mixer =
|
||||||
register_sound_mixer(&saa7134_mixer_fops,
|
register_sound_mixer(&saa7134_mixer_fops,
|
||||||
mixer_nr[dev->nr]);
|
mixer_nr[dev->nr]);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
printk(KERN_INFO "%s: registered device mixer%d\n",
|
printk(KERN_INFO "%s: registered device mixer%d\n",
|
||||||
dev->name,dev->dmasound.minor_mixer >> 4);
|
dev->name,dev->dmasound.minor_mixer >> 4);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -994,6 +994,7 @@ static void saa7134_oss_exit(void)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
oss_device_exit(dev);
|
oss_device_exit(dev);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n");
|
printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n");
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include <media/audiochip.h>
|
#include <media/audiochip.h>
|
||||||
#include <media/tuner.h>
|
#include <media/tuner.h>
|
||||||
|
|
||||||
|
|
||||||
/* Chips:
|
/* Chips:
|
||||||
TDA9885 (PAL, NTSC)
|
TDA9885 (PAL, NTSC)
|
||||||
TDA9886 (PAL, SECAM, NTSC)
|
TDA9886 (PAL, SECAM, NTSC)
|
||||||
|
|
|
@ -188,7 +188,7 @@ static int chip_write(struct CHIPSTATE *chip, int subaddr, int val)
|
||||||
buffer[1] = val;
|
buffer[1] = val;
|
||||||
if (2 != i2c_master_send(&chip->c,buffer,2)) {
|
if (2 != i2c_master_send(&chip->c,buffer,2)) {
|
||||||
tvaudio_warn("%s: I/O error (write reg%d=0x%x)\n",
|
tvaudio_warn("%s: I/O error (write reg%d=0x%x)\n",
|
||||||
chip->c.name, subaddr, val);
|
chip->c.name, subaddr, val);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -216,7 +216,7 @@ static int chip_read(struct CHIPSTATE *chip)
|
||||||
chip->c.name);
|
chip->c.name);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name,buffer);
|
tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name, buffer);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ static int chip_read2(struct CHIPSTATE *chip, int subaddr)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
tvaudio_dbg("%s: chip_read2: reg%d=0x%x\n",
|
tvaudio_dbg("%s: chip_read2: reg%d=0x%x\n",
|
||||||
chip->c.name,subaddr,read[0]);
|
chip->c.name, subaddr,read[0]);
|
||||||
return read[0];
|
return read[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ static int chip_cmd(struct CHIPSTATE *chip, char *name, audiocmd *cmd)
|
||||||
|
|
||||||
/* update our shadow register set; print bytes if (debug > 0) */
|
/* update our shadow register set; print bytes if (debug > 0) */
|
||||||
tvaudio_dbg("%s: chip_cmd(%s): reg=%d, data:",
|
tvaudio_dbg("%s: chip_cmd(%s): reg=%d, data:",
|
||||||
chip->c.name,name,cmd->bytes[0]);
|
chip->c.name, name,cmd->bytes[0]);
|
||||||
for (i = 1; i < cmd->count; i++) {
|
for (i = 1; i < cmd->count; i++) {
|
||||||
if (debug)
|
if (debug)
|
||||||
printk(" 0x%x",cmd->bytes[i]);
|
printk(" 0x%x",cmd->bytes[i]);
|
||||||
|
@ -322,7 +322,7 @@ static void generic_checkmode(struct CHIPSTATE *chip)
|
||||||
int mode = desc->getmode(chip);
|
int mode = desc->getmode(chip);
|
||||||
|
|
||||||
if (mode == chip->prevmode)
|
if (mode == chip->prevmode)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
tvaudio_dbg("%s: thread checkmode\n", chip->c.name);
|
tvaudio_dbg("%s: thread checkmode\n", chip->c.name);
|
||||||
chip->prevmode = mode;
|
chip->prevmode = mode;
|
||||||
|
@ -1508,13 +1508,13 @@ static int chip_attach(struct i2c_adapter *adap, int addr, int kind)
|
||||||
tvaudio_info("%s found @ 0x%x (%s)\n", desc->name, addr<<1, adap->name);
|
tvaudio_info("%s found @ 0x%x (%s)\n", desc->name, addr<<1, adap->name);
|
||||||
if (desc->flags) {
|
if (desc->flags) {
|
||||||
tvaudio_dbg("matches:%s%s%s.\n",
|
tvaudio_dbg("matches:%s%s%s.\n",
|
||||||
(desc->flags & CHIP_HAS_VOLUME) ? " volume" : "",
|
(desc->flags & CHIP_HAS_VOLUME) ? " volume" : "",
|
||||||
(desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "",
|
(desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "",
|
||||||
(desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : "");
|
(desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fill required data structures */
|
/* fill required data structures */
|
||||||
strcpy(chip->c.name,desc->name);
|
strcpy(chip->c.name, desc->name);
|
||||||
chip->type = desc-chiplist;
|
chip->type = desc-chiplist;
|
||||||
chip->shadow.count = desc->registers+1;
|
chip->shadow.count = desc->registers+1;
|
||||||
chip->prevmode = -1;
|
chip->prevmode = -1;
|
||||||
|
@ -1604,7 +1604,7 @@ static int chip_command(struct i2c_client *client,
|
||||||
struct CHIPSTATE *chip = i2c_get_clientdata(client);
|
struct CHIPSTATE *chip = i2c_get_clientdata(client);
|
||||||
struct CHIPDESC *desc = chiplist + chip->type;
|
struct CHIPDESC *desc = chiplist + chip->type;
|
||||||
|
|
||||||
tvaudio_dbg("%s: chip_command 0x%x\n",chip->c.name,cmd);
|
tvaudio_dbg("%s: chip_command 0x%x\n", chip->c.name, cmd);
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case AUDC_SET_INPUT:
|
case AUDC_SET_INPUT:
|
||||||
|
@ -1624,7 +1624,7 @@ static int chip_command(struct i2c_client *client,
|
||||||
|
|
||||||
/* --- v4l ioctls --- */
|
/* --- v4l ioctls --- */
|
||||||
/* take care: bttv does userspace copying, we'll get a
|
/* take care: bttv does userspace copying, we'll get a
|
||||||
kernel pointer here... */
|
kernel pointer here... */
|
||||||
case VIDIOCGAUDIO:
|
case VIDIOCGAUDIO:
|
||||||
{
|
{
|
||||||
struct video_audio *va = arg;
|
struct video_audio *va = arg;
|
||||||
|
|
|
@ -754,6 +754,7 @@ tveeprom_detect_client(struct i2c_adapter *adapter,
|
||||||
client->flags = I2C_CLIENT_ALLOW_USE;
|
client->flags = I2C_CLIENT_ALLOW_USE;
|
||||||
snprintf(client->name, sizeof(client->name), "tveeprom");
|
snprintf(client->name, sizeof(client->name), "tveeprom");
|
||||||
i2c_attach_client(client);
|
i2c_attach_client(client);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ MODULE_PARM_DESC(debug, "Debug level (0-1)");
|
||||||
#define dprintk(num, format, args...) \
|
#define dprintk(num, format, args...) \
|
||||||
do { \
|
do { \
|
||||||
if (debug >= num) \
|
if (debug >= num) \
|
||||||
printk(format , ##args); \
|
printk(format, ##args); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* supported controls */
|
/* supported controls */
|
||||||
|
@ -770,7 +770,6 @@ static int tvp5150_detect_client(struct i2c_adapter *adapter,
|
||||||
|
|
||||||
if (debug > 1)
|
if (debug > 1)
|
||||||
dump_reg(client);
|
dump_reg(client);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -247,3 +248,4 @@ EXPORT_SYMBOL(videobuf_dvb_unregister);
|
||||||
* compile-command: "make DVB=1"
|
* compile-command: "make DVB=1"
|
||||||
* End:
|
* End:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,10 @@ typedef enum
|
||||||
{
|
{
|
||||||
DMX_OUT_DECODER, /* Streaming directly to decoder. */
|
DMX_OUT_DECODER, /* Streaming directly to decoder. */
|
||||||
DMX_OUT_TAP, /* Output going to a memory buffer */
|
DMX_OUT_TAP, /* Output going to a memory buffer */
|
||||||
/* (to be retrieved via the read command).*/
|
/* (to be retrieved via the read command).*/
|
||||||
DMX_OUT_TS_TAP /* Output multiplexed into a new TS */
|
DMX_OUT_TS_TAP /* Output multiplexed into a new TS */
|
||||||
/* (to be retrieved by reading from the */
|
/* (to be retrieved by reading from the */
|
||||||
/* logical DVR device). */
|
/* logical DVR device). */
|
||||||
} dmx_output_t;
|
} dmx_output_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -111,19 +111,19 @@ typedef
|
||||||
struct video_highlight {
|
struct video_highlight {
|
||||||
int active; /* 1=show highlight, 0=hide highlight */
|
int active; /* 1=show highlight, 0=hide highlight */
|
||||||
uint8_t contrast1; /* 7- 4 Pattern pixel contrast */
|
uint8_t contrast1; /* 7- 4 Pattern pixel contrast */
|
||||||
/* 3- 0 Background pixel contrast */
|
/* 3- 0 Background pixel contrast */
|
||||||
uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */
|
uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */
|
||||||
/* 3- 0 Emphasis pixel-1 contrast */
|
/* 3- 0 Emphasis pixel-1 contrast */
|
||||||
uint8_t color1; /* 7- 4 Pattern pixel color */
|
uint8_t color1; /* 7- 4 Pattern pixel color */
|
||||||
/* 3- 0 Background pixel color */
|
/* 3- 0 Background pixel color */
|
||||||
uint8_t color2; /* 7- 4 Emphasis pixel-2 color */
|
uint8_t color2; /* 7- 4 Emphasis pixel-2 color */
|
||||||
/* 3- 0 Emphasis pixel-1 color */
|
/* 3- 0 Emphasis pixel-1 color */
|
||||||
uint32_t ypos; /* 23-22 auto action mode */
|
uint32_t ypos; /* 23-22 auto action mode */
|
||||||
/* 21-12 start y */
|
/* 21-12 start y */
|
||||||
/* 9- 0 end y */
|
/* 9- 0 end y */
|
||||||
uint32_t xpos; /* 23-22 button color number */
|
uint32_t xpos; /* 23-22 button color number */
|
||||||
/* 21-12 start x */
|
/* 21-12 start x */
|
||||||
/* 9- 0 end x */
|
/* 9- 0 end x */
|
||||||
} video_highlight_t;
|
} video_highlight_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <linux/vmalloc.h> /* for vmalloc() */
|
#include <linux/vmalloc.h> /* for vmalloc() */
|
||||||
#include <linux/mm.h> /* for vmalloc_to_page() */
|
#include <linux/mm.h> /* for vmalloc_to_page() */
|
||||||
|
|
||||||
#define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */
|
#define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */
|
||||||
|
|
||||||
#define saa7146_write(sxy,adr,dat) writel((dat),(sxy->mem+(adr)))
|
#define saa7146_write(sxy,adr,dat) writel((dat),(sxy->mem+(adr)))
|
||||||
#define saa7146_read(sxy,adr) readl(sxy->mem+(adr))
|
#define saa7146_read(sxy,adr) readl(sxy->mem+(adr))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче