All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.