From: Clemens Ladisch <clemens@ladisch.de>
To: Takashi Iwai <tiwai@suse.de>
Cc: Yong Zhang <yong.zhang0@gmail.com>,
alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC] [PATCH 02/62] mpu401:snd_mpu401_uart_new(): split semantic of irq_flags
Date: Tue, 13 Sep 2011 10:17:24 +0200 [thread overview]
Message-ID: <4E6F1194.80106@ladisch.de> (raw)
In-Reply-To: <s5hvcswvrty.wl%tiwai@suse.de>
Takashi Iwai wrote:
> Clemens Ladisch wrote:
> > ALSA: mpu401: clean up interrupt specification
> >
> > The semantics of snd_mpu401_uart_new()'s interrupt parameters are
> > somewhat counterintuitive: To prevent the function from allocating its
> > own interrupt, either the irq number must be invalid, or the irq_flags
> > parameter must be zero. At the same time, the irq parameter being
> > invalid specifies that the mpu401 code has to work without an interrupt
> > allocated by the caller. This implies that, if there is an interrupt
> > and it is allocated by the caller, the irq parameter must be set to
> > a valid-looking number which then isn't actually used.
> >
> > With the removal of IRQF_DISABLED, zero becomes a valid irq_flags value,
> > which forces us to handle the parameters differently.
> >
> > This patch introduces a new flag MPU401_INFO_IRQ_HOOK for when the
> > device interrupt is handled by the caller, and makes the allocation of
> > the interrupt to depend only on the irq parameter.
> >
> > Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
>
> This patch looks better indeed.
>
> However, if we are going to remove IRQF_DISABLED in near future, and
> all the callers use IRQF_DISABLED when requesting an irq, why not
> remove this argument now? Then the IRQF_DISABLED-removal patch will
> touch less code.
I wanted to change only the minimum amount of code needed to make the
IRQF_DISABLED-removal patch possible, and wait with further cleanups of
snd_mpu401_uart_new() until after that patch to avoid conflicts.
However, moving the IRQF_DISABLED into snd_mpu401_uart_new() avoids
those conflicts, so it's clearly better.
Regards,
Clemens
next prev parent reply other threads:[~2011-09-13 8:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1315383059-3673-1-git-send-email-yong.zhang0@gmail.com>
2011-09-07 8:10 ` [PATCH 60/62] sound: irq: Remove IRQF_DISABLED Yong Zhang
2011-09-07 8:36 ` Péter Ujfalusi
2011-09-07 17:12 ` Mark Brown
[not found] ` <1315383059-3673-3-git-send-email-yong.zhang0@gmail.com>
2011-09-08 10:53 ` [RFC] [PATCH 02/62] mpu401:snd_mpu401_uart_new(): split semantic of irq_flags Clemens Ladisch
2011-09-08 13:37 ` Yong Zhang
2011-09-08 13:58 ` Clemens Ladisch
2011-09-08 14:45 ` Yong Zhang
2011-09-08 20:27 ` Clemens Ladisch
2011-09-09 1:31 ` Yong Zhang
2011-09-11 15:10 ` Clemens Ladisch
2011-09-12 10:47 ` Takashi Iwai
2011-09-12 13:16 ` Clemens Ladisch
2011-09-12 20:23 ` Clemens Ladisch
2011-09-13 7:12 ` Takashi Iwai
2011-09-13 8:17 ` Clemens Ladisch [this message]
2011-09-13 9:24 ` Clemens Ladisch
2011-09-14 8:49 ` Yong Zhang
2011-09-14 9:06 ` Takashi Iwai
2011-09-14 9:15 ` Yong Zhang
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=4E6F1194.80106@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tiwai@suse.de \
--cc=yong.zhang0@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