Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 124251
b: refs/heads/master
c: 250fa67
h: refs/heads/master
i:
  124249: 5fd1773
  124247: 8e7c065
v: v3
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Dec 29, 2008
1 parent ee60ce0 commit 0b0971c
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3f7d99f65a044785804ef65b3588da0640ed1c37
refs/heads/master: 250fa674fdcaa64ba17cdb6d3ef0bdf2fa15af90
47 changes: 47 additions & 0 deletions trunk/drivers/media/dvb/siano/sms-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,21 @@ static struct sms_board sms_boards[] = {
.name = "Hauppauge WinTV MiniStick",
.type = SMS_NOVA_B0,
.fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw",
.led_power = 26,
.led_lo = 27,
.led_hi = 28,
},
[SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD] = {
.name = "Hauppauge WinTV MiniCard",
.type = SMS_NOVA_B0,
.fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw",
.lna_ctrl = 29,
},
[SMS1XXX_BOARD_HAUPPAUGE_TIGER_MINICARD_R2] = {
.name = "Hauppauge WinTV MiniCard",
.type = SMS_NOVA_B0,
.fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-02.fw",
.lna_ctrl = 1,
},
};

Expand All @@ -121,3 +131,40 @@ struct sms_board *sms_get_board(int id)
return &sms_boards[id];
}

static int sms_set_gpio(struct smscore_device_t *coredev, u32 pin, int enable)
{
int ret;
struct smscore_gpio_config gpioconfig = {
.direction = SMS_GPIO_DIRECTION_OUTPUT,
.pullupdown = SMS_GPIO_PULLUPDOWN_NONE,
.inputcharacteristics = SMS_GPIO_INPUTCHARACTERISTICS_NORMAL,
.outputslewrate = SMS_GPIO_OUTPUTSLEWRATE_FAST,
.outputdriving = SMS_GPIO_OUTPUTDRIVING_4mA,
};

if (pin == 0)
return -EINVAL;

ret = smscore_configure_gpio(coredev, pin, &gpioconfig);

if (ret < 0)
return ret;

return smscore_set_gpio(coredev, pin, enable);
}

int sms_board_setup(struct smscore_device_t *coredev)
{
int board_id = smscore_get_board_id(coredev);
struct sms_board *board = sms_get_board(board_id);

switch (board_id) {
case SMS1XXX_BOARD_HAUPPAUGE_WINDHAM:
/* turn off all LEDs */
sms_set_gpio(coredev, board->led_power, 0);
sms_set_gpio(coredev, board->led_hi, 0);
sms_set_gpio(coredev, board->led_lo, 0);
break;
}
return 0;
}
5 changes: 5 additions & 0 deletions trunk/drivers/media/dvb/siano/sms-cards.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,15 @@
struct sms_board {
enum sms_device_type_st type;
char *name, *fw[DEVICE_MODE_MAX];

/* gpios */
int led_power, led_hi, led_lo;
};

struct sms_board *sms_get_board(int id);

int sms_board_setup(struct smscore_device_t *coredev);

extern struct usb_device_id smsusb_id_table[];

#endif /* __SMS_CARDS_H__ */
2 changes: 2 additions & 0 deletions trunk/drivers/media/dvb/siano/smsdvb.c
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,8 @@ static int smsdvb_hotplug(struct smscore_device_t *coredev,

sms_info("success");

sms_board_setup(coredev);

return 0;

client_error:
Expand Down

0 comments on commit 0b0971c

Please sign in to comment.