linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 07/13] ARM: s3c64xx: convert to MULTI_IRQ_HANDLER
Date: Wed, 09 Nov 2011 08:50:33 -0600	[thread overview]
Message-ID: <4EBA9339.5010407@gmail.com> (raw)
In-Reply-To: <20111109115406.GB4253@totoro>

On 11/09/2011 05:54 AM, Jamie Iles wrote:
> On Wed, Nov 09, 2011 at 04:55:06PM +0530, Thomas Abraham wrote:
>> Hi Jamie,
>>
>> On 4 November 2011 06:40, Jamie Iles <jamie@jamieiles.com> wrote:
>>> Now that there is a generic IRQ handler for multiple VIC devices use it
>>> for s3c64xx to help building multi platform kernels.
>>>
>>> Cc: Ben Dooks <ben-linux@fluff.org>
>>> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
>>> ---
>>>  arch/arm/Kconfig                                 |    1 +
>>>  arch/arm/mach-s3c64xx/include/mach/entry-macro.S |    7 ++++---
>>>  arch/arm/mach-s3c64xx/mach-anw6410.c             |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-crag6410.c            |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-hmt.c                 |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-mini6410.c            |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-ncp.c                 |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-real6410.c            |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-smartq5.c             |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-smartq7.c             |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-smdk6400.c            |    2 ++
>>>  arch/arm/mach-s3c64xx/mach-smdk6410.c            |    2 ++
>>>  12 files changed, 25 insertions(+), 3 deletions(-)
>>>
>>
>> I have tested this patch series on smdk6410 board (s3c64xx) using the
>> following repositorty and branch
>>
>> https://github.com/jamieiles/linux-2.6-ji.git  branch: vic-dt
>>
>> There is a crash while booting. Am I using the right tree and branch?
>> The following is the boot log. Is there any other config option to be
>> enabled?
> 
> Hmm, could you please try with the patch below applied?
> 
> Rob, I'm not sure if this is the best fix.  The alternatives I can think 
> of would be to always export irq_domain_simple_ops even if 
> !CONFIG_OF_IRQ but not set .dt_translate or provide a generic 
> irq_domain_null_ops.
> 
> Jamie

There is a simple fix:

@@ -74,7 +76,7 @@ struct irq_domain {
 static inline unsigned int irq_domain_to_irq(struct irq_domain *d,
                                             unsigned long hwirq)
 {
-       if (d->ops->to_irq)
+       if (d->ops && d->ops->to_irq)
                return d->ops->to_irq(d, hwirq);
        if (WARN_ON(hwirq < d->hwirq_base))
                return 0;

I'll prepare a patch and send to tglx.

Rob

> 
> 8<----
> 
> diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c
> index 8c5f4b0..9a5fb9e 100644
> --- a/arch/arm/common/vic.c
> +++ b/arch/arm/common/vic.c
> @@ -163,6 +163,10 @@ static int __init vic_pm_init(void)
>  late_initcall(vic_pm_init);
>  #endif /* CONFIG_PM */
>  
> +#ifndef CONFIG_OF_IRQ
> +static const struct irq_domain_ops vic_domain_null_ops;
> +#endif /* !CONFIG_OF_IRQ */
> +
>  /**
>   * vic_register() - Register a VIC.
>   * @base: The base address of the VIC.
> @@ -197,6 +201,8 @@ static void __init vic_register(void __iomem *base, unsigned int irq,
>  #ifdef CONFIG_OF_IRQ
>  	v->domain.of_node = of_node_get(node);
>  	v->domain.ops = &irq_domain_simple_ops;
> +#else /* CONFIG_OF_IRQ */
> +	v->domain.ops = &vic_domain_null_ops;
>  #endif /* CONFIG_OF */
>  	irq_domain_add(&v->domain);
>  }

  parent reply	other threads:[~2011-11-09 14:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-04  1:09 [PATCHv4 00/13] VIC DT binding and MULTI_IRQ_HANDLER Jamie Iles
2011-11-04  1:09 ` [PATCHv4 01/13] ARM: Make global handler and CONFIG_MULTI_IRQ_HANDLER mutually exclusive Jamie Iles
2011-11-04  1:09 ` [PATCHv4 02/13] ARM: vic: device tree binding Jamie Iles
2011-11-10 14:46   ` Jamie Iles
2011-11-10 15:20     ` Marc Zyngier
2011-11-10 16:28       ` Jamie Iles
2011-11-04  1:10 ` [PATCHv4 03/13] ARM: vic: MULTI_IRQ_HANDLER handler Jamie Iles
2011-11-04  1:10 ` [PATCHv4 04/13] ARM: ep93xx: convert to MULTI_IRQ_HANDLER Jamie Iles
2011-11-04  1:10 ` [PATCHv4 05/13] ARM: netx: " Jamie Iles
2011-11-04  1:10 ` [PATCHv4 06/13] ARM: nomadik: " Jamie Iles
2011-11-04  1:10 ` [PATCHv4 07/13] ARM: s3c64xx: " Jamie Iles
2011-11-09 11:25   ` Thomas Abraham
2011-11-09 11:34     ` Thomas Abraham
2011-11-09 11:54     ` Jamie Iles
2011-11-09 12:30       ` Thomas Abraham
2011-11-10 14:53         ` Jamie Iles
2011-11-10 16:19           ` Thomas Abraham
2011-11-09 14:50       ` Rob Herring [this message]
2011-11-09 14:55         ` Jamie Iles
2011-11-04  1:10 ` [PATCHv4 08/13] ARM: spear: " Jamie Iles
2011-11-09 10:15   ` Viresh Kumar
2011-11-04  1:10 ` [PATCHv4 09/13] ARM: u300: " Jamie Iles
2011-11-04  1:10 ` [PATCHv4 10/13] ARM: versatile: " Jamie Iles
2011-11-09 10:25   ` Marc Zyngier
2011-11-04  1:10 ` [PATCHv4 11/13] ARM: samsung: " Jamie Iles
2011-11-04  1:10 ` [PATCHv4 12/13] ARM: picoxcell: " Jamie Iles
2011-11-04  1:10 ` [PATCHv4 13/13] ARM: VIC: remove non MULTI_IRQ_HANDLER support Jamie Iles
2011-11-09 10:01 ` [PATCHv4 00/13] VIC DT binding and MULTI_IRQ_HANDLER Jamie Iles

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=4EBA9339.5010407@gmail.com \
    --to=robherring2@gmail.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).