From 1c11d546b6c31399ac60f42d3103227cc1164d80 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Wed, 18 Jun 2008 22:09:55 -0300 Subject: V4L/DVB (8292): sms1xxx: add code to allow device-specific functionality Set board ID in the usb_device_id table's driver_info field. Use board name when registering the dvb adapter. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/siano/sms-cards.c | 69 +++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 drivers/media/dvb/siano/sms-cards.c (limited to 'drivers/media/dvb/siano/sms-cards.c') diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c new file mode 100644 index 000000000000..88fc2a4edc1e --- /dev/null +++ b/drivers/media/dvb/siano/sms-cards.c @@ -0,0 +1,69 @@ +/* + * Card-specific functions for the Siano SMS1xxx USB dongle + * + * Copyright (c) 2008 Michael Krufky + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 3 as + * published by the Free Software Foundation; + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. + * + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include "sms-cards.h" + +struct usb_device_id smsusb_id_table[] = { + { USB_DEVICE(0x187f, 0x0010), + .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, + { USB_DEVICE(0x187f, 0x0100), + .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, + { USB_DEVICE(0x187f, 0x0200), + .driver_info = SMS1XXX_BOARD_SIANO_NOVA_A }, + { USB_DEVICE(0x187f, 0x0201), + .driver_info = SMS1XXX_BOARD_SIANO_NOVA_B }, + { USB_DEVICE(0x187f, 0x0300), + .driver_info = SMS1XXX_BOARD_SIANO_VEGA }, + { } /* Terminating entry */ +}; +MODULE_DEVICE_TABLE(usb, smsusb_id_table); + +static struct sms_board sms_boards[] = { + [SMS_BOARD_UNKNOWN] = { + .name = "Unknown board", + }, + [SMS1XXX_BOARD_SIANO_SMS1000] = { + .name = "Siano Digital Receiver", + .type = SMS_STELLAR, + }, + [SMS1XXX_BOARD_SIANO_STELLAR] = { + .name = "Siano Stellar reference board", + .type = SMS_STELLAR, + }, + [SMS1XXX_BOARD_SIANO_NOVA_A] = { + .name = "Siano Nova A reference board", + .type = SMS_NOVA_A0, + }, + [SMS1XXX_BOARD_SIANO_NOVA_B] = { + .name = "Siano Nova B reference board", + .type = SMS_NOVA_B0, + }, + [SMS1XXX_BOARD_SIANO_VEGA] = { + .name = "Siano Vega reference board", + .type = SMS_VEGA, + }, +}; + +struct sms_board *sms_get_board(int id) +{ + BUG_ON(id >= ARRAY_SIZE(sms_boards)); + + return &sms_boards[id]; +} + -- cgit v1.2.2 From cf1cfe1ba70952093a46bb0e21b58357f36f2e8f Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Sat, 28 Jun 2008 16:45:36 -0300 Subject: V4L/DVB (8302): sms1xxx: fix Siano board names Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/siano/sms-cards.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'drivers/media/dvb/siano/sms-cards.c') diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c index 88fc2a4edc1e..6a22ec10fe20 100644 --- a/drivers/media/dvb/siano/sms-cards.c +++ b/drivers/media/dvb/siano/sms-cards.c @@ -38,24 +38,20 @@ static struct sms_board sms_boards[] = { [SMS_BOARD_UNKNOWN] = { .name = "Unknown board", }, - [SMS1XXX_BOARD_SIANO_SMS1000] = { - .name = "Siano Digital Receiver", - .type = SMS_STELLAR, - }, [SMS1XXX_BOARD_SIANO_STELLAR] = { - .name = "Siano Stellar reference board", + .name = "Siano Stellar Digital Receiver", .type = SMS_STELLAR, }, [SMS1XXX_BOARD_SIANO_NOVA_A] = { - .name = "Siano Nova A reference board", + .name = "Siano Nova A Digital Receiver", .type = SMS_NOVA_A0, }, [SMS1XXX_BOARD_SIANO_NOVA_B] = { - .name = "Siano Nova B reference board", + .name = "Siano Nova B Digital Receiver", .type = SMS_NOVA_B0, }, [SMS1XXX_BOARD_SIANO_VEGA] = { - .name = "Siano Vega reference board", + .name = "Siano Vega Digital Receiver", .type = SMS_VEGA, }, }; -- cgit v1.2.2 From 14a638cd3b6031c27b33560506244b9bf1913ad9 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Sat, 28 Jun 2008 23:53:51 -0300 Subject: V4L/DVB (8308): sms1xxx: Provide option to support Siano default usb ids Provide an option to enable / disable support for Siano's default usb ids. This allows the support for Siano's USB IDs to be disabled, so that Siano's external driver can be used, instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/siano/sms-cards.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/media/dvb/siano/sms-cards.c') diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c index 6a22ec10fe20..c4c9ab0232e3 100644 --- a/drivers/media/dvb/siano/sms-cards.c +++ b/drivers/media/dvb/siano/sms-cards.c @@ -20,6 +20,7 @@ #include "sms-cards.h" struct usb_device_id smsusb_id_table[] = { +#ifdef CONFIG_DVB_SIANO_SMS1XXX_SMS_IDS { USB_DEVICE(0x187f, 0x0010), .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, { USB_DEVICE(0x187f, 0x0100), @@ -30,6 +31,7 @@ struct usb_device_id smsusb_id_table[] = { .driver_info = SMS1XXX_BOARD_SIANO_NOVA_B }, { USB_DEVICE(0x187f, 0x0300), .driver_info = SMS1XXX_BOARD_SIANO_VEGA }, +#endif { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, smsusb_id_table); -- cgit v1.2.2 From a745f0a12cab631b92f9e13b31997192c7df3823 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Tue, 1 Jul 2008 04:47:10 -0300 Subject: V4L/DVB (8312): sms1xxx: add firmware filenames to board properties for stellar and nova Assign the following firmware filenames: sms1xxx-stellar-dvbt-01.fw sms1xxx-nova-a-dvbt-01.fw sms1xxx-nova-b-dvbt-01.fw Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/siano/sms-cards.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/media/dvb/siano/sms-cards.c') diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c index c4c9ab0232e3..c75c27c18b12 100644 --- a/drivers/media/dvb/siano/sms-cards.c +++ b/drivers/media/dvb/siano/sms-cards.c @@ -43,14 +43,17 @@ static struct sms_board sms_boards[] = { [SMS1XXX_BOARD_SIANO_STELLAR] = { .name = "Siano Stellar Digital Receiver", .type = SMS_STELLAR, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-stellar-dvbt-01.fw", }, [SMS1XXX_BOARD_SIANO_NOVA_A] = { .name = "Siano Nova A Digital Receiver", .type = SMS_NOVA_A0, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-a-dvbt-01.fw", }, [SMS1XXX_BOARD_SIANO_NOVA_B] = { .name = "Siano Nova B Digital Receiver", .type = SMS_NOVA_B0, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-b-dvbt-01.fw", }, [SMS1XXX_BOARD_SIANO_VEGA] = { .name = "Siano Vega Digital Receiver", -- cgit v1.2.2 From 44f71c3fcefbfea3628cca52c0a177252cf83b60 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Sat, 28 Jun 2008 23:55:36 -0300 Subject: V4L/DVB (8313): sms1xxx: add support for Hauppauge WinTV-Nova-T-MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb/siano/sms-cards.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'drivers/media/dvb/siano/sms-cards.c') diff --git a/drivers/media/dvb/siano/sms-cards.c b/drivers/media/dvb/siano/sms-cards.c index c75c27c18b12..e7a8ac0c4049 100644 --- a/drivers/media/dvb/siano/sms-cards.c +++ b/drivers/media/dvb/siano/sms-cards.c @@ -32,6 +32,18 @@ struct usb_device_id smsusb_id_table[] = { { USB_DEVICE(0x187f, 0x0300), .driver_info = SMS1XXX_BOARD_SIANO_VEGA }, #endif + { USB_DEVICE(0x2040, 0x1700), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT }, + { USB_DEVICE(0x2040, 0x1800), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A }, + { USB_DEVICE(0x2040, 0x1801), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B }, + { USB_DEVICE(0x2040, 0x5500), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0x5580), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, + { USB_DEVICE(0x2040, 0x5590), + .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, smsusb_id_table); @@ -59,6 +71,26 @@ static struct sms_board sms_boards[] = { .name = "Siano Vega Digital Receiver", .type = SMS_VEGA, }, + [SMS1XXX_BOARD_HAUPPAUGE_CATAMOUNT] = { + .name = "Hauppauge Catamount", + .type = SMS_STELLAR, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-stellar-dvbt-01.fw", + }, + [SMS1XXX_BOARD_HAUPPAUGE_OKEMO_A] = { + .name = "Hauppauge Okemo-A", + .type = SMS_NOVA_A0, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-a-dvbt-01.fw", + }, + [SMS1XXX_BOARD_HAUPPAUGE_OKEMO_B] = { + .name = "Hauppauge Okemo-B", + .type = SMS_NOVA_B0, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-nova-b-dvbt-01.fw", + }, + [SMS1XXX_BOARD_HAUPPAUGE_WINDHAM] = { + .name = "Hauppauge WinTV-Nova-T-MiniStick", + .type = SMS_NOVA_B0, + .fw[DEVICE_MODE_DVBT_BDA] = "sms1xxx-hcw-55xxx-dvbt-01.fw", + }, }; struct sms_board *sms_get_board(int id) -- cgit v1.2.2