From: Takashi Iwai <tiwai@suse.de>
To: Daniel Mack <zonque@gmail.com>
Cc: alsa-devel@alsa-project.org, maillist@superlative.org,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [alsa-devel] Idea: dynamic loading of USB quirks
Date: Mon, 05 Nov 2012 12:44:50 +0100 [thread overview]
Message-ID: <s5h8vag9sul.wl%tiwai@suse.de> (raw)
In-Reply-To: <50923B65.4060304@gmail.com>
At Thu, 01 Nov 2012 10:05:41 +0100,
Daniel Mack wrote:
>
> [cc lkml as this might be of broader interest]
>
> On 01.11.2012 00:32, maillist@superlative.org wrote:
> > Dear Alsa community,
> > I've some minor contributions in the form of patches for USB quirks for
> > devices in the past. It occurred to me that having these USB quirks hardcoded
> > into the driver maybe isn't the best thing.
> >
> > Looking at the current quirks file, the majority of them are relatively trivial
> > and are really just there to give the USB driver a nudge in the right
> > direction.
> >
> > Having to have these hardcoded into the driver creates a number of issues:
> >
> > 1. It needs someone with the expertise and will, and access the specific device
> > for testing, to build the quirk. To hardened ALSA hackers this seems trivial,
> > but to an average end user who has a device they want to get supported, this
> > can be pretty inpenatrable. The complexity of just getting the alsa source
> > installed and set up for compilation is enough to put off the vast majority of
> > users.
> >
> > 2. It makes the process of getting the driver "to market" lengthy as these
> > changes have to go through all of the normal release schedules, and these are
> > pretty opaque.
> >
> > 3. It makes getting changing a driver (because of a bug, or a new release of
> > hardware) difficult as the revisions need to go through the whole process of
> > creating a patch, getting it accepted, and then the long kernel release
> > process, as well as the various distribution release processes.
> >
> > It occured to me that there might be a better way where quirks like this could
> > be dynamically loaded into the driver after it has loaded. This would a
> > structured text file describing the quirk to be created and pushed into the
> > driver. Ultimately this could be wrapped into a framework where quirk files
> > could be put into a common directory (similar to modprobe.d) with a startup
> > script which pushed these into the driver.
>
> The idea is interesting, but we would need to find a way to not only
> cover the entries in quirks-list.h but the other hard-coded details as well.
>
> I fear that if quirk fixups are done on both the kernel level and loaded
> from userspace, it actually makes debugging and maintainance harder.
>
> Then again, if a versatile and clean solution to this problem is found,
> there would be tons of other drivers in Linux to benefit from it, just
> think about the hda driver to begin with. But not only in the ALSA area.
HD-audio driver has already a sort of "firmware" support. It can read
text data to patch the pre-existing BIOS setup, add extra
initialization verbs or give hints for drivers to change the specific
behavior.
For USB-audio, a simple TLV representation would be feasible for an
extra quirk entry.
Takashi
prev parent reply other threads:[~2012-11-05 11:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2390628.MpxcLPPhM0@kamdesktop>
2012-11-01 9:05 ` [alsa-devel] Idea: dynamic loading of USB quirks Daniel Mack
2012-11-01 21:20 ` maillist
2012-11-05 11:44 ` Takashi Iwai [this message]
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=s5h8vag9sul.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maillist@superlative.org \
--cc=zonque@gmail.com \
/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