Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756824AbbBFPEp (ORCPT ); Fri, 6 Feb 2015 10:04:45 -0500 Received: from cantor2.suse.de ([195.135.220.15]:48386 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756205AbbBFPEo (ORCPT ); Fri, 6 Feb 2015 10:04:44 -0500 Date: Fri, 06 Feb 2015 16:04:42 +0100 Message-ID: From: Takashi Iwai To: Chris Rorvick Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Stefan Hajnoczi Subject: Re: [PATCH 3/4] ALSA: line6: Pass driver name to line6_probe() In-Reply-To: <1423234272-7348-4-git-send-email-chris@rorvick.com> References: <1423234272-7348-1-git-send-email-chris@rorvick.com> <1423234272-7348-4-git-send-email-chris@rorvick.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.4 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5675 Lines: 145 At Fri, 6 Feb 2015 08:51:11 -0600, Chris Rorvick wrote: > > Provide a descriptive name for each driver instead of calling all of > them "line6usb". This needs to be done carefully. This string is referred in alsa-lib to pick up the the configuration file. So, this change shall break the compatibility. If we ever want to pick up a different alsa-lib configuration depending on each line6 driver type, then yes, we should give the individual driver name. If we want to keep rather the common configuration file (so far there is none, but if any in furture), then we should keep the common driver name. And, the decision must be done now. From now on, basically we are not allowed to break the user-space compatibility. That is, this is the very last chance to do it. If your patch is supposed to do it with these consideration, I'm willing to take. But, I guess it's not, because you chose the string like "Line 6 POD". This is usually not ideal as a driver name; think of $DRIVER.conf file that is used for alsa-lib configuration. So, from that POV, "line6usb" is no bad name string. If we want differentiate per driver, a name like "Line6-Pod" or just "Pod" would be more appropriate. Takashi > > Signed-off-by: Chris Rorvick > --- > sound/usb/line6/driver.c | 3 ++- > sound/usb/line6/driver.h | 3 +-- > sound/usb/line6/pod.c | 2 +- > sound/usb/line6/podhd.c | 2 +- > sound/usb/line6/toneport.c | 2 +- > sound/usb/line6/variax.c | 2 +- > 6 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/sound/usb/line6/driver.c b/sound/usb/line6/driver.c > index e2a2603..626b0c3 100644 > --- a/sound/usb/line6/driver.c > +++ b/sound/usb/line6/driver.c > @@ -480,6 +480,7 @@ static int line6_init_cap_control(struct usb_line6 *line6) > */ > int line6_probe(struct usb_interface *interface, > const struct usb_device_id *id, > + const char *driver_name, > const struct line6_properties *properties, > int (*private_init)(struct usb_line6 *, const struct usb_device_id *id), > size_t data_size) > @@ -511,7 +512,7 @@ int line6_probe(struct usb_interface *interface, > line6->ifcdev = &interface->dev; > > strcpy(card->id, properties->id); > - strcpy(card->driver, DRIVER_NAME); > + strcpy(card->driver, driver_name); > strcpy(card->shortname, properties->name); > sprintf(card->longname, "Line 6 %s at USB %s", properties->name, > dev_name(line6->ifcdev)); > diff --git a/sound/usb/line6/driver.h b/sound/usb/line6/driver.h > index 2276b78..92a662a 100644 > --- a/sound/usb/line6/driver.h > +++ b/sound/usb/line6/driver.h > @@ -18,8 +18,6 @@ > > #include "midi.h" > > -#define DRIVER_NAME "line6usb" > - > #define USB_INTERVALS_PER_SECOND 1000 > > /* Fallback USB interval and max packet size values */ > @@ -168,6 +166,7 @@ extern int line6_write_data(struct usb_line6 *line6, int address, void *data, > > int line6_probe(struct usb_interface *interface, > const struct usb_device_id *id, > + const char *driver_name, > const struct line6_properties *properties, > int (*private_init)(struct usb_line6 *, const struct usb_device_id *id), > size_t data_size); > diff --git a/sound/usb/line6/pod.c b/sound/usb/line6/pod.c > index 61aadd7..4c3d8cb 100644 > --- a/sound/usb/line6/pod.c > +++ b/sound/usb/line6/pod.c > @@ -574,7 +574,7 @@ static const struct line6_properties pod_properties_table[] = { > static int pod_probe(struct usb_interface *interface, > const struct usb_device_id *id) > { > - return line6_probe(interface, id, > + return line6_probe(interface, id, "Line 6 POD", > &pod_properties_table[id->driver_info], > pod_init, sizeof(struct usb_line6_pod)); > } > diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c > index 9c3c744..f0a761b 100644 > --- a/sound/usb/line6/podhd.c > +++ b/sound/usb/line6/podhd.c > @@ -169,7 +169,7 @@ static const struct line6_properties podhd_properties_table[] = { > static int podhd_probe(struct usb_interface *interface, > const struct usb_device_id *id) > { > - return line6_probe(interface, id, > + return line6_probe(interface, id, "Line 6 PODHD", > &podhd_properties_table[id->driver_info], > podhd_init, sizeof(struct usb_line6)); > } > diff --git a/sound/usb/line6/toneport.c b/sound/usb/line6/toneport.c > index b2c0b2c..53c0fbd 100644 > --- a/sound/usb/line6/toneport.c > +++ b/sound/usb/line6/toneport.c > @@ -557,7 +557,7 @@ static const struct line6_properties toneport_properties_table[] = { > static int toneport_probe(struct usb_interface *interface, > const struct usb_device_id *id) > { > - return line6_probe(interface, id, > + return line6_probe(interface, id, "Line 6 TonePort", > &toneport_properties_table[id->driver_info], > toneport_init, sizeof(struct usb_line6_toneport)); > } > diff --git a/sound/usb/line6/variax.c b/sound/usb/line6/variax.c > index b1c1de6..6f35c96 100644 > --- a/sound/usb/line6/variax.c > +++ b/sound/usb/line6/variax.c > @@ -283,7 +283,7 @@ static const struct line6_properties variax_properties_table[] = { > static int variax_probe(struct usb_interface *interface, > const struct usb_device_id *id) > { > - return line6_probe(interface, id, > + return line6_probe(interface, id, "Line 6 Variax", > &variax_properties_table[id->driver_info], > variax_init, sizeof(struct usb_line6_variax)); > } > -- > 2.1.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/