V4L/DVB (3537a): Whitespace cleanup

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Mauro Carvalho Chehab 2006-03-17 10:37:02 -03:00 committed by Linus Torvalds
parent 4caba4261f
commit a8733ca514
8 changed files with 125 additions and 122 deletions

View file

@ -1,6 +1,6 @@
/* /*
dpc7146.c - v4l2 driver for the dpc7146 demonstration board dpc7146.c - v4l2 driver for the dpc7146 demonstration board
Copyright (C) 2000-2003 Michael Hunold <michael@mihu.de> Copyright (C) 2000-2003 Michael Hunold <michael@mihu.de>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -52,7 +52,7 @@
#define SAA711X_DECODED_BYTES_OF_TS_2 0x1C #define SAA711X_DECODED_BYTES_OF_TS_2 0x1C
#define SAA711X_STATUS_BYTE 0x1F #define SAA711X_STATUS_BYTE 0x1F
#define DPC_BOARD_CAN_DO_VBI(dev) (dev->revision != 0) #define DPC_BOARD_CAN_DO_VBI(dev) (dev->revision != 0)
static int debug = 0; static int debug = 0;
module_param(debug, int, 0); module_param(debug, int, 0);
@ -81,16 +81,16 @@ struct dpc
struct video_device *video_dev; struct video_device *video_dev;
struct video_device *vbi_dev; struct video_device *vbi_dev;
struct i2c_adapter i2c_adapter; struct i2c_adapter i2c_adapter;
struct i2c_client *saa7111a; struct i2c_client *saa7111a;
int cur_input; /* current input */ int cur_input; /* current input */
}; };
/* fixme: add vbi stuff here */ /* fixme: add vbi stuff here */
static int dpc_probe(struct saa7146_dev* dev) static int dpc_probe(struct saa7146_dev* dev)
{ {
struct dpc* dpc = NULL; struct dpc* dpc = NULL;
struct i2c_client *client; struct i2c_client *client;
struct list_head *item; struct list_head *item;
@ -118,20 +118,20 @@ static int dpc_probe(struct saa7146_dev* dev)
/* loop through all i2c-devices on the bus and look who is there */ /* loop through all i2c-devices on the bus and look who is there */
list_for_each(item,&dpc->i2c_adapter.clients) { list_for_each(item,&dpc->i2c_adapter.clients) {
client = list_entry(item, struct i2c_client, list); client = list_entry(item, struct i2c_client, list);
if( I2C_SAA7111A == client->addr ) if( I2C_SAA7111A == client->addr )
dpc->saa7111a = client; dpc->saa7111a = client;
} }
/* check if all devices are present */ /* check if all devices are present */
if( 0 == dpc->saa7111a ) { if( 0 == dpc->saa7111a ) {
DEB_D(("dpc_v4l2.o: dpc_attach failed for this device.\n")); DEB_D(("dpc_v4l2.o: dpc_attach failed for this device.\n"));
i2c_del_adapter(&dpc->i2c_adapter); i2c_del_adapter(&dpc->i2c_adapter);
kfree(dpc); kfree(dpc);
return -ENODEV; return -ENODEV;
} }
/* all devices are present, probe was successful */ /* all devices are present, probe was successful */
DEB_D(("dpc_v4l2.o: dpc_probe succeeded for this device.\n")); DEB_D(("dpc_v4l2.o: dpc_probe succeeded for this device.\n"));
/* we store the pointer in our private data field */ /* we store the pointer in our private data field */
dev->ext_priv = dpc; dev->ext_priv = dpc;
@ -182,7 +182,7 @@ static struct saa7146_ext_vv vv_data;
static int dpc_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data *info) static int dpc_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data *info)
{ {
struct dpc* dpc = (struct dpc*)dev->ext_priv; struct dpc* dpc = (struct dpc*)dev->ext_priv;
DEB_D(("dpc_v4l2.o: dpc_attach called.\n")); DEB_D(("dpc_v4l2.o: dpc_attach called.\n"));
/* checking for i2c-devices can be omitted here, because we /* checking for i2c-devices can be omitted here, because we
@ -193,7 +193,7 @@ static int dpc_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data
ERR(("cannot register capture v4l2 device. skipping.\n")); ERR(("cannot register capture v4l2 device. skipping.\n"));
return -1; return -1;
} }
/* initialization stuff (vbi) (only for revision > 0 and for extensions which want it)*/ /* initialization stuff (vbi) (only for revision > 0 and for extensions which want it)*/
if( 0 != DPC_BOARD_CAN_DO_VBI(dev)) { if( 0 != DPC_BOARD_CAN_DO_VBI(dev)) {
if( 0 != saa7146_register_device(&dpc->vbi_dev, dev, "dpc", VFL_TYPE_VBI)) { if( 0 != saa7146_register_device(&dpc->vbi_dev, dev, "dpc", VFL_TYPE_VBI)) {
@ -205,18 +205,18 @@ static int dpc_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data
printk("dpc: found 'dpc7146 demonstration board'-%d.\n",dpc_num); printk("dpc: found 'dpc7146 demonstration board'-%d.\n",dpc_num);
dpc_num++; dpc_num++;
/* the rest */ /* the rest */
dpc->cur_input = 0; dpc->cur_input = 0;
dpc_init_done(dev); dpc_init_done(dev);
return 0; return 0;
} }
static int dpc_detach(struct saa7146_dev* dev) static int dpc_detach(struct saa7146_dev* dev)
{ {
struct dpc* dpc = (struct dpc*)dev->ext_priv; struct dpc* dpc = (struct dpc*)dev->ext_priv;
DEB_EE(("dev:%p\n",dev)); DEB_EE(("dev:%p\n",dev));
i2c_release_client(dpc->saa7111a); i2c_release_client(dpc->saa7111a);
@ -238,25 +238,25 @@ static int dpc_detach(struct saa7146_dev* dev)
int dpc_vbi_bypass(struct saa7146_dev* dev) int dpc_vbi_bypass(struct saa7146_dev* dev)
{ {
struct dpc* dpc = (struct dpc*)dev->ext_priv; struct dpc* dpc = (struct dpc*)dev->ext_priv;
int i = 1; int i = 1;
/* switch bypass in saa7111a */ /* switch bypass in saa7111a */
if ( 0 != dpc->saa7111a->driver->command(dpc->saa7111a,SAA711X_VBI_BYPASS, &i)) { if ( 0 != dpc->saa7111a->driver->command(dpc->saa7111a,SAA711X_VBI_BYPASS, &i)) {
printk("dpc_v4l2.o: VBI_BYPASS: could not address saa7111a.\n"); printk("dpc_v4l2.o: VBI_BYPASS: could not address saa7111a.\n");
return -1; return -1;
} }
return 0; return 0;
} }
#endif #endif
static int dpc_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg) static int dpc_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
{ {
struct saa7146_dev *dev = fh->dev; struct saa7146_dev *dev = fh->dev;
struct dpc* dpc = (struct dpc*)dev->ext_priv; struct dpc* dpc = (struct dpc*)dev->ext_priv;
/* /*
struct saa7146_vv *vv = dev->vv_data; struct saa7146_vv *vv = dev->vv_data;
*/ */
switch(cmd) switch(cmd)
{ {
@ -264,11 +264,11 @@ static int dpc_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
{ {
struct v4l2_input *i = arg; struct v4l2_input *i = arg;
DEB_EE(("VIDIOC_ENUMINPUT %d.\n",i->index)); DEB_EE(("VIDIOC_ENUMINPUT %d.\n",i->index));
if( i->index < 0 || i->index >= DPC_INPUTS) { if( i->index < 0 || i->index >= DPC_INPUTS) {
return -EINVAL; return -EINVAL;
} }
memcpy(i, &dpc_inputs[i->index], sizeof(struct v4l2_input)); memcpy(i, &dpc_inputs[i->index], sizeof(struct v4l2_input));
DEB_D(("dpc_v4l2.o: v4l2_ioctl: VIDIOC_ENUMINPUT %d.\n",i->index)); DEB_D(("dpc_v4l2.o: v4l2_ioctl: VIDIOC_ENUMINPUT %d.\n",i->index));
@ -289,13 +289,13 @@ static int dpc_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
if (input < 0 || input >= DPC_INPUTS) { if (input < 0 || input >= DPC_INPUTS) {
return -EINVAL; return -EINVAL;
} }
dpc->cur_input = input; dpc->cur_input = input;
/* fixme: switch input here, switch audio, too! */ /* fixme: switch input here, switch audio, too! */
// saa7146_set_hps_source_and_sync(dev, input_port_selection[input].hps_source, input_port_selection[input].hps_sync); // saa7146_set_hps_source_and_sync(dev, input_port_selection[input].hps_source, input_port_selection[input].hps_sync);
printk("dpc_v4l2.o: VIDIOC_S_INPUT: fixme switch input.\n"); printk("dpc_v4l2.o: VIDIOC_S_INPUT: fixme switch input.\n");
return 0; return 0;
} }
default: default:
@ -334,8 +334,8 @@ static struct saa7146_standard standard[] = {
static struct saa7146_extension extension; static struct saa7146_extension extension;
static struct saa7146_pci_extension_data dpc = { static struct saa7146_pci_extension_data dpc = {
.ext_priv = "Multimedia eXtension Board", .ext_priv = "Multimedia eXtension Board",
.ext = &extension, .ext = &extension,
}; };
static struct pci_device_id pci_tbl[] = { static struct pci_device_id pci_tbl[] = {
@ -357,7 +357,7 @@ static struct saa7146_ext_vv vv_data = {
.capabilities = V4L2_CAP_VBI_CAPTURE, .capabilities = V4L2_CAP_VBI_CAPTURE,
.stds = &standard[0], .stds = &standard[0],
.num_stds = sizeof(standard)/sizeof(struct saa7146_standard), .num_stds = sizeof(standard)/sizeof(struct saa7146_standard),
.std_callback = &std_callback, .std_callback = &std_callback,
.ioctls = &ioctls[0], .ioctls = &ioctls[0],
.ioctl = dpc_ioctl, .ioctl = dpc_ioctl,
}; };
@ -365,7 +365,7 @@ static struct saa7146_ext_vv vv_data = {
static struct saa7146_extension extension = { static struct saa7146_extension extension = {
.name = "dpc7146 demonstration board", .name = "dpc7146 demonstration board",
.flags = SAA7146_USE_I2C_IRQ, .flags = SAA7146_USE_I2C_IRQ,
.pci_tbl = &pci_tbl[0], .pci_tbl = &pci_tbl[0],
.module = THIS_MODULE, .module = THIS_MODULE,
@ -375,7 +375,7 @@ static struct saa7146_extension extension = {
.irq_mask = 0, .irq_mask = 0,
.irq_func = NULL, .irq_func = NULL,
}; };
static int __init dpc_init_module(void) static int __init dpc_init_module(void)
{ {
@ -383,7 +383,7 @@ static int __init dpc_init_module(void)
DEB_S(("failed to register extension.\n")); DEB_S(("failed to register extension.\n"));
return -ENODEV; return -ENODEV;
} }
return 0; return 0;
} }

View file

@ -1,9 +1,9 @@
/* /*
hexium_gemini.c - v4l2 driver for Hexium Gemini frame grabber cards hexium_gemini.c - v4l2 driver for Hexium Gemini frame grabber cards
Visit http://www.mihu.de/linux/saa7146/ and follow the link Visit http://www.mihu.de/linux/saa7146/ and follow the link
to "hexium" for further details about this card. to "hexium" for further details about this card.
Copyright (C) 2003 Michael Hunold <michael@mihu.de> Copyright (C) 2003 Michael Hunold <michael@mihu.de>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -81,7 +81,7 @@ struct hexium
struct video_device *video_dev; struct video_device *video_dev;
struct i2c_adapter i2c_adapter; struct i2c_adapter i2c_adapter;
int cur_input; /* current input */ int cur_input; /* current input */
v4l2_std_id cur_std; /* current standard */ v4l2_std_id cur_std; /* current standard */
int cur_bw; /* current black/white status */ int cur_bw; /* current black/white status */
@ -174,7 +174,7 @@ static struct saa7146_standard hexium_standards[] = {
.h_offset = 1, .h_pixels = 720, .h_offset = 1, .h_pixels = 720,
.v_max_out = 576, .h_max_out = 768, .v_max_out = 576, .h_max_out = 768,
} }
}; };
/* bring hardware to a sane state. this has to be done, just in case someone /* bring hardware to a sane state. this has to be done, just in case someone
wants to capture from this device before it has been properly initialized. wants to capture from this device before it has been properly initialized.
@ -311,7 +311,7 @@ static int hexium_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
struct saa7146_dev *dev = fh->dev; struct saa7146_dev *dev = fh->dev;
struct hexium *hexium = (struct hexium *) dev->ext_priv; struct hexium *hexium = (struct hexium *) dev->ext_priv;
/* /*
struct saa7146_vv *vv = dev->vv_data; struct saa7146_vv *vv = dev->vv_data;
*/ */
switch (cmd) { switch (cmd) {
case VIDIOC_ENUMINPUT: case VIDIOC_ENUMINPUT:

View file

@ -3,7 +3,7 @@
Visit http://www.mihu.de/linux/saa7146/ and follow the link Visit http://www.mihu.de/linux/saa7146/ and follow the link
to "hexium" for further details about this card. to "hexium" for further details about this card.
Copyright (C) 2003 Michael Hunold <michael@mihu.de> Copyright (C) 2003 Michael Hunold <michael@mihu.de>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
@ -69,7 +69,7 @@ struct hexium
{ {
int type; int type;
struct video_device *video_dev; struct video_device *video_dev;
struct i2c_adapter i2c_adapter; struct i2c_adapter i2c_adapter;
int cur_input; /* current input */ int cur_input; /* current input */
}; };
@ -86,7 +86,7 @@ static u8 hexium_saa7110[53]={
}; };
static struct { static struct {
struct hexium_data data[8]; struct hexium_data data[8];
} hexium_input_select[] = { } hexium_input_select[] = {
{ {
{ /* cvbs 1 */ { /* cvbs 1 */
@ -153,7 +153,7 @@ static struct {
{ 0x30, 0x60 }, { 0x30, 0x60 },
{ 0x31, 0xB5 }, // ?? { 0x31, 0xB5 }, // ??
{ 0x21, 0x03 }, { 0x21, 0x03 },
} }
}, { }, {
{ /* y/c 1 */ { /* y/c 1 */
{ 0x06, 0x80 }, { 0x06, 0x80 },
@ -187,7 +187,7 @@ static struct {
{ 0x31, 0x75 }, { 0x31, 0x75 },
{ 0x21, 0x21 }, { 0x21, 0x21 },
} }
} }
}; };
static struct saa7146_standard hexium_standards[] = { static struct saa7146_standard hexium_standards[] = {
@ -207,7 +207,7 @@ static struct saa7146_standard hexium_standards[] = {
.h_offset = 1, .h_pixels = 720, .h_offset = 1, .h_pixels = 720,
.v_max_out = 576, .h_max_out = 768, .v_max_out = 576, .h_max_out = 768,
} }
}; };
/* this is only called for old HV-PCI6/Orion cards /* this is only called for old HV-PCI6/Orion cards
without eeprom */ without eeprom */
@ -272,7 +272,7 @@ static int hexium_probe(struct saa7146_dev *dev)
return 0; return 0;
} }
/* check if this is an old hexium Orion card by looking at /* check if this is an old hexium Orion card by looking at
a saa7110 at address 0x4e */ a saa7110 at address 0x4e */
if (0 == (err = i2c_smbus_xfer(&hexium->i2c_adapter, 0x4e, 0, I2C_SMBUS_READ, 0x00, I2C_SMBUS_BYTE_DATA, &data))) { if (0 == (err = i2c_smbus_xfer(&hexium->i2c_adapter, 0x4e, 0, I2C_SMBUS_READ, 0x00, I2C_SMBUS_BYTE_DATA, &data))) {
printk("hexium_orion: device is a Hexium HV-PCI6/Orion (old).\n"); printk("hexium_orion: device is a Hexium HV-PCI6/Orion (old).\n");
@ -314,7 +314,7 @@ static int hexium_set_input(struct hexium *hexium, int input)
{ {
union i2c_smbus_data data; union i2c_smbus_data data;
int i = 0; int i = 0;
DEB_D((".\n")); DEB_D((".\n"));
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
@ -375,7 +375,7 @@ static int hexium_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
struct saa7146_dev *dev = fh->dev; struct saa7146_dev *dev = fh->dev;
struct hexium *hexium = (struct hexium *) dev->ext_priv; struct hexium *hexium = (struct hexium *) dev->ext_priv;
/* /*
struct saa7146_vv *vv = dev->vv_data; struct saa7146_vv *vv = dev->vv_data;
*/ */
switch (cmd) { switch (cmd) {
case VIDIOC_ENUMINPUT: case VIDIOC_ENUMINPUT:

View file

@ -1,11 +1,11 @@
/* /*
mxb - v4l2 driver for the Multimedia eXtension Board mxb - v4l2 driver for the Multimedia eXtension Board
Copyright (C) 1998-2006 Michael Hunold <michael@mihu.de> Copyright (C) 1998-2006 Michael Hunold <michael@mihu.de>
Visit http://www.mihu.de/linux/saa7146/mxb/ Visit http://www.mihu.de/linux/saa7146/mxb/
for further details about this card. for further details about this card.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or the Free Software Foundation; either version 2 of the License, or
@ -35,12 +35,12 @@
#define I2C_SAA7111 0x24 #define I2C_SAA7111 0x24
#define MXB_BOARD_CAN_DO_VBI(dev) (dev->revision != 0) #define MXB_BOARD_CAN_DO_VBI(dev) (dev->revision != 0)
/* global variable */ /* global variable */
static int mxb_num = 0; static int mxb_num = 0;
/* initial frequence the tuner will be tuned to. /* initial frequence the tuner will be tuned to.
in verden (lower saxony, germany) 4148 is a in verden (lower saxony, germany) 4148 is a
channel called "phoenix" */ channel called "phoenix" */
static int freq = 4148; static int freq = 4148;
@ -55,7 +55,7 @@ MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
enum { TUNER, AUX1, AUX3, AUX3_YC }; enum { TUNER, AUX1, AUX3, AUX3_YC };
static struct v4l2_input mxb_inputs[MXB_INPUTS] = { static struct v4l2_input mxb_inputs[MXB_INPUTS] = {
{ TUNER, "Tuner", V4L2_INPUT_TYPE_TUNER, 1, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 }, { TUNER, "Tuner", V4L2_INPUT_TYPE_TUNER, 1, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 },
{ AUX1, "AUX1", V4L2_INPUT_TYPE_CAMERA, 2, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 }, { AUX1, "AUX1", V4L2_INPUT_TYPE_CAMERA, 2, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 },
{ AUX3, "AUX3 Composite", V4L2_INPUT_TYPE_CAMERA, 4, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 }, { AUX3, "AUX3 Composite", V4L2_INPUT_TYPE_CAMERA, 4, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 },
{ AUX3_YC, "AUX3 S-Video", V4L2_INPUT_TYPE_CAMERA, 4, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 }, { AUX3_YC, "AUX3 S-Video", V4L2_INPUT_TYPE_CAMERA, 4, 0, V4L2_STD_PAL_BG|V4L2_STD_NTSC_M, 0 },
@ -66,7 +66,7 @@ static struct v4l2_input mxb_inputs[MXB_INPUTS] = {
static struct { static struct {
int hps_source; int hps_source;
int hps_sync; int hps_sync;
} input_port_selection[MXB_INPUTS] = { } input_port_selection[MXB_INPUTS] = {
{ SAA7146_HPS_SOURCE_PORT_A, SAA7146_HPS_SYNC_PORT_A }, { SAA7146_HPS_SOURCE_PORT_A, SAA7146_HPS_SYNC_PORT_A },
{ SAA7146_HPS_SOURCE_PORT_A, SAA7146_HPS_SYNC_PORT_A }, { SAA7146_HPS_SOURCE_PORT_A, SAA7146_HPS_SYNC_PORT_A },
{ SAA7146_HPS_SOURCE_PORT_A, SAA7146_HPS_SYNC_PORT_A }, { SAA7146_HPS_SOURCE_PORT_A, SAA7146_HPS_SYNC_PORT_A },
@ -81,7 +81,7 @@ static int video_audio_connect[MXB_INPUTS] =
/* these are the necessary input-output-pins for bringing one audio source /* these are the necessary input-output-pins for bringing one audio source
(see above) to the CD-output */ (see above) to the CD-output */
static struct tea6420_multiplex TEA6420_cd[MXB_AUDIOS+1][2] = static struct tea6420_multiplex TEA6420_cd[MXB_AUDIOS+1][2] =
{ {
{{1,1,0},{1,1,0}}, /* Tuner */ {{1,1,0},{1,1,0}}, /* Tuner */
{{5,1,0},{6,1,0}}, /* AUX 1 */ {{5,1,0},{6,1,0}}, /* AUX 1 */
{{4,1,0},{6,1,0}}, /* AUX 2 */ {{4,1,0},{6,1,0}}, /* AUX 2 */
@ -122,8 +122,8 @@ static struct saa7146_extension_ioctls ioctls[] = {
{ VIDIOC_S_FREQUENCY, SAA7146_EXCLUSIVE }, { VIDIOC_S_FREQUENCY, SAA7146_EXCLUSIVE },
{ VIDIOC_G_AUDIO, SAA7146_EXCLUSIVE }, { VIDIOC_G_AUDIO, SAA7146_EXCLUSIVE },
{ VIDIOC_S_AUDIO, SAA7146_EXCLUSIVE }, { VIDIOC_S_AUDIO, SAA7146_EXCLUSIVE },
{ MXB_S_AUDIO_CD, SAA7146_EXCLUSIVE }, /* custom control */ { MXB_S_AUDIO_CD, SAA7146_EXCLUSIVE }, /* custom control */
{ MXB_S_AUDIO_LINE, SAA7146_EXCLUSIVE }, /* custom control */ { MXB_S_AUDIO_LINE, SAA7146_EXCLUSIVE }, /* custom control */
{ 0, 0 } { 0, 0 }
}; };
@ -132,7 +132,7 @@ struct mxb
struct video_device *video_dev; struct video_device *video_dev;
struct video_device *vbi_dev; struct video_device *vbi_dev;
struct i2c_adapter i2c_adapter; struct i2c_adapter i2c_adapter;
struct i2c_client* saa7111a; struct i2c_client* saa7111a;
struct i2c_client* tda9840; struct i2c_client* tda9840;
@ -200,15 +200,15 @@ static int mxb_probe(struct saa7146_dev* dev)
client = list_entry(item, struct i2c_client, list); client = list_entry(item, struct i2c_client, list);
if( I2C_TEA6420_1 == client->addr ) if( I2C_TEA6420_1 == client->addr )
mxb->tea6420_1 = client; mxb->tea6420_1 = client;
if( I2C_TEA6420_2 == client->addr ) if( I2C_TEA6420_2 == client->addr )
mxb->tea6420_2 = client; mxb->tea6420_2 = client;
if( I2C_TEA6415C_2 == client->addr ) if( I2C_TEA6415C_2 == client->addr )
mxb->tea6415c = client; mxb->tea6415c = client;
if( I2C_TDA9840 == client->addr ) if( I2C_TDA9840 == client->addr )
mxb->tda9840 = client; mxb->tda9840 = client;
if( I2C_SAA7111 == client->addr ) if( I2C_SAA7111 == client->addr )
mxb->saa7111a = client; mxb->saa7111a = client;
if( 0x60 == client->addr ) if( 0x60 == client->addr )
mxb->tuner = client; mxb->tuner = client;
} }
@ -222,7 +222,7 @@ static int mxb_probe(struct saa7146_dev* dev)
return -ENODEV; return -ENODEV;
} }
/* all devices are present, probe was successful */ /* all devices are present, probe was successful */
/* we store the pointer in our private data field */ /* we store the pointer in our private data field */
dev->ext_priv = mxb; dev->ext_priv = mxb;
@ -230,7 +230,7 @@ static int mxb_probe(struct saa7146_dev* dev)
return 0; return 0;
} }
/* some init data for the saa7740, the so-called 'sound arena module'. /* some init data for the saa7740, the so-called 'sound arena module'.
there are no specs available, so we simply use some init values */ there are no specs available, so we simply use some init values */
static struct { static struct {
int length; int length;
@ -330,7 +330,7 @@ static int mxb_init_done(struct saa7146_dev* dev)
v4l2_std_id std = V4L2_STD_PAL_BG; v4l2_std_id std = V4L2_STD_PAL_BG;
int i = 0, err = 0; int i = 0, err = 0;
struct tea6415c_multiplex vm; struct tea6415c_multiplex vm;
/* select video mode in saa7111a */ /* select video mode in saa7111a */
i = VIDEO_MODE_PAL; i = VIDEO_MODE_PAL;
@ -380,16 +380,16 @@ static int mxb_init_done(struct saa7146_dev* dev)
vm.in = 3; vm.in = 3;
vm.out = 13; vm.out = 13;
mxb->tea6415c->driver->command(mxb->tea6415c,TEA6415C_SWITCH, &vm); mxb->tea6415c->driver->command(mxb->tea6415c,TEA6415C_SWITCH, &vm);
/* the rest for mxb */ /* the rest for mxb */
mxb->cur_input = 0; mxb->cur_input = 0;
mxb->cur_mute = 1; mxb->cur_mute = 1;
mxb->cur_mode = V4L2_TUNER_MODE_STEREO; mxb->cur_mode = V4L2_TUNER_MODE_STEREO;
mxb->tda9840->driver->command(mxb->tda9840, TDA9840_SWITCH, &mxb->cur_mode); mxb->tda9840->driver->command(mxb->tda9840, TDA9840_SWITCH, &mxb->cur_mode);
/* check if the saa7740 (aka 'sound arena module') is present /* check if the saa7740 (aka 'sound arena module') is present
on the mxb. if so, we must initialize it. due to lack of on the mxb. if so, we must initialize it. due to lack of
informations about the saa7740, the values were reverse informations about the saa7740, the values were reverse
engineered. */ engineered. */
msg.addr = 0x1b; msg.addr = 0x1b;
@ -409,7 +409,7 @@ static int mxb_init_done(struct saa7146_dev* dev)
break; break;
} }
msg.len = mxb_saa7740_init[i].length; msg.len = mxb_saa7740_init[i].length;
msg.buf = &mxb_saa7740_init[i].data[0]; msg.buf = &mxb_saa7740_init[i].data[0];
if( 1 != (err = i2c_transfer(&mxb->i2c_adapter, &msg, 1))) { if( 1 != (err = i2c_transfer(&mxb->i2c_adapter, &msg, 1))) {
DEB_D(("failed to initialize 'sound arena module'.\n")); DEB_D(("failed to initialize 'sound arena module'.\n"));
@ -418,12 +418,12 @@ static int mxb_init_done(struct saa7146_dev* dev)
} }
INFO(("'sound arena module' detected.\n")); INFO(("'sound arena module' detected.\n"));
} }
err: err:
/* the rest for saa7146: you should definitely set some basic values /* the rest for saa7146: you should definitely set some basic values
for the input-port handling of the saa7146. */ for the input-port handling of the saa7146. */
/* ext->saa has been filled by the core driver */ /* ext->saa has been filled by the core driver */
/* some stuff is done via variables */ /* some stuff is done via variables */
saa7146_set_hps_source_and_sync(dev, input_port_selection[mxb->cur_input].hps_source, input_port_selection[mxb->cur_input].hps_sync); saa7146_set_hps_source_and_sync(dev, input_port_selection[mxb->cur_input].hps_source, input_port_selection[mxb->cur_input].hps_sync);
@ -431,7 +431,7 @@ static int mxb_init_done(struct saa7146_dev* dev)
/* this is ugly, but because of the fact that this is completely /* this is ugly, but because of the fact that this is completely
hardware dependend, it should be done directly... */ hardware dependend, it should be done directly... */
saa7146_write(dev, DD1_STREAM_B, 0x00000000); saa7146_write(dev, DD1_STREAM_B, 0x00000000);
saa7146_write(dev, DD1_INIT, 0x02000200); saa7146_write(dev, DD1_INIT, 0x02000200);
saa7146_write(dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26)); saa7146_write(dev, MC2, (MASK_09 | MASK_25 | MASK_10 | MASK_26));
@ -453,7 +453,7 @@ static struct saa7146_ext_vv vv_data;
static int mxb_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data *info) static int mxb_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data *info)
{ {
struct mxb* mxb = (struct mxb*)dev->ext_priv; struct mxb* mxb = (struct mxb*)dev->ext_priv;
DEB_EE(("dev:%p\n",dev)); DEB_EE(("dev:%p\n",dev));
/* checking for i2c-devices can be omitted here, because we /* checking for i2c-devices can be omitted here, because we
@ -464,7 +464,7 @@ static int mxb_attach(struct saa7146_dev* dev, struct saa7146_pci_extension_data
ERR(("cannot register capture v4l2 device. skipping.\n")); ERR(("cannot register capture v4l2 device. skipping.\n"));
return -1; return -1;
} }
/* initialization stuff (vbi) (only for revision > 0 and for extensions which want it)*/ /* initialization stuff (vbi) (only for revision > 0 and for extensions which want it)*/
if( 0 != MXB_BOARD_CAN_DO_VBI(dev)) { if( 0 != MXB_BOARD_CAN_DO_VBI(dev)) {
if( 0 != saa7146_register_device(&mxb->vbi_dev, dev, "mxb", VFL_TYPE_VBI)) { if( 0 != saa7146_register_device(&mxb->vbi_dev, dev, "mxb", VFL_TYPE_VBI)) {
@ -513,17 +513,17 @@ static int mxb_detach(struct saa7146_dev* dev)
return 0; return 0;
} }
static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg) static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
{ {
struct saa7146_dev *dev = fh->dev; struct saa7146_dev *dev = fh->dev;
struct mxb* mxb = (struct mxb*)dev->ext_priv; struct mxb* mxb = (struct mxb*)dev->ext_priv;
struct saa7146_vv *vv = dev->vv_data; struct saa7146_vv *vv = dev->vv_data;
switch(cmd) { switch(cmd) {
case VIDIOC_ENUMINPUT: case VIDIOC_ENUMINPUT:
{ {
struct v4l2_input *i = arg; struct v4l2_input *i = arg;
DEB_EE(("VIDIOC_ENUMINPUT %d.\n",i->index)); DEB_EE(("VIDIOC_ENUMINPUT %d.\n",i->index));
if( i->index < 0 || i->index >= MXB_INPUTS) { if( i->index < 0 || i->index >= MXB_INPUTS) {
return -EINVAL; return -EINVAL;
@ -559,11 +559,11 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
break; break;
} }
} }
if( i < 0 ) { if( i < 0 ) {
return -EAGAIN; return -EAGAIN;
} }
switch (vc->id ) { switch (vc->id ) {
case V4L2_CID_AUDIO_MUTE: { case V4L2_CID_AUDIO_MUTE: {
vc->value = mxb->cur_mute; vc->value = mxb->cur_mute;
@ -571,7 +571,7 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
return 0; return 0;
} }
} }
DEB_EE(("VIDIOC_G_CTRL V4L2_CID_AUDIO_MUTE:%d.\n",vc->value)); DEB_EE(("VIDIOC_G_CTRL V4L2_CID_AUDIO_MUTE:%d.\n",vc->value));
return 0; return 0;
} }
@ -580,17 +580,17 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
{ {
struct v4l2_control *vc = arg; struct v4l2_control *vc = arg;
int i = 0; int i = 0;
for (i = MAXCONTROLS - 1; i >= 0; i--) { for (i = MAXCONTROLS - 1; i >= 0; i--) {
if (mxb_controls[i].id == vc->id) { if (mxb_controls[i].id == vc->id) {
break; break;
} }
} }
if( i < 0 ) { if( i < 0 ) {
return -EAGAIN; return -EAGAIN;
} }
switch (vc->id ) { switch (vc->id ) {
case V4L2_CID_AUDIO_MUTE: { case V4L2_CID_AUDIO_MUTE: {
mxb->cur_mute = vc->value; mxb->cur_mute = vc->value;
@ -614,12 +614,12 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
*input = mxb->cur_input; *input = mxb->cur_input;
DEB_EE(("VIDIOC_G_INPUT %d.\n",*input)); DEB_EE(("VIDIOC_G_INPUT %d.\n",*input));
return 0; return 0;
} }
case VIDIOC_S_INPUT: case VIDIOC_S_INPUT:
{ {
int input = *(int *)arg; int input = *(int *)arg;
struct tea6415c_multiplex vm; struct tea6415c_multiplex vm;
int i = 0; int i = 0;
DEB_EE(("VIDIOC_S_INPUT %d.\n",input)); DEB_EE(("VIDIOC_S_INPUT %d.\n",input));
@ -627,34 +627,34 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
if (input < 0 || input >= MXB_INPUTS) { if (input < 0 || input >= MXB_INPUTS) {
return -EINVAL; return -EINVAL;
} }
/* fixme: locke das setzen des inputs mit hilfe des mutexes /* fixme: locke das setzen des inputs mit hilfe des mutexes
mutex_lock(&dev->lock); mutex_lock(&dev->lock);
video_mux(dev,*i); video_mux(dev,*i);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
*/ */
/* fixme: check if streaming capture /* fixme: check if streaming capture
if ( 0 != dev->streaming ) { if ( 0 != dev->streaming ) {
DEB_D(("VIDIOC_S_INPUT illegal while streaming.\n")); DEB_D(("VIDIOC_S_INPUT illegal while streaming.\n"));
return -EPERM; return -EPERM;
} }
*/ */
mxb->cur_input = input; mxb->cur_input = input;
saa7146_set_hps_source_and_sync(dev, input_port_selection[input].hps_source, input_port_selection[input].hps_sync); saa7146_set_hps_source_and_sync(dev, input_port_selection[input].hps_source, input_port_selection[input].hps_sync);
/* prepare switching of tea6415c and saa7111a; /* prepare switching of tea6415c and saa7111a;
have a look at the 'background'-file for further informations */ have a look at the 'background'-file for further informations */
switch( input ) { switch( input ) {
case TUNER: case TUNER:
{ {
i = 0; i = 0;
vm.in = 3; vm.in = 3;
vm.out = 17; vm.out = 17;
if ( 0 != mxb->tea6415c->driver->command(mxb->tea6415c,TEA6415C_SWITCH, &vm)) { if ( 0 != mxb->tea6415c->driver->command(mxb->tea6415c,TEA6415C_SWITCH, &vm)) {
printk("VIDIOC_S_INPUT: could not address tea6415c #1\n"); printk("VIDIOC_S_INPUT: could not address tea6415c #1\n");
return -EFAULT; return -EFAULT;
@ -662,7 +662,7 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
/* connect tuner-output always to multicable */ /* connect tuner-output always to multicable */
vm.in = 3; vm.in = 3;
vm.out = 13; vm.out = 13;
break; break;
} }
case AUX3_YC: case AUX3_YC:
{ {
@ -703,11 +703,11 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
break; break;
} }
} }
/* switch video in saa7111a */ /* switch video in saa7111a */
if ( 0 != mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_INPUT, &i)) { if ( 0 != mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_INPUT, &i)) {
printk("VIDIOC_S_INPUT: could not address saa7111a #1.\n"); printk("VIDIOC_S_INPUT: could not address saa7111a #1.\n");
} }
/* switch the audio-source only if necessary */ /* switch the audio-source only if necessary */
if( 0 == mxb->cur_mute ) { if( 0 == mxb->cur_mute ) {
@ -738,11 +738,11 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
t->rangehigh = 13684; /* 855.25 MHz / 62.5 kHz = 13684 */ t->rangehigh = 13684; /* 855.25 MHz / 62.5 kHz = 13684 */
/* FIXME: add the real signal strength here */ /* FIXME: add the real signal strength here */
t->signal = 0xffff; t->signal = 0xffff;
t->afc = 0; t->afc = 0;
mxb->tda9840->driver->command(mxb->tda9840,TDA9840_DETECT, &byte); mxb->tda9840->driver->command(mxb->tda9840,TDA9840_DETECT, &byte);
t->audmode = mxb->cur_mode; t->audmode = mxb->cur_mode;
if( byte < 0 ) { if( byte < 0 ) {
t->rxsubchans = V4L2_TUNER_SUB_MONO; t->rxsubchans = V4L2_TUNER_SUB_MONO;
} else { } else {
@ -777,12 +777,12 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
struct v4l2_tuner *t = arg; struct v4l2_tuner *t = arg;
int result = 0; int result = 0;
int byte = 0; int byte = 0;
if( 0 != t->index ) { if( 0 != t->index ) {
DEB_D(("VIDIOC_S_TUNER: channel %d does not have a tuner attached.\n",t->index)); DEB_D(("VIDIOC_S_TUNER: channel %d does not have a tuner attached.\n",t->index));
return -EINVAL; return -EINVAL;
} }
switch(t->audmode) { switch(t->audmode) {
case V4L2_TUNER_MODE_STEREO: { case V4L2_TUNER_MODE_STEREO: {
mxb->cur_mode = V4L2_TUNER_MODE_STEREO; mxb->cur_mode = V4L2_TUNER_MODE_STEREO;
@ -813,7 +813,7 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
if( 0 != (result = mxb->tda9840->driver->command(mxb->tda9840, TDA9840_SWITCH, &byte))) { if( 0 != (result = mxb->tda9840->driver->command(mxb->tda9840, TDA9840_SWITCH, &byte))) {
printk("VIDIOC_S_TUNER error. result:%d, byte:%d\n",result,byte); printk("VIDIOC_S_TUNER error. result:%d, byte:%d\n",result,byte);
} }
return 0; return 0;
} }
case VIDIOC_G_FREQUENCY: case VIDIOC_G_FREQUENCY:
@ -839,7 +839,7 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
if (V4L2_TUNER_ANALOG_TV != f->type) if (V4L2_TUNER_ANALOG_TV != f->type)
return -EINVAL; return -EINVAL;
if(0 != mxb->cur_input) { if(0 != mxb->cur_input) {
DEB_D(("VIDIOC_S_FREQ: channel %d does not have a tuner!\n",mxb->cur_input)); DEB_D(("VIDIOC_S_FREQ: channel %d does not have a tuner!\n",mxb->cur_input));
return -EINVAL; return -EINVAL;
@ -848,7 +848,7 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
mxb->cur_freq = *f; mxb->cur_freq = *f;
DEB_EE(("VIDIOC_S_FREQUENCY: freq:0x%08x.\n", mxb->cur_freq.frequency)); DEB_EE(("VIDIOC_S_FREQUENCY: freq:0x%08x.\n", mxb->cur_freq.frequency));
/* tune in desired frequency */ /* tune in desired frequency */
mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_FREQUENCY, &mxb->cur_freq); mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_FREQUENCY, &mxb->cur_freq);
/* hack: changing the frequency should invalidate the vbi-counter (=> alevt) */ /* hack: changing the frequency should invalidate the vbi-counter (=> alevt) */
@ -861,12 +861,12 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
case MXB_S_AUDIO_CD: case MXB_S_AUDIO_CD:
{ {
int i = *(int*)arg; int i = *(int*)arg;
if( i < 0 || i >= MXB_AUDIOS ) { if( i < 0 || i >= MXB_AUDIOS ) {
DEB_D(("illegal argument to MXB_S_AUDIO_CD: i:%d.\n",i)); DEB_D(("illegal argument to MXB_S_AUDIO_CD: i:%d.\n",i));
return -EINVAL; return -EINVAL;
} }
DEB_EE(("MXB_S_AUDIO_CD: i:%d.\n",i)); DEB_EE(("MXB_S_AUDIO_CD: i:%d.\n",i));
mxb->tea6420_1->driver->command(mxb->tea6420_1,TEA6420_SWITCH, &TEA6420_cd[i][0]); mxb->tea6420_1->driver->command(mxb->tea6420_1,TEA6420_SWITCH, &TEA6420_cd[i][0]);
@ -877,12 +877,12 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
case MXB_S_AUDIO_LINE: case MXB_S_AUDIO_LINE:
{ {
int i = *(int*)arg; int i = *(int*)arg;
if( i < 0 || i >= MXB_AUDIOS ) { if( i < 0 || i >= MXB_AUDIOS ) {
DEB_D(("illegal argument to MXB_S_AUDIO_LINE: i:%d.\n",i)); DEB_D(("illegal argument to MXB_S_AUDIO_LINE: i:%d.\n",i));
return -EINVAL; return -EINVAL;
} }
DEB_EE(("MXB_S_AUDIO_LINE: i:%d.\n",i)); DEB_EE(("MXB_S_AUDIO_LINE: i:%d.\n",i));
mxb->tea6420_1->driver->command(mxb->tea6420_1,TEA6420_SWITCH, &TEA6420_line[i][0]); mxb->tea6420_1->driver->command(mxb->tea6420_1,TEA6420_SWITCH, &TEA6420_line[i][0]);
mxb->tea6420_2->driver->command(mxb->tea6420_2,TEA6420_SWITCH, &TEA6420_line[i][1]); mxb->tea6420_2->driver->command(mxb->tea6420_2,TEA6420_SWITCH, &TEA6420_line[i][1]);
@ -894,13 +894,13 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
struct v4l2_audio *a = arg; struct v4l2_audio *a = arg;
if( a->index < 0 || a->index > MXB_INPUTS ) { if( a->index < 0 || a->index > MXB_INPUTS ) {
DEB_D(("VIDIOC_G_AUDIO %d out of range.\n",a->index)); DEB_D(("VIDIOC_G_AUDIO %d out of range.\n",a->index));
return -EINVAL; return -EINVAL;
} }
DEB_EE(("VIDIOC_G_AUDIO %d.\n",a->index)); DEB_EE(("VIDIOC_G_AUDIO %d.\n",a->index));
memcpy(a, &mxb_audios[video_audio_connect[mxb->cur_input]], sizeof(struct v4l2_audio)); memcpy(a, &mxb_audios[video_audio_connect[mxb->cur_input]], sizeof(struct v4l2_audio));
return 0; return 0;
} }
case VIDIOC_S_AUDIO: case VIDIOC_S_AUDIO:
@ -908,7 +908,7 @@ static int mxb_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
struct v4l2_audio *a = arg; struct v4l2_audio *a = arg;
DEB_D(("VIDIOC_S_AUDIO %d.\n",a->index)); DEB_D(("VIDIOC_S_AUDIO %d.\n",a->index));
return 0; return 0;
} }
default: default:
/* /*
DEB2(printk("does not handle this ioctl.\n")); DEB2(printk("does not handle this ioctl.\n"));
@ -928,7 +928,7 @@ static int std_callback(struct saa7146_dev* dev, struct saa7146_standard *std)
v4l2_std_id std = V4L2_STD_PAL_I; v4l2_std_id std = V4L2_STD_PAL_I;
DEB_D(("VIDIOC_S_STD: setting mxb for PAL_I.\n")); DEB_D(("VIDIOC_S_STD: setting mxb for PAL_I.\n"));
/* set the 7146 gpio register -- I don't know what this does exactly */ /* set the 7146 gpio register -- I don't know what this does exactly */
saa7146_write(dev, GPIO_CTRL, 0x00404050); saa7146_write(dev, GPIO_CTRL, 0x00404050);
/* unset the 7111 gpio register -- I don't know what this does exactly */ /* unset the 7111 gpio register -- I don't know what this does exactly */
mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &zero); mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &zero);
mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std); mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std);
@ -936,7 +936,7 @@ static int std_callback(struct saa7146_dev* dev, struct saa7146_standard *std)
v4l2_std_id std = V4L2_STD_PAL_BG; v4l2_std_id std = V4L2_STD_PAL_BG;
DEB_D(("VIDIOC_S_STD: setting mxb for PAL/NTSC/SECAM.\n")); DEB_D(("VIDIOC_S_STD: setting mxb for PAL/NTSC/SECAM.\n"));
/* set the 7146 gpio register -- I don't know what this does exactly */ /* set the 7146 gpio register -- I don't know what this does exactly */
saa7146_write(dev, GPIO_CTRL, 0x00404050); saa7146_write(dev, GPIO_CTRL, 0x00404050);
/* set the 7111 gpio register -- I don't know what this does exactly */ /* set the 7111 gpio register -- I don't know what this does exactly */
mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &one); mxb->saa7111a->driver->command(mxb->saa7111a,DECODER_SET_GPIO, &one);
mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std); mxb->tuner->driver->command(mxb->tuner, VIDIOC_S_STD, &std);
@ -969,8 +969,8 @@ static struct saa7146_standard standard[] = {
}; };
static struct saa7146_pci_extension_data mxb = { static struct saa7146_pci_extension_data mxb = {
.ext_priv = "Multimedia eXtension Board", .ext_priv = "Multimedia eXtension Board",
.ext = &extension, .ext = &extension,
}; };
static struct pci_device_id pci_tbl[] = { static struct pci_device_id pci_tbl[] = {
@ -992,7 +992,7 @@ static struct saa7146_ext_vv vv_data = {
.capabilities = V4L2_CAP_TUNER | V4L2_CAP_VBI_CAPTURE, .capabilities = V4L2_CAP_TUNER | V4L2_CAP_VBI_CAPTURE,
.stds = &standard[0], .stds = &standard[0],
.num_stds = sizeof(standard)/sizeof(struct saa7146_standard), .num_stds = sizeof(standard)/sizeof(struct saa7146_standard),
.std_callback = &std_callback, .std_callback = &std_callback,
.ioctls = &ioctls[0], .ioctls = &ioctls[0],
.ioctl = mxb_ioctl, .ioctl = mxb_ioctl,
}; };
@ -1000,7 +1000,7 @@ static struct saa7146_ext_vv vv_data = {
static struct saa7146_extension extension = { static struct saa7146_extension extension = {
.name = MXB_IDENTIFIER, .name = MXB_IDENTIFIER,
.flags = SAA7146_USE_I2C_IRQ, .flags = SAA7146_USE_I2C_IRQ,
.pci_tbl = &pci_tbl[0], .pci_tbl = &pci_tbl[0],
.module = THIS_MODULE, .module = THIS_MODULE,
@ -1010,7 +1010,7 @@ static struct saa7146_extension extension = {
.irq_mask = 0, .irq_mask = 0,
.irq_func = NULL, .irq_func = NULL,
}; };
static int __init mxb_init_module(void) static int __init mxb_init_module(void)
{ {
@ -1018,7 +1018,7 @@ static int __init mxb_init_module(void)
DEB_S(("failed to register extension.\n")); DEB_S(("failed to register extension.\n"));
return -ENODEV; return -ENODEV;
} }
return 0; return 0;
} }

View file

@ -38,5 +38,5 @@ static struct v4l2_audio mxb_audios[MXB_AUDIOS] = {
.name = "CD-ROM (X10)", .name = "CD-ROM (X10)",
.capability = V4L2_AUDCAP_STEREO, .capability = V4L2_AUDCAP_STEREO,
} }
}; };
#endif #endif

View file

@ -24,6 +24,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#include <linux/module.h> #include <linux/module.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <linux/i2c.h> #include <linux/i2c.h>
@ -222,7 +223,7 @@ static int detach(struct i2c_client *client)
static struct i2c_driver driver = { static struct i2c_driver driver = {
.driver = { .driver = {
.name = "tda9840", .name = "tda9840",
}, },
.id = I2C_DRIVERID_TDA9840, .id = I2C_DRIVERID_TDA9840,
.attach_adapter = attach, .attach_adapter = attach,

View file

@ -26,6 +26,7 @@
Foundation, Inc., 675 Mvss Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mvss Ave, Cambridge, MA 02139, USA.
*/ */
#include <linux/module.h> #include <linux/module.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <linux/i2c.h> #include <linux/i2c.h>
@ -107,7 +108,7 @@ static int switch_matrix(struct i2c_client *client, int i, int o)
{ {
u8 byte = 0; u8 byte = 0;
int ret; int ret;
dprintk("adr:0x%02x, i:%d, o:%d\n", client->addr, i, o); dprintk("adr:0x%02x, i:%d, o:%d\n", client->addr, i, o);
/* check if the pins are valid */ /* check if the pins are valid */
@ -191,7 +192,7 @@ static int command(struct i2c_client *client, unsigned int cmd, void *arg)
static struct i2c_driver driver = { static struct i2c_driver driver = {
.driver = { .driver = {
.name = "tea6415c", .name = "tea6415c",
}, },
.id = I2C_DRIVERID_TEA6415C, .id = I2C_DRIVERID_TEA6415C,
.attach_adapter = attach, .attach_adapter = attach,

View file

@ -26,6 +26,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#include <linux/module.h> #include <linux/module.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <linux/i2c.h> #include <linux/i2c.h>
@ -83,7 +84,7 @@ static int tea6420_switch(struct i2c_client *client, int i, int o, int g)
dprintk("i2c_smbus_write_byte() failed, ret:%d\n", ret); dprintk("i2c_smbus_write_byte() failed, ret:%d\n", ret);
return -EIO; return -EIO;
} }
return 0; return 0;
} }
@ -167,7 +168,7 @@ static int command(struct i2c_client *client, unsigned int cmd, void *arg)
static struct i2c_driver driver = { static struct i2c_driver driver = {
.driver = { .driver = {
.name = "tea6420", .name = "tea6420",
}, },
.id = I2C_DRIVERID_TEA6420, .id = I2C_DRIVERID_TEA6420,
.attach_adapter = attach, .attach_adapter = attach,