All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Ondrej Zary <linux@rainbow-software.org>
Cc: alsa-devel@alsa-project.org,
	Kernel development list <linux-kernel@vger.kernel.org>,
	Andreas Mohr <andi@lisas.de>
Subject: Re: [alsa-devel] [PATCH v3] ES938 support for ES18xx driver
Date: Mon, 06 Oct 2014 16:13:12 +0200	[thread overview]
Message-ID: <s5ha959xp53.wl-tiwai@suse.de> (raw)
In-Reply-To: <201410061555.19007.linux@rainbow-software.org>

At Mon, 6 Oct 2014 15:55:18 +0200,
Ondrej Zary wrote:
> 
> On Monday 06 October 2014, Takashi Iwai wrote:
> > At Mon, 29 Sep 2014 23:44:39 +0200,
> >
> > Ondrej Zary wrote:
> > > Add support for ES938 3-D Audio Effects Processor found on some ES18xx
> > > (and possibly other) sound cards, doing bass/treble and 3D control.
> >
> > As this is seen only on es18xx, we don't need to make it as an
> > individual module.  Just merge into snd-es18xx module.
> 
> ES938 does not depend on ES18xx and can be connected to any device with MIDI 
> interface. Maybe there are some other cards with this chip.

Please prove it :)

> > > ES938 is controlled by MIDI SysEx commands sent through card's MPU401
> > > port.
> > >
> > > The code opens/closes the MIDI device everytime a mixer control value is
> > > changed so userspace apps can still use the MIDI port. Changing the mixer
> > > controls will fail when the MIDI port is open by an application.
> >
> > Why the kernel open/close is needed for snd_es938_init(), too?
> > Also, adding controls after snd_card_register() call isn't good in
> > most cases.
> 
> chip->rfile must be a valid snd_rawmidi_file handle for snd_es938_write_reg() 
> and snd_es938_write_reg() to work.
> 
> IIRC, there is a chicken-and-egg problem with adding controls and sound card's 
> MIDI interface initialization:
> we need a working MIDI interface to detect ES938 presence - that's after 
> snd_card_register() is called
> 
> vs.
> 
> we need to add conttrols before snd_card_register() is called

Well, then the interface is somehow abused.  The
snd_rawmidi_kernel_read/write() are mostly only for sequencer core 
stuff, and they aren't supposed to be used by the individual driver.

That said, I'm not willing to merge the patch in the current form.
One of the reason is that this can be implemented pretty easily in
user-space.  Another is that it's a deadly old device, and likely only
handful boards are still running in the world, thus no much motivation
to bloat the kernel code for that.  We're even discussing to get rid
of ISA codes from the kernel tree nowadays.

Sorry, the patch was submitted 10 years too late.


Takashi

  reply	other threads:[~2014-10-06 14:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-29 21:44 [PATCH v3] ES938 support for ES18xx driver Ondrej Zary
2014-09-29 21:44 ` Ondrej Zary
2014-09-29 21:58 ` Andreas Mohr
2014-10-06  9:39 ` [alsa-devel] " Takashi Iwai
2014-10-06 13:55   ` Ondrej Zary
2014-10-06 14:13     ` Takashi Iwai [this message]
2014-10-06 18:41       ` Workable vintage driver support mechanism? (Re: [alsa-devel] [PATCH v3] ES938 support for ES18xx driver) Andreas Mohr
2014-10-06 19:41         ` [alsa-devel] Workable vintage driver support mechanism? (Re: " Clemens Ladisch
2014-10-07 10:44           ` One Thousand Gnomes
2014-10-07  5:32         ` Takashi Iwai
2014-10-07  5:32           ` Workable vintage driver support mechanism? (Re: [alsa-devel] " Takashi Iwai
2014-10-12 21:19           ` Workable vintage driver support mechanism? (Re: " Ondrej Zary
2014-10-12 21:19             ` Workable vintage driver support mechanism? (Re: [alsa-devel] " Ondrej Zary
2014-10-13  5:54             ` Takashi Iwai

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=s5ha959xp53.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=andi@lisas.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rainbow-software.org \
    /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.