diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-11-22 12:33:00 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-30 06:38:14 -0500 |
commit | dff65740e0c3a18cf56b2e3cbeebd9e9cfa7ac0d (patch) | |
tree | 5234c409d0259e46c1dc38014ad3974699159ed5 | |
parent | ec984f437842426622fb54b56bbcc416183eefe6 (diff) |
V4L/DVB (9737): sms1xxx: enable LNA control on Hauppauge WinTV MiniCard
Power the LNA while the frontend is in use.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/siano/sms-cards.c | 13 | ||||
-rw-r--r-- | drivers/media/dvb/siano/sms-cards.h | 3 |
2 files changed, 14 insertions, 2 deletions
diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c index f4eb46a7c905..fd62e0b85621 100644 --- a/drivers/media/dvb/siano/sms-cards.c +++ b/drivers/media/dvb/siano/sms-cards.c | |||
@@ -41,7 +41,7 @@ struct usb_device_id smsusb_id_table[] = { | |||
41 | { USB_DEVICE(0x2040, 0x2000), | 41 | { USB_DEVICE(0x2040, 0x2000), |
42 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | 42 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, |
43 | { USB_DEVICE(0x2040, 0x2009), | 43 | { USB_DEVICE(0x2040, 0x2009), |
44 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | 44 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 }, |
45 | { USB_DEVICE(0x2040, 0x200a), | 45 | { USB_DEVICE(0x2040, 0x200a), |
46 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, | 46 | .driver_info = SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD }, |
47 | { USB_DEVICE(0x2040, 0x2010), | 47 | { USB_DEVICE(0x2040, 0x2010), |
@@ -165,6 +165,11 @@ int sms_board_setup(struct smscore_device_t *coredev) | |||
165 | sms_set_gpio(coredev, board->led_hi, 0); | 165 | sms_set_gpio(coredev, board->led_hi, 0); |
166 | sms_set_gpio(coredev, board->led_lo, 0); | 166 | sms_set_gpio(coredev, board->led_lo, 0); |
167 | break; | 167 | break; |
168 | case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2: | ||
169 | case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD: | ||
170 | /* turn off LNA */ | ||
171 | sms_set_gpio(coredev, board->lna_ctrl, 0); | ||
172 | break; | ||
168 | } | 173 | } |
169 | return 0; | 174 | return 0; |
170 | } | 175 | } |
@@ -180,6 +185,12 @@ int sms_board_power(struct smscore_device_t *coredev, int onoff) | |||
180 | sms_set_gpio(coredev, | 185 | sms_set_gpio(coredev, |
181 | board->led_power, onoff ? 1 : 0); | 186 | board->led_power, onoff ? 1 : 0); |
182 | break; | 187 | break; |
188 | case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2: | ||
189 | case SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD: | ||
190 | /* LNA */ | ||
191 | sms_set_gpio(coredev, | ||
192 | board->lna_ctrl, onoff ? 1 : 0); | ||
193 | break; | ||
183 | } | 194 | } |
184 | return 0; | 195 | return 0; |
185 | } | 196 | } |
diff --git a/drivers/media/dvb/siano/sms-cards.h b/drivers/media/dvb/siano/sms-cards.h index 5c013c4390d7..8e0fe9fd2610 100644 --- a/drivers/media/dvb/siano/sms-cards.h +++ b/drivers/media/dvb/siano/sms-cards.h | |||
@@ -33,13 +33,14 @@ | |||
33 | #define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B 7 | 33 | #define SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B 7 |
34 | #define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM 8 | 34 | #define SMS1XXX_BOARD_HAUPPAUGE_WINDHAM 8 |
35 | #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD 9 | 35 | #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD 9 |
36 | #define SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2 10 | ||
36 | 37 | ||
37 | struct sms_board { | 38 | struct sms_board { |
38 | enum sms_device_type_st type; | 39 | enum sms_device_type_st type; |
39 | char *name, *fw[DEVICE_MODE_MAX]; | 40 | char *name, *fw[DEVICE_MODE_MAX]; |
40 | 41 | ||
41 | /* gpios */ | 42 | /* gpios */ |
42 | int led_power, led_hi, led_lo; | 43 | int led_power, led_hi, led_lo, lna_ctrl; |
43 | }; | 44 | }; |
44 | 45 | ||
45 | struct sms_board *sms_get_board(int id); | 46 | struct sms_board *sms_get_board(int id); |