linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Piotr Chmura <chmooreck@poczta.onet.pl>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Devin Heitmueller <dheitmueller@kernellabs.com>,
	Stefan Richter <stefanr@s5r6.in-berlin.de>,
	Greg KH <gregkh@suse.de>, Patrick Dickey <pdickeybeta@gmail.com>,
	LMML <linux-media@vger.kernel.org>,
	devel@driverdev.osuosl.org
Subject: [RESEND PATCH 10/14] staging/media/as102: properly handle multiple product names
Date: Tue, 18 Oct 2011 22:02:30 +0200	[thread overview]
Message-ID: <20111018220230.13c8436e@darkstar> (raw)
In-Reply-To: <20111018111251.d7978be8.chmooreck@poczta.onet.pl>

Patch taken from http://kernellabs.com/hg/~dheitmueller/v4l-dvb-as102-2/

Original source and comment:# HG changeset patch
# User Devin Heitmueller <dheitmueller@kernellabs.com>
# Date 1267319051 18000
# Node ID 22ef1bdca69a2781abf397c53a0f7f6125f5359a
# Parent  4a82558f6df8b957bc623d854a118a5da32dead2
as102: properly handle multiple product names

From: Devin Heitmueller <dheitmueller@kernellabs.com>

Properly handle the case where the driver can be associated with multiple
different products (as opposed to always saying the device is named after the
value in a #define

Priority: normal

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Piotr Chmura <chmooreck@poczta.onet.pl>

diff --git linux/drivers/staging/media/as102/as102_drv.c linuxb/drivers/staging/media/as102/as102_drv.c
--- linux/drivers/staging/media/as102/as102_drv.c
+++ linuxb/drivers/staging/media/as102/as102_drv.c
@@ -209,7 +209,7 @@
 
 #if defined(CONFIG_DVB_CORE) || defined(CONFIG_DVB_CORE_MODULE)
 	ret = dvb_register_adapter(&as102_dev->dvb_adap,
-				   DEVICE_FULL_NAME,
+				   as102_dev->name,
 				   THIS_MODULE,
 #if defined(CONFIG_AS102_USB)
 				   &as102_dev->bus_adap.usb_dev->dev
diff --git linux/drivers/staging/media/as102/as102_drv.h linuxb/drivers/staging/media/as102/as102_drv.h
--- linux/drivers/staging/media/as102/as102_drv.h
+++ linuxb/drivers/staging/media/as102/as102_drv.h
@@ -106,6 +106,7 @@
 };
 
 struct as102_dev_t {
+	const char *name;
 	struct as102_bus_adapter_t bus_adap;
 	struct list_head device_entry;
 	struct kref kref;
diff --git linux/drivers/staging/media/as102/as102_fe.c linuxb/drivers/staging/media/as102/as102_fe.c
--- linux/drivers/staging/media/as102/as102_fe.c
+++ linuxb/drivers/staging/media/as102/as102_fe.c
@@ -346,7 +346,7 @@
 
 static struct dvb_frontend_ops as102_fe_ops = {
 	.info = {
-		.name			= DEVICE_FULL_NAME,
+		.name			= "Unknown AS102 device",
 		.type			= FE_OFDM,
 		.frequency_min		= 174000000,
 		.frequency_max		= 862000000,
@@ -408,6 +408,8 @@
 
 	/* init frontend callback ops */
 	memcpy(&dvb_fe->ops, &as102_fe_ops, sizeof(struct dvb_frontend_ops));
+	strncpy(dvb_fe->ops.info.name, as102_dev->name,
+		sizeof(dvb_fe->ops.info.name));
 
 	/* register dbvb frontend */
 	errno = dvb_register_frontend(dvb_adap, dvb_fe);
diff --git linux/drivers/staging/media/as102/as102_usb_drv.c linuxb/drivers/staging/media/as102/as102_usb_drv.c
--- linux/drivers/staging/media/as102/as102_usb_drv.c
+++ linuxb/drivers/staging/media/as102/as102_usb_drv.c
@@ -44,6 +44,15 @@
 	{ } /* Terminating entry */
 };
 
+/* Note that this table must always have the same number of entries as the
+   as102_usb_id_table struct */
+static const char *as102_device_names[] = {
+	AS102_REFERENCE_DESIGN,
+	AS102_PCTV_74E,
+	AS102_ELGATO_EYETV_DTT_NAME,
+	NULL /* Terminating entry */
+};
+
 struct usb_driver as102_usb_driver = {
 	.name       =  DRIVER_FULL_NAME,
 	.probe      =  as102_usb_probe,
@@ -344,6 +353,7 @@
 {
 	int ret;
 	struct as102_dev_t *as102_dev;
+	int i;
 
 	ENTER();
 
@@ -353,6 +363,23 @@
 		return -ENOMEM;
 	}
 
+	/* This should never actually happen */
+	if ((sizeof(as102_usb_id_table) / sizeof(struct usb_device_id)) !=
+	    (sizeof(as102_device_names) / sizeof(const char *))) {
+		printk(KERN_ERR "Device names table invalid size");
+		return -EINVAL;
+	}
+
+	/* Assign the user-friendly device name */
+	for (i = 0; i < (sizeof(as102_usb_id_table) /
+			 sizeof(struct usb_device_id)); i++) {
+		if (id == &as102_usb_id_table[i])
+			as102_dev->name = as102_device_names[i];
+	}
+
+	if (as102_dev->name == NULL)
+		as102_dev->name = "Unknown AS102 device";
+
 	/* set private callback functions */
 	as102_dev->bus_adap.ops = &as102_priv_ops;
 
diff --git linux/drivers/staging/media/as102/as102_usb_drv.h linuxb/drivers/staging/media/as102/as102_usb_drv.h
--- linux/drivers/staging/media/as102/as102_usb_drv.h
+++ linuxb/drivers/staging/media/as102/as102_usb_drv.h
@@ -28,16 +28,17 @@
 /* define these values to match the supported devices */
 
 /* Abilis system: "TITAN" */
+#define AS102_REFERENCE_DESIGN		"Abilis Systems DVB-Titan"
 #define AS102_USB_DEVICE_VENDOR_ID	0x1BA6
 #define AS102_USB_DEVICE_PID_0001	0x0001
 
 /* PCTV Systems: PCTV picoStick (74e) */
-#define DEVICE_FULL_NAME		"PCTV Systems : PCTV picoStick (74e)"
+#define AS102_PCTV_74E			"PCTV Systems picoStick (74e)"
 #define PCTV_74E_USB_VID		0x2013
 #define PCTV_74E_USB_PID		0x0246
 
 /* Elgato: EyeTV DTT Deluxe */
-#define ELGATO_EYETV_DTT_NAME		"Elgato EyeTV DTT Deluxe"
+#define AS102_ELGATO_EYETV_DTT_NAME	"Elgato EyeTV DTT Deluxe"
 #define ELGATO_EYETV_DTT_USB_VID	0x0fd9
 #define ELGATO_EYETV_DTT_USB_PID	0x002c
 

  reply	other threads:[~2011-10-18 20:02 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-25 12:33 Problems cloning the git repostories Patrick Dickey
2011-09-25 13:55 ` Devin Heitmueller
2011-09-26  3:25   ` Mauro Carvalho Chehab
2011-09-27  2:20     ` Devin Heitmueller
2011-09-27  7:44       ` Staging submission: PCTV 80e and PCTV 74e drivers (was Re: Problems cloning the git repostories) Stefan Richter
2011-09-27 17:43         ` Greg KH
2011-09-27 19:33           ` Stefan Richter
2011-10-15 20:54             ` [PATCH 0/7] Staging submission: PCTV 74e drivers and some cleanup (was: Staging submission: PCTV 80e and PCTV 74e drivers) Piotr Chmura
2011-10-17 22:31               ` Greg KH
2011-10-19 12:36                 ` Staging questions: WAS Re: [PATCH 0/7] Staging submission: PCTV 74e drivers and some cleanup Patrick Dickey
2011-10-19 13:57                   ` Devin Heitmueller
2011-10-20  3:44                     ` Mauro Carvalho Chehab
2011-10-20 10:53                       ` Patrick Dickey
2011-10-20 11:22                         ` Mauro Carvalho Chehab
     [not found]             ` <4E9992F9.7000101@poczta.onet.pl>
2011-10-15 20:54               ` [PATCH 2/7] staging/as102: add new device nBox DVB-T Dongle Piotr Chmura
2011-10-15 20:54               ` [PATCH 3/7] staging/as102: cleanup - get rid of typedefs Piotr Chmura
2011-10-15 20:54               ` [PATCH 4/7] staging/as102: cleanup - formatting code Piotr Chmura
2011-10-16 12:23                 ` Julian Andres Klode
2011-10-16 12:40                   ` Devin Heitmueller
2011-10-16 21:53                     ` Dan Carpenter
2011-10-15 20:54               ` [PATCH 5/7] staging as102: cleanup - get rid of pragma(pack) Piotr Chmura
     [not found]             ` <4E999733.2010802@poczta.onet.pl>
2011-10-15 20:54               ` [PATCH 1/7] Staging submission: PCTV 74e driver (as102) Piotr Chmura
2011-10-16  8:57                 ` Stefan Richter
2011-10-16 11:45                   ` Devin Heitmueller
2011-10-16 13:44                     ` Mauro Carvalho Chehab
2011-10-18  9:10                       ` [PATCH 0/14] staging/media/as102: new driver submission (was " Piotr Chmura
2011-10-18 15:52                         ` Devin Heitmueller
2011-10-18 17:20                           ` Piotr Chmura
2011-10-19 11:41                             ` Javier Martinez Canillas
2011-10-19 11:44                               ` Mauro Carvalho Chehab
2011-10-19 13:07                                 ` Piotr Chmura
     [not found]                       ` <20111018094647.d4982eb2.chmooreck@poczta.onet.pl>
2011-10-18  9:11                         ` [PATCH 1/14] staging/media/as102: initial import from Abilis Piotr Chmura
2011-10-18 16:24                           ` Dan Carpenter
2011-10-18 16:38                             ` Mauro Carvalho Chehab
2011-10-18 22:33                               ` Dan Carpenter
2011-10-18 19:46                           ` [RESEND PATCH " Piotr Chmura
2011-10-30 21:03                             ` Piotr Chmura
2011-10-30 21:25                               ` Stefan Richter
2011-10-31 10:24                               ` Sylwester Nawrocki
2011-10-18  9:11                         ` [PATCH 2/14] staging/media/as102: checkpatch fixes Piotr Chmura
2011-10-18 19:48                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:11                         ` [PATCH 3/14] " Piotr Chmura
2011-10-18 19:50                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:11                         ` [PATCH 4/14] " Piotr Chmura
2011-10-18 19:51                           ` [RESEND PATCH " Piotr Chmura
2011-10-29 10:22                             ` Sylwester Nawrocki
2011-10-29 13:17                               ` Piotr Chmura
2011-10-29 16:14                                 ` Sylwester Nawrocki
2011-10-29 17:48                                   ` Piotr Chmura
2011-10-29 21:37                                     ` Sylwester Nawrocki
2011-10-30  7:11                                       ` [PATCH v3 " Piotr Chmura
2011-10-30 11:17                                         ` Stefan Richter
2011-10-31 10:48                                           ` Stefan Richter
2011-10-31 11:47                                             ` Mauro Carvalho Chehab
2011-10-29 16:25                                 ` [RESEND PATCH " Piotr Chmura
2011-10-29 16:39                                   ` Sylwester Nawrocki
2011-10-29 17:00                                     ` Dan Carpenter
2011-10-18  9:11                         ` [PATCH 5/14] " Piotr Chmura
2011-10-18 19:54                           ` [RESEND PATCH " Piotr Chmura
2011-10-30 13:53                             ` [PATCH v3 " Piotr Chmura
2011-10-18  9:12                         ` [PATCH 6/14] " Piotr Chmura
2011-10-18 19:56                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:12                         ` [PATCH 7/14] " Piotr Chmura
2011-10-18 19:57                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:12                         ` [PATCH 8/14] " Piotr Chmura
2011-10-18 19:58                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:12                         ` [PATCH 9/14] staging/media/as102: Add Elgato EyeTV DTT Deluxe Piotr Chmura
2011-10-18 19:59                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:12                         ` [PATCH 10/14] staging/media/as102: properly handle multiple product names Piotr Chmura
2011-10-18 20:02                           ` Piotr Chmura [this message]
2011-10-18 20:28                             ` [RESEND PATCH " Joe Perches
2011-10-18 20:54                               ` Piotr Chmura
2011-10-18 20:56                                 ` Greg KH
2011-10-18 20:58                                 ` Joe Perches
2011-10-18  9:13                         ` [PATCH 11/14] staging/media/as102: fix compile warning about unused function Piotr Chmura
2011-10-18 20:03                           ` [RESEND PATCH " Piotr Chmura
2011-10-30 20:04                             ` Sylwester Nawrocki
2011-10-30 21:15                               ` Stefan Richter
2011-10-18  9:13                         ` [PATCH 12/14] staging/media/as102: fix licensing oversight Piotr Chmura
2011-10-18 20:05                           ` [RESEND PATCH " Piotr Chmura
2011-10-18  9:13                         ` [PATCH 13/14] staging/media/as102: fix compile Piotr Chmura
2011-10-18  9:13                         ` [PATCH 14/14] staging/media/as102: add nBox Tuner Dongle support Piotr Chmura
2011-10-15 20:55               ` [PATCH 6/7] staging/as102: cleanup - get rid of editor comments Piotr Chmura
2011-10-15 20:55               ` [PATCH 7/7] staging/as102: cleanup - get rid unnecessary LINUX and WIN32 defines Piotr Chmura
2011-10-30 21:09   ` Problems cloning the git repostories Marek Vasut
2011-09-25 14:53 ` Anca Emanuel
2011-09-25 18:03 ` Johannes Stezenbach
2011-09-26  2:56   ` Mauro Carvalho Chehab
2011-09-26 10:15     ` Scott Jiang
2011-09-26 19:24       ` Johannes Stezenbach
2011-09-26 11:27     ` Patrick Dickey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111018220230.13c8436e@darkstar \
    --to=chmooreck@poczta.onet.pl \
    --cc=devel@driverdev.osuosl.org \
    --cc=dheitmueller@kernellabs.com \
    --cc=gregkh@suse.de \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    --cc=pdickeybeta@gmail.com \
    --cc=stefanr@s5r6.in-berlin.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).