From: courtney.cavin@sonymobile.com (Courtney Cavin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/8] mfd: pm8921: Migrate to irqdomains
Date: Wed, 11 Dec 2013 13:30:04 -0800 [thread overview]
Message-ID: <20131211213003.GC15223@sonymobile.com> (raw)
In-Reply-To: <1386718523-2587-8-git-send-email-sboyd@codeaurora.org>
On Wed, Dec 11, 2013 at 12:35:22AM +0100, Stephen Boyd wrote:
> Convert this driver to use irqdomains so that the PMIC's child
> devices can be converted to devicetree.
>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---
> drivers/mfd/pm8921-core.c | 186 ++++++++++++++------------------------
> include/linux/mfd/pm8xxx/irq.h | 59 ------------
> include/linux/mfd/pm8xxx/pm8921.h | 30 ------
> 3 files changed, 66 insertions(+), 209 deletions(-)
> delete mode 100644 include/linux/mfd/pm8xxx/irq.h
> delete mode 100644 include/linux/mfd/pm8xxx/pm8921.h
>
[...]
> @@ -282,17 +278,14 @@ static struct irq_chip pm8xxx_irq_chip = {
> * RETURNS:
> * an int indicating the value read on that line
> */
> -int pm8xxx_get_irq_stat(struct pm_irq_chip *chip, int irq)
> +static int pm8xxx_get_irq_stat(struct pm_irq_chip *chip, int irq)
> {
> int pmirq, rc;
> u8 block, bits, bit;
> unsigned long flags;
> + struct irq_data *irq_data = irq_get_irq_data(irq);
>
> - if (chip == NULL || irq < chip->irq_base ||
> - irq >= chip->irq_base + chip->num_irqs)
> - return -EINVAL;
> -
> - pmirq = irq - chip->irq_base;
> + pmirq = irq_data->hwirq;
>
> block = pmirq / 8;
> bit = pmirq % 8;
> @@ -322,64 +315,55 @@ bail_out:
> }
> EXPORT_SYMBOL_GPL(pm8xxx_get_irq_stat);
Surely this isn't needed anymore, since the function is now static.
[...]
> +static int pm8xxx_irq_init(struct platform_device *pdev, unsigned int irq,
> + unsigned int nirqs)
'nirqs' seems to always be 256. Is there a benefit to keeping this
dynamic?
> +{
> + struct pm_irq_chip *chip;
> +
> + chip = devm_kzalloc(&pdev->dev, sizeof(*chip) + sizeof(u8) * nirqs,
> + GFP_KERNEL);
> + if (!chip)
> + return -ENOMEM;
>
> - chip->dev = dev;
> - chip->devirq = devirq;
> - chip->irq_base = pdata->irq_base;
> - chip->num_irqs = pdata->irq_cdata.nirqs;
> + chip->dev = &pdev->dev;
> + chip->num_irqs = nirqs;
> chip->num_blocks = DIV_ROUND_UP(chip->num_irqs, 8);
> chip->num_masters = DIV_ROUND_UP(chip->num_blocks, 8);
> spin_lock_init(&chip->pm_irq_lock);
>
> - for (pmirq = 0; pmirq < chip->num_irqs; pmirq++) {
-Courtney
next prev parent reply other threads:[~2013-12-11 21:30 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-10 23:35 [PATCH 0/8] Modernize pm8921 with irqdomains + regmap Stephen Boyd
2013-12-10 23:35 ` [PATCH 1/8] mfd: ssbi: Remove platform data structs and hide ssbi type enum Stephen Boyd
2013-12-11 9:27 ` Lee Jones
2013-12-10 23:35 ` [PATCH 2/8] mfd: ssbi: Constify buffer in ssbi_write Stephen Boyd
2013-12-11 9:28 ` Lee Jones
2013-12-10 23:35 ` [PATCH 3/8] regmap: Add support for using regmap over ssbi Stephen Boyd
2013-12-10 23:50 ` Mark Brown
2013-12-11 0:13 ` Stephen Boyd
2013-12-11 0:51 ` Mark Brown
2013-12-11 1:32 ` Stephen Boyd
2013-12-11 13:27 ` Mark Brown
2013-12-12 23:13 ` Stephen Boyd
2013-12-13 10:41 ` Mark Brown
2013-12-13 17:14 ` [PATCH] regmap: Allow regmap_bulk_read() to work for "no-bus" regmaps Stephen Boyd
2013-12-16 20:57 ` Mark Brown
2013-12-13 21:37 ` [PATCH 3/8] regmap: Add support for using regmap over ssbi Stephen Boyd
2013-12-16 21:01 ` Mark Brown
2013-12-17 2:30 ` [PATCH] regmap: Allow regmap_bulk_write() to work for "no-bus" regmaps Stephen Boyd
2013-12-18 18:45 ` Mark Brown
2013-12-23 20:05 ` Stephen Boyd
2013-12-24 12:53 ` Mark Brown
2013-12-26 19:34 ` Stephen Boyd
2013-12-26 21:52 ` [PATCH v2] " Stephen Boyd
2013-12-30 12:42 ` Mark Brown
2013-12-10 23:35 ` [PATCH 4/8] mfd: ssbi: Mark match table const Stephen Boyd
2013-12-11 9:29 ` Lee Jones
2013-12-10 23:35 ` [PATCH 5/8] mfd: Move pm8xxx-irq.c contents into only driver that uses it Stephen Boyd
2013-12-11 9:35 ` Lee Jones
2013-12-12 19:06 ` Stephen Boyd
2013-12-10 23:35 ` [PATCH 6/8] mfd: pm8921: Update for genirq changes Stephen Boyd
2013-12-11 9:48 ` Lee Jones
2013-12-10 23:35 ` [PATCH 7/8] mfd: pm8921: Migrate to irqdomains Stephen Boyd
2013-12-11 9:53 ` Lee Jones
2013-12-11 21:30 ` Courtney Cavin [this message]
2013-12-12 19:05 ` Stephen Boyd
2013-12-10 23:35 ` [PATCH 8/8] mfd: pm8921: Use ssbi regmap Stephen Boyd
2013-12-11 9:55 ` Lee Jones
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=20131211213003.GC15223@sonymobile.com \
--to=courtney.cavin@sonymobile.com \
--cc=linux-arm-kernel@lists.infradead.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).