aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/siano/sms-cards.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-11-22 13:32:19 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-29 14:53:41 -0500
commit7b29e10d609035b5f93546ac6bcd1c5d810476a7 (patch)
treed5081671260df6195f37952e29515f1c7bdb0356 /drivers/media/dvb/siano/sms-cards.c
parent851a90914346b9a3b1afc0ae9c1ed2eb3dae9b5a (diff)
V4L/DVB (9739): sms1xxx: enable signal quality indicator LEDs on Hauppauge WinTV MiniStick
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/siano/sms-cards.c')
-rw-r--r--drivers/media/dvb/siano/sms-cards.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c
index e17eb35877fc..f4eb46a7c905 100644
--- a/drivers/media/dvb/siano/sms-cards.c
+++ b/drivers/media/dvb/siano/sms-cards.c
@@ -183,3 +183,25 @@ int sms_board_power(struct smscore_device_t *coredev, int onoff)
183 } 183 }
184 return 0; 184 return 0;
185} 185}
186
187int sms_board_led_feedback(struct smscore_device_t *coredev, int led)
188{
189 int board_id = smscore_get_board_id(coredev);
190 struct sms_board *board = sms_get_board(board_id);
191
192 /* dont touch GPIO if LEDs are already set */
193 if (smscore_led_state(coredev, -1) == led)
194 return 0;
195
196 switch (board_id) {
197 case SMS1XXX_BOARD_HAUPPAUGE_WINDHAM:
198 sms_set_gpio(coredev,
199 board->led_lo, (led & SMS_LED_LO) ? 1 : 0);
200 sms_set_gpio(coredev,
201 board->led_hi, (led & SMS_LED_HI) ? 1 : 0);
202
203 smscore_led_state(coredev, led);
204 break;
205 }
206 return 0;
207}