All of lore.kernel.org
 help / color / mirror / Atom feed
From: Caesar Wang <caesar.upstream@gmail.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>,
	Caesar Wang <caesar.upstream@gmail.com>,
	Heiko Stuebner <heiko@sntech.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>
Cc: linux-rockchip@lists.infradead.org,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/3] clocksource: rockchip: Make the driver more readability and compatible
Date: Thu, 17 Sep 2015 18:19:28 +0800	[thread overview]
Message-ID: <55FA93B0.40504@gmail.com> (raw)
In-Reply-To: <55FA9099.7000903@linaro.org>



在 2015年09月17日 18:06, Daniel Lezcano 写道:
> On 09/17/2015 11:28 AM, Caesar Wang wrote:
>> Hi Daniel,
>>
>>
>> 在 2015年09月17日 17:11, Daniel Lezcano 写道:
>>>
>>> Hi Caesar,
>>>
>>>
>>> On 09/17/2015 09:51 AM, Caesar Wang wrote:
>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform,
>>>> There are some failure with build up on timer driver for rockchip.
>>>>
>>>> logs:
>>>> ...
>>>> drivers/clocksource/rockchip_timer.c:156:13: error: 'NO_IRQ' 
>>>> undeclared
>>>
>>> I think the NO_IRQ definition is missing for ARM64.
>>
>> Yep, Maybe better to compatible if we don't use the 'NO_IRQ',
>
> Hmm, after digging into drivers/of/irq.c and kernel/irq/irqdomain.c
>
> when there is an error it returns zero. So NO_IRQ and -1 are not 
> correct and on the other side zero can be a valid irq. That sounds a 
> little bit fuzzy to me.

I believe the 'NO_IRQ' is better select if 'NO_IRQ' is defined on ARM64 
platform.

     irq = irq_of_parse_and_map(np, 0);

     if (irq  == NO_IRQ)
...
Also, that's ok if we instead of the 'irq < 0'  or  '!irq' , right?






>
>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at  operand 
>>>> 1 --
>>>> `dsb`
>>>> ...
>>>>
>>>> The problem was different semantics of dsb on btw arm32 and arm64,
>>>> Here we can convert the dsb with insteading of dsb(sy).
>>>
>>> What happens to ARM32 then ?
>>>
>>
>> The dsb() is ok for ARM32, the ARM32/64 are OK if we can convert the
>> dsb() to dsb(sy).
>> I believe all drivers with 'dsb()' have same issue on ARM64 platform.
>>
>>>> Meanwhile, I change a bit to make the code more readability for driver
>>>> when I check the code style.
>>>>
>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>>>
>>>
>>
>>
>
>
>
> -- 
> Thanks,
> Caesar

WARNING: multiple messages have this Message-ID (diff)
From: caesar.upstream@gmail.com (Caesar Wang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] clocksource: rockchip: Make the driver more readability and compatible
Date: Thu, 17 Sep 2015 18:19:28 +0800	[thread overview]
Message-ID: <55FA93B0.40504@gmail.com> (raw)
In-Reply-To: <55FA9099.7000903@linaro.org>



? 2015?09?17? 18:06, Daniel Lezcano ??:
> On 09/17/2015 11:28 AM, Caesar Wang wrote:
>> Hi Daniel,
>>
>>
>> ? 2015?09?17? 17:11, Daniel Lezcano ??:
>>>
>>> Hi Caesar,
>>>
>>>
>>> On 09/17/2015 09:51 AM, Caesar Wang wrote:
>>>> Build the arm64 SoCs (e.g.: RK3368) on Rockchip platform,
>>>> There are some failure with build up on timer driver for rockchip.
>>>>
>>>> logs:
>>>> ...
>>>> drivers/clocksource/rockchip_timer.c:156:13: error: 'NO_IRQ' 
>>>> undeclared
>>>
>>> I think the NO_IRQ definition is missing for ARM64.
>>
>> Yep, Maybe better to compatible if we don't use the 'NO_IRQ',
>
> Hmm, after digging into drivers/of/irq.c and kernel/irq/irqdomain.c
>
> when there is an error it returns zero. So NO_IRQ and -1 are not 
> correct and on the other side zero can be a valid irq. That sounds a 
> little bit fuzzy to me.

I believe the 'NO_IRQ' is better select if 'NO_IRQ' is defined on ARM64 
platform.

     irq = irq_of_parse_and_map(np, 0);

     if (irq  == NO_IRQ)
...
Also, that's ok if we instead of the 'irq < 0'  or  '!irq' , right?






>
>>>> /tmp/ccdAnNy5.s:47: Error: missing immediate expression at  operand 
>>>> 1 --
>>>> `dsb`
>>>> ...
>>>>
>>>> The problem was different semantics of dsb on btw arm32 and arm64,
>>>> Here we can convert the dsb with insteading of dsb(sy).
>>>
>>> What happens to ARM32 then ?
>>>
>>
>> The dsb() is ok for ARM32, the ARM32/64 are OK if we can convert the
>> dsb() to dsb(sy).
>> I believe all drivers with 'dsb()' have same issue on ARM64 platform.
>>
>>>> Meanwhile, I change a bit to make the code more readability for driver
>>>> when I check the code style.
>>>>
>>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>>>
>>>
>>
>>
>
>
>
> -- 
> Thanks,
> Caesar

  parent reply	other threads:[~2015-09-17 10:19 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
2015-09-18  7:53                 ` Daniel Lezcano
2015-09-17 10:19         ` Caesar Wang [this message]
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
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=55FA93B0.40504@gmail.com \
    --to=caesar.upstream@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=heiko@sntech.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.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.