From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Samuel Ortiz <sameo@linux.intel.com>,
linux-kernel@vger.kernel.org, Stephen Warren <swarren@nvidia.com>
Subject: Re: [PATCH] mfd: arizona: convert to regmap_add_irq_chips
Date: Mon, 30 Jul 2012 19:03:52 +0100 [thread overview]
Message-ID: <20120730180352.GR4468@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <5016BEC4.5000600@wwwdotorg.org>
On Mon, Jul 30, 2012 at 11:05:08AM -0600, Stephen Warren wrote:
> On 07/29/2012 02:38 PM, Mark Brown wrote:
> > On Fri, Jul 27, 2012 at 01:02:56PM -0600, Stephen Warren wrote:
> >> 1) regmap_add_irq_chips() calls regmap_add_irq_chip() with irq==0 rather
> >> than -1, so in turn irq_domain_add_linear() is called rather than
> >> irq_domain_add_legacy(). This change could be avoided by providing an
> >> irq_bases array to regmap_add_irq_chips().
> > This is a problem.
> OK, can you explain why? Is the problem the difference between the two
> types of IRQ domain? I would have assumed this was an internal detail of
> the driver hence not an issue. I assume there's no issue with
> known/static IRQ numbers, since both 0 and -1 end up dynamically
> allocating the IRQ bases IIRC.
We have GPIOs we might want to do interrupts on, if the API doesn't
support providing a base we've got an issue.
> >> 2) regmap_add_irq_chips() requests the top-level interrupt itself, so this
> >> happens before the Arizona driver hooks the child BOOT_DONE and
> >> CTRLIF_ERR interrupts. In the original, all the IRQ chips were created
> >> first, and then the top-level IRQ was requested. This may cause a
> >> functional difference if those interrupts are pending at probe() time.
> > Boot done is very likely to be asserted.
> Hmmm. Perhaps that means regmap_add_irq_chips() should be split into two
> parts; one to create all the IRQ chips and hook everything together, and
> the second to actually enable the interrupt.
That's what the existing arizona code does, it only requests the primary
IRQ line once it's completed setup.
next prev parent reply other threads:[~2012-07-30 18:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-27 19:02 [PATCH] mfd: arizona: convert to regmap_add_irq_chips Stephen Warren
2012-07-29 20:38 ` Mark Brown
2012-07-30 17:05 ` Stephen Warren
2012-07-30 18:03 ` Mark Brown [this message]
2012-07-31 17:20 ` Stephen Warren
2012-07-31 17:22 ` Mark Brown
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=20120730180352.GR4468@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sameo@linux.intel.com \
--cc=swarren@nvidia.com \
--cc=swarren@wwwdotorg.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).