All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Caesar Wang <caesar.upstream@gmail.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	Caesar Wang <wxt@rock-chips.com>
Subject: Re: [PATCH 1/3] clocksource: rockchip: Make the driver more readability and compatible
Date: Fri, 18 Sep 2015 09:53:20 +0200	[thread overview]
Message-ID: <55FBC2F0.7010708@linaro.org> (raw)
In-Reply-To: <20150917211331.GU21084@n2100.arm.linux.org.uk>

On 09/17/2015 11:13 PM, Russell King - ARM Linux wrote:
> On Thu, Sep 17, 2015 at 12:57:53PM +0200, Daniel Lezcano wrote:
>> Hi Thomas,
>>
>> there is one thing I don't understand.
>>
>> If the IRQ0 is invalid, irq_of_parse_and_map returning zero means an error
>> and from what you said it is ok.
>>
>> But I see the NO_IRQ on ARM is (-1) and the drivers are checking with NO_IRQ
>> the return code of irq_of_parse_and_map. So if there is an error, that won't
>> be detected.

Hi Russel,


> NO_IRQ being -1 is a legacy thing for ARM - all ARM drivers are supposed
> to be converted to use <= 0 or == 0 to detect invalid IRQs, and _eventually_
> once all users are gone, NO_IRQ deleted.
>
> Moreover, there are supposed to be no _new_ users of NO_IRQ ever added to
> the kernel.
>
> Modern drivers should _all_ be using !irq to detect invalid IRQs, and not
> using NO_IRQ.

Ah, ok. Thanks for the clarification.

> The steps here are:
>
> 1. Convert all ARM platforms to start numbering IRQs from 1 rather than 0.
> 2. Convert all drivers used on ARM to detect lack of IRQ by checking for
>     <= 0.
> 3. Replace NO_IRQ assignments with zero-initialisations.
> 4. Remove NO_IRQ.
>
> The reason it hasn't happened is that it requires effort and testing,
> and rather than running around getting old platforms to boot (which
> includes remembering _how_ to get them to boot) with recent kernels,
> I prefer to spend my time doing more productive work with modern code.

I understand. I will take the opportunity track down those NO_IRQ in the 
clocksource directory.

   -- Daniel




-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] clocksource: rockchip: Make the driver more readability and compatible
Date: Fri, 18 Sep 2015 09:53:20 +0200	[thread overview]
Message-ID: <55FBC2F0.7010708@linaro.org> (raw)
In-Reply-To: <20150917211331.GU21084@n2100.arm.linux.org.uk>

On 09/17/2015 11:13 PM, Russell King - ARM Linux wrote:
> On Thu, Sep 17, 2015 at 12:57:53PM +0200, Daniel Lezcano wrote:
>> Hi Thomas,
>>
>> there is one thing I don't understand.
>>
>> If the IRQ0 is invalid, irq_of_parse_and_map returning zero means an error
>> and from what you said it is ok.
>>
>> But I see the NO_IRQ on ARM is (-1) and the drivers are checking with NO_IRQ
>> the return code of irq_of_parse_and_map. So if there is an error, that won't
>> be detected.

Hi Russel,


> NO_IRQ being -1 is a legacy thing for ARM - all ARM drivers are supposed
> to be converted to use <= 0 or == 0 to detect invalid IRQs, and _eventually_
> once all users are gone, NO_IRQ deleted.
>
> Moreover, there are supposed to be no _new_ users of NO_IRQ ever added to
> the kernel.
>
> Modern drivers should _all_ be using !irq to detect invalid IRQs, and not
> using NO_IRQ.

Ah, ok. Thanks for the clarification.

> The steps here are:
>
> 1. Convert all ARM platforms to start numbering IRQs from 1 rather than 0.
> 2. Convert all drivers used on ARM to detect lack of IRQ by checking for
>     <= 0.
> 3. Replace NO_IRQ assignments with zero-initialisations.
> 4. Remove NO_IRQ.
>
> The reason it hasn't happened is that it requires effort and testing,
> and rather than running around getting old platforms to boot (which
> includes remembering _how_ to get them to boot) with recent kernels,
> I prefer to spend my time doing more productive work with modern code.

I understand. I will take the opportunity track down those NO_IRQ in the 
clocksource directory.

   -- Daniel




-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

  reply	other threads:[~2015-09-18  7:53 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-17  7:51 [PATCH 0/3] Support the timer on RK3368 SoC Caesar Wang
2015-09-17  7:51 ` Caesar Wang
2015-09-17  7:51 ` [PATCH 1/3] clocksource: rockchip: Make the driver more readability and compatible Caesar Wang
2015-09-17  7:51   ` Caesar Wang
2015-09-17  9:11   ` Daniel Lezcano
2015-09-17  9:11     ` Daniel Lezcano
2015-09-17  9:28     ` Caesar Wang
2015-09-17  9:28       ` Caesar Wang
2015-09-17  9:43       ` Heiko Stübner
2015-09-17  9:43         ` Heiko Stübner
2015-09-17 10:06       ` Daniel Lezcano
2015-09-17 10:06         ` Daniel Lezcano
2015-09-17 10:19         ` Thomas Gleixner
2015-09-17 10:19           ` Thomas Gleixner
2015-09-17 10:57           ` Daniel Lezcano
2015-09-17 10:57             ` Daniel Lezcano
2015-09-17 21:13             ` Russell King - ARM Linux
2015-09-17 21:13               ` Russell King - ARM Linux
2015-09-18  7:53               ` Daniel Lezcano [this message]
2015-09-18  7:53                 ` Daniel Lezcano
2015-09-17 10:19         ` Caesar Wang
2015-09-17 10:19           ` Caesar Wang
2015-09-18  7:55           ` Daniel Lezcano
2015-09-18  7:55             ` Daniel Lezcano
2015-09-18  8:22             ` Caesar Wang
2015-09-18  8:22               ` Caesar Wang
2015-09-18  9:08             ` Russell King - ARM Linux
2015-09-18  9:08               ` Russell King - ARM Linux
2015-09-17  7:51 ` [PATCH 2/3] arm64: Enable the timer on Rockchip architecture Caesar Wang
2015-09-17  7:51   ` Caesar Wang
2015-09-17  7:51 ` [PATCH 3/3] arm64: dts: rockchip: Add the needed timer for rk3368 SoC Caesar Wang
2015-09-17  7:51   ` Caesar Wang
     [not found]   ` <1442476272-31723-4-git-send-email-wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2015-09-17 19:01     ` Heiko Stübner
2015-09-17 19:01       ` Heiko Stübner
2015-09-17 19:01       ` Heiko Stübner
2015-09-18  1:16       ` Caesar Wang
2015-09-18  1:16         ` Caesar Wang
2015-09-18  1:16         ` Caesar Wang

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=55FBC2F0.7010708@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=caesar.upstream@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=heiko@sntech.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux@arm.linux.org.uk \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    --cc=wxt@rock-chips.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.