linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

  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).