mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Icenowy Zheng <icenowy@aosc.io>,
	linux-arm-kernel@lists.infradead.org,
	Chen-Yu Tsai <wens@csie.org>
Cc: devicetree <devicetree@vger.kernel.org>,
	Jason Cooper <jason@lakedaemon.net>,
	Mark Brown <broonie@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>,
	Rob Herring <robh+dt@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Lee Jones <lee.jones@linaro.org>,
	Maxime Ripard <maxime.ripard@free-electrons.com>
Subject: Re: [linux-sunxi] Re: [PATCH v6 2/9] irqchip/sunxi-nmi: add support for the NMI in A64 R_INTC
Date: Mon, 5 Jun 2017 09:05:24 +0100	[thread overview]
Message-ID: <9aa75234-c391-c61d-d1b6-1d377459b0fe@arm.com> (raw)
In-Reply-To: <0A01E9A3-7CFA-415B-B862-2D94990BA169@aosc.io>

On 05/06/17 08:56, Icenowy Zheng wrote:
> 
> 
> 于 2017年6月5日 GMT+08:00 下午3:53:50, Marc Zyngier <marc.zyngier@arm.com> 写到:
>> On 05/06/17 06:57, Chen-Yu Tsai wrote:
>>> Hi Marc,
>>>
>>> On Mon, May 22, 2017 at 10:25 PM, Chen-Yu Tsai <wens@csie.org> wrote:
>>>> On Mon, May 22, 2017 at 5:41 PM, Icenowy Zheng <icenowy@aosc.io>
>> wrote:
>>>>>
>>>>>
>>>>> 于 2017年5月22日 GMT+08:00 下午5:39:22, Marc Zyngier
>> <marc.zyngier@arm.com> 写到:
>>>>>> On 18/05/17 08:16, Icenowy Zheng wrote:
>>>>>>> Add support for the newly imported compatible for the A64 R_INTC
>> in
>>>>>>> irq-sunxi-nmi driver.
>>>>>>>
>>>>>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>>>>>>> ---
>>>>>>> Changes in v5:
>>>>>>> - Fix A64 R_INTC compatible.
>>>>>>>
>>>>>>>  drivers/irqchip/irq-sunxi-nmi.c | 13 +++++++++++++
>>>>>>>  1 file changed, 13 insertions(+)
>>>>>>>
>>>>>>> diff --git a/drivers/irqchip/irq-sunxi-nmi.c
>>>>>> b/drivers/irqchip/irq-sunxi-nmi.c
>>>>>>> index 668730c5cb66..5559c1d593bf 100644
>>>>>>> --- a/drivers/irqchip/irq-sunxi-nmi.c
>>>>>>> +++ b/drivers/irqchip/irq-sunxi-nmi.c
>>>>>>> @@ -56,6 +56,12 @@ static struct sunxi_sc_nmi_reg_offs
>> sun9i_reg_offs
>>>>>> = {
>>>>>>>      .enable = 0x04,
>>>>>>>  };
>>>>>>>
>>>>>>> +static struct sunxi_sc_nmi_reg_offs sun50i_reg_offs = {
>>>>>>> +    .ctrl   = 0x0c,
>>>>>>> +    .pend   = 0x10,
>>>>>>> +    .enable = 0x40,
>>>>>>> +};
>>>>>>> +
>>>>>>
>>>>>> Magic values? Even if no #define is provided, a pointer to the
>>>>>> corresponding documentation would be appreciated (assuming
>>>>>> documentation
>>>>>> exists).
>>>>>
>>>>> No documents is available for A64 R_INTC.
>>>>
>>>> No code either. In Allwinner's BSP, the interrupts for the PMICs go
>>>> through the (closed source) OpenRISC firmware, so there's no driver
>>>> for it in the kernel.
>>>>
>>>> The registers line up with the old interrupt controller from the
>> A10,
>>>> but it seems only the NMI interrupt is wired up.
>>>
>>> Is this OK? Or do you want Icenowy to respin a version with defines?
>>
>> Ideally, I'd like to see some #defines, but given that the rest of the
>> file is already littered with hard-coded constants, you might as well
>> do
>> the whole thing in a subsequent patch that I would merge with these two
>> patches.
> 
> Personally I think the values are self-explained (the variable
> name) and used only once in this structure.
> 
> Making defines doesn't make the code more clear.

That's where you're severely misguided. There is plenty of places in the
kernel where constants are used exactly once, and yet they have a
#define. And the reason for this is consistency. We don't deal with raw
values, we deal with named constants.

For you, this code is probably "write-only". Once it works, you'll never
go back to it. On the other hand, I get to maintain it and apply tree
wide changes as necessary. So if the code looks better *to me*, then
that's the way.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2017-06-05  8:05 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-18  7:16 [PATCH v6 0/9] AXP803 PMIC support for Pine64 Icenowy Zheng
2017-05-18  7:16 ` [PATCH v6 1/9] irqchip/sunxi-nmi: add A64 R_INTC to the binding doc Icenowy Zheng
2017-05-18  7:40   ` [linux-sunxi] " Chen-Yu Tsai
2017-05-18  7:52   ` Maxime Ripard
2017-05-18  7:16 ` [PATCH v6 2/9] irqchip/sunxi-nmi: add support for the NMI in A64 R_INTC Icenowy Zheng
2017-05-18  7:52   ` Maxime Ripard
2017-05-19  2:27     ` Chen-Yu Tsai
2017-05-22  9:39   ` Marc Zyngier
2017-05-22  9:41     ` Icenowy Zheng
2017-05-22 14:25       ` [linux-sunxi] " Chen-Yu Tsai
2017-06-05  5:57         ` Chen-Yu Tsai
2017-06-05  7:53           ` Marc Zyngier
2017-06-05  7:56             ` Icenowy Zheng
2017-06-05  8:05               ` Marc Zyngier [this message]
2017-05-18  7:16 ` [PATCH v6 3/9] arm64: allwinner: a64: add NMI (R_INTC) controller on A64 Icenowy Zheng
2017-05-19  2:28   ` [linux-sunxi] " Chen-Yu Tsai
2017-05-18  7:16 ` [PATCH v6 4/9] arm64: allwinner: a64: add AXP803 node to Pine64 device tree Icenowy Zheng
2017-05-19  2:28   ` [linux-sunxi] " Chen-Yu Tsai
2017-07-18  3:02     ` Chen-Yu Tsai
2017-05-18  7:16 ` [PATCH v6 5/9] regulator: axp20x-regulator: add support for AXP803 Icenowy Zheng
2017-05-18  7:16 ` [PATCH v6 6/9] mfd: axp20x: add axp20x-regulator cell " Icenowy Zheng
2017-05-22 12:17   ` Lee Jones
2017-05-18  7:16 ` [PATCH v6 7/9] arm64: allwinner: a64: add DTSI file for AXP803 PMIC Icenowy Zheng
2017-05-19  2:29   ` [linux-sunxi] " Chen-Yu Tsai
2017-07-18  3:02     ` Chen-Yu Tsai
2017-05-18  7:16 ` [PATCH v6 8/9] arm64: allwinner: a64: enable AXP803 regulators for Pine64 Icenowy Zheng
2017-05-19  2:54   ` [linux-sunxi] " Chen-Yu Tsai
2017-05-19  3:00     ` Icenowy Zheng
2017-05-19  3:10       ` Chen-Yu Tsai
2017-05-19  3:12         ` Icenowy Zheng
2017-05-19  8:27   ` Andre Przywara
2017-05-19  8:29     ` Icenowy Zheng
2017-05-19  8:55       ` Andre Przywara
2017-07-18  2:58         ` Chen-Yu Tsai
2017-07-18  3:07           ` Icenowy Zheng
2017-05-19  8:56       ` Maxime Ripard
2017-05-18  7:16 ` [PATCH v6 9/9] arm64: allwinner: a64: enable Wi-Fi " Icenowy Zheng
2017-05-19  3:01   ` [linux-sunxi] " Chen-Yu Tsai
2017-05-19  3:03     ` Icenowy Zheng
2017-05-19  7:19       ` Maxime Ripard
2017-05-19  7:22         ` icenowy
2017-05-23 14:44           ` Maxime Ripard

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=9aa75234-c391-c61d-d1b6-1d377459b0fe@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=icenowy@aosc.io \
    --cc=jason@lakedaemon.net \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wens@csie.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

all inboxes | Powered by JetHome®