linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Timur Tabi <timur@tabi.org>, Markus Pargmann <mpa@pengutronix.de>,
	Jiada Wang <jiada_wang@mentor.com>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de, broonie@kernel.org,
	lgirdwood@gmail.com, linux-kernel@vger.kernel.org,
	nicoleotsuka@gmail.com, Li.Xiubo@freescale.com,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [alsa-devel] [PATCH] ASoC: fsl_ssi: free irq before irq_dispose_mapping()
Date: Mon, 01 Dec 2014 20:39:51 +0100	[thread overview]
Message-ID: <547CC407.30308@metafoo.de> (raw)
In-Reply-To: <547CB817.10806@tabi.org>

On 12/01/2014 07:48 PM, Timur Tabi wrote:
> On 12/01/2014 10:49 AM, Lars-Peter Clausen wrote:
>> The driver creates the mapping by calling irq_of_parse_and_map(), so it
>> also has to dispose the mapping.
>
> I agree with Markus, this does seem weird.  It sounds like you're saying
> that irq_of_parse_and_map() and devm_request_irq() are incompatible.

They probably are. You have to create the mapping before you request the IRQ 
and if devm_request_irq() is used the IRQ is only freed again after the 
remove function of the driver been called. Yet if a driver creates a mapping 
in its probe function it should also dispose it in its remove function. So 
you are stuck with either freeing the mapping before freeing the IRQ or 
leaking the mapping.

My opinion on this is that devices should not create mappings and should 
leave that to the core. This quite easily solves the dilemma.

> A quick grep shows the following drivers that call both functions:
>

Most of these drivers will probably work fine without irq_of_parse_and_map().

> ata/pata_mpc52xx.c
> built-in.o
> cpufreq/exynos5440-cpufreq.c
> crypto/omap-sham.c
> dma/moxart-dma.c
> edac/mpc85xx_edac.c
> hsi/clients/nokia-modem.c
> i2c/busses/i2c-wmt.c
> input/serio/apbps2.c
> mmc/host/omap_hsmmc.c
> mmc/host/moxart-mmc.c
> mtd/nand/mpc5121_nfc.c
> net/ethernet/arc/emac_main.c
> net/ethernet/moxa/moxart_ether.c
> pci/host/pcie-rcar.c
> pinctrl/samsung/pinctrl-exynos5440.c
> pinctrl/samsung/pinctrl-exynos.c
> pinctrl/pinctrl-bcm2835.c
> spi/spi-bcm2835.c
> spi/spi-mpc512x-psc.c
> staging/xillybus/xillybus_of.c
> thermal/samsung/exynos_tmu.c
>

  reply	other threads:[~2014-12-01 19:39 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-01  2:50 [PATCH] ASoC: fsl_ssi: free irq before irq_dispose_mapping() Jiada Wang
2014-12-01  6:50 ` Markus Pargmann
2014-12-01 16:49   ` [alsa-devel] " Lars-Peter Clausen
2014-12-01 16:51     ` Timur Tabi
2014-12-01 16:59       ` Lars-Peter Clausen
2014-12-01 18:48     ` Timur Tabi
2014-12-01 19:39       ` Lars-Peter Clausen [this message]
2014-12-01 19:41         ` Mark Brown
2014-12-01 19:56           ` Arnd Bergmann
2014-12-01 19:59             ` Timur Tabi
2014-12-01 20:01               ` Arnd Bergmann
2014-12-01 20:11                 ` Timur Tabi
2014-12-01 20:30                   ` Lars-Peter Clausen
2014-12-01 20:40                     ` Fabio Estevam
2014-12-01 20:42                       ` Timur Tabi
2014-12-01 21:03                         ` Fabio Estevam
2014-12-01 20:16                 ` Mark Brown
2014-12-01 19:24     ` 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=547CC407.30308@metafoo.de \
    --to=lars@metafoo.de \
    --cc=Li.Xiubo@freescale.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=jiada_wang@mentor.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpa@pengutronix.de \
    --cc=nicoleotsuka@gmail.com \
    --cc=timur@tabi.org \
    --cc=tiwai@suse.de \
    /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).