Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
media
pci
cx25821
cx25821-cards.c
Go to the documentation of this file.
1
/*
2
* Driver for the Conexant CX25821 PCIe bridge
3
*
4
* Copyright (C) 2009 Conexant Systems Inc.
5
* Authors <
[email protected]
>, <
[email protected]
>
6
* Based on Steven Toth <
[email protected]
> cx23885 driver
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
*
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22
*/
23
24
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
25
26
#include <
linux/init.h
>
27
#include <linux/module.h>
28
#include <linux/pci.h>
29
#include <
linux/delay.h
>
30
#include <
media/cx25840.h
>
31
32
#include "
cx25821.h
"
33
#include "
tuner-xc2028.h
"
34
35
/* board config info */
36
37
struct
cx25821_board
cx25821_boards
[] = {
38
[
UNKNOWN_BOARD
] = {
39
.name =
"UNKNOWN/GENERIC"
,
40
/* Ensure safe default for unknown boards */
41
.clk_freq = 0,
42
},
43
44
[
CX25821_BOARD
] = {
45
.name =
"CX25821"
,
46
.portb =
CX25821_RAW
,
47
.portc =
CX25821_264
,
48
.input[0].type =
CX25821_VMUX_COMPOSITE
,
49
},
50
51
};
52
53
const
unsigned
int
cx25821_bcount
=
ARRAY_SIZE
(cx25821_boards);
54
55
struct
cx25821_subid
cx25821_subids
[] = {
56
{
57
.subvendor = 0x14f1,
58
.subdevice = 0x0920,
59
.card =
CX25821_BOARD
,
60
},
61
};
62
63
void
cx25821_card_setup
(
struct
cx25821_dev
*
dev
)
64
{
65
static
u8
eeprom
[256];
66
67
if
(dev->
i2c_bus
[0].i2c_rc == 0) {
68
dev->
i2c_bus
[0].i2c_client.addr = 0xa0 >> 1;
69
tveeprom_read
(&dev->
i2c_bus
[0].i2c_client, eeprom,
70
sizeof
(eeprom));
71
}
72
}
Generated on Thu Jan 10 2013 13:47:47 for Linux Kernel by
1.8.2