All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamie Lentin <jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
To: LABBE Corentin <clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Vivien Didelot
	<vivien.didelot-4ysUXcep3aM1wj+D4I0NRVaTQe2KTcn/@public.gmane.org>,
	Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	Sebastian Hesselbarth
	<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Gregory Clement
	<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Imre Kaloz <kaloz-p3rKhJxN3npAfugRpC6u6w@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 2/8] arm: orion5x: Add clk support for mv88f5181
Date: Fri, 26 Aug 2016 13:24:18 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.11.1608261256170.19980@marmot.wormnet.eu> (raw)
In-Reply-To: <20160826113437.GA12692@Red>

On Fri, 26 Aug 2016, LABBE Corentin wrote:

> Hello
>
> I have some minor comments below
>
> [...]
>> +
>> +static u32 __init mv88f5181_get_tclk_freq(void __iomem *sar)
>> +{
>> +	u32 opt = (readl(sar) >> SAR_MV88F5181_TCLK_FREQ) &
>> +		SAR_MV88F5181_TCLK_FREQ_MASK;
>
> Checkpatch complain about a missing blank line after declaration.
> And spliting the read and the & operation will prevent this line breaking

It isn't here, although I'm not arguing the line is missing. Is there an 
extra switch I'm missing?

>> +	if (opt == 0)
>> +		return 133333333;
>> +	else if (opt == 1)
>> +		return 150000000;
>> +	else if (opt == 2)
>> +		return 166666667;
>> +	else
>> +		return 0;
>> +}
>
> Why not using a switch here ?

If you look at this in context[0], this is one of several code-as-config 
declarations, none of which use a switch. IMO it's more useful to make the 
similarity as obvious as possible if this is ever refactored.

Obviously the rest of the file could also be refactored with switch 
statements, but instead of doing that it seems more tempting to move the 
config into the DT binding, e.g.

   cpu-freq-addr = <4>;
   cpu-freq-mask = <0xf>;
   cpu-freqs = <0 333333333 400000000 400000000 500000000>;
   clk-ratios = <0 1 1 2 1 2 1 3 1 3>;

...this is completely off the top of my head mind, so could easily be 
missing something obvious / some prior art.

[0] http://lxr.free-electrons.com/source/drivers/clk/mvebu/orion.c

>> +
>> +#define SAR_MV88F5181_CPU_FREQ       4
>> +#define SAR_MV88F5181_CPU_FREQ_MASK  0xf
>> +
>> +static u32 __init mv88f5181_get_cpu_freq(void __iomem *sar)
>> +{
>> +	u32 opt = (readl(sar) >> SAR_MV88F5181_CPU_FREQ) &
>> +		SAR_MV88F5181_CPU_FREQ_MASK;
>> +	if (opt == 0)
>> +		return 333333333;
>> +	else if (opt == 1 || opt == 2)
>> +		return 400000000;
>> +	else if (opt == 3)
>> +		return 500000000;
>> +	else
>> +		return 0;
>> +}
>
> Same comments
>
>> +
>> +static void __init mv88f5181_get_clk_ratio(void __iomem *sar, int id,
>> +					   int *mult, int *div)
>> +{
>> +	u32 opt = (readl(sar) >> SAR_MV88F5181_CPU_FREQ) &
>> +		SAR_MV88F5181_CPU_FREQ_MASK;
>> +	if (opt == 0 || opt == 1) {
>> +		*mult = 1;
>> +		*div  = 2;
>> +	} else if (opt == 2 || opt == 3) {
>> +		*mult = 1;
>> +		*div  = 3;
>> +	} else {
>> +		*mult = 0;
>> +		*div  = 1;
>> +	}
>> +}
>
> Same comments
>
> Regards
>
>

-- 
Jamie Lentin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: jm@lentin.co.uk (Jamie Lentin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/8] arm: orion5x: Add clk support for mv88f5181
Date: Fri, 26 Aug 2016 13:24:18 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.11.1608261256170.19980@marmot.wormnet.eu> (raw)
In-Reply-To: <20160826113437.GA12692@Red>

On Fri, 26 Aug 2016, LABBE Corentin wrote:

> Hello
>
> I have some minor comments below
>
> [...]
>> +
>> +static u32 __init mv88f5181_get_tclk_freq(void __iomem *sar)
>> +{
>> +	u32 opt = (readl(sar) >> SAR_MV88F5181_TCLK_FREQ) &
>> +		SAR_MV88F5181_TCLK_FREQ_MASK;
>
> Checkpatch complain about a missing blank line after declaration.
> And spliting the read and the & operation will prevent this line breaking

It isn't here, although I'm not arguing the line is missing. Is there an 
extra switch I'm missing?

>> +	if (opt == 0)
>> +		return 133333333;
>> +	else if (opt == 1)
>> +		return 150000000;
>> +	else if (opt == 2)
>> +		return 166666667;
>> +	else
>> +		return 0;
>> +}
>
> Why not using a switch here ?

If you look at this in context[0], this is one of several code-as-config 
declarations, none of which use a switch. IMO it's more useful to make the 
similarity as obvious as possible if this is ever refactored.

Obviously the rest of the file could also be refactored with switch 
statements, but instead of doing that it seems more tempting to move the 
config into the DT binding, e.g.

   cpu-freq-addr = <4>;
   cpu-freq-mask = <0xf>;
   cpu-freqs = <0 333333333 400000000 400000000 500000000>;
   clk-ratios = <0 1 1 2 1 2 1 3 1 3>;

...this is completely off the top of my head mind, so could easily be 
missing something obvious / some prior art.

[0] http://lxr.free-electrons.com/source/drivers/clk/mvebu/orion.c

>> +
>> +#define SAR_MV88F5181_CPU_FREQ       4
>> +#define SAR_MV88F5181_CPU_FREQ_MASK  0xf
>> +
>> +static u32 __init mv88f5181_get_cpu_freq(void __iomem *sar)
>> +{
>> +	u32 opt = (readl(sar) >> SAR_MV88F5181_CPU_FREQ) &
>> +		SAR_MV88F5181_CPU_FREQ_MASK;
>> +	if (opt == 0)
>> +		return 333333333;
>> +	else if (opt == 1 || opt == 2)
>> +		return 400000000;
>> +	else if (opt == 3)
>> +		return 500000000;
>> +	else
>> +		return 0;
>> +}
>
> Same comments
>
>> +
>> +static void __init mv88f5181_get_clk_ratio(void __iomem *sar, int id,
>> +					   int *mult, int *div)
>> +{
>> +	u32 opt = (readl(sar) >> SAR_MV88F5181_CPU_FREQ) &
>> +		SAR_MV88F5181_CPU_FREQ_MASK;
>> +	if (opt == 0 || opt == 1) {
>> +		*mult = 1;
>> +		*div  = 2;
>> +	} else if (opt == 2 || opt == 3) {
>> +		*mult = 1;
>> +		*div  = 3;
>> +	} else {
>> +		*mult = 0;
>> +		*div  = 1;
>> +	}
>> +}
>
> Same comments
>
> Regards
>
>

-- 
Jamie Lentin

  reply	other threads:[~2016-08-26 12:24 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-16 14:28 [PATCH v0 00/10] Convert Netgear WNR854T to devicetree Jamie Lentin
2016-07-16 14:28 ` Jamie Lentin
2016-07-16 14:28 ` Jamie Lentin
2016-07-16 14:28 ` [PATCH v0 01/10] arm: orion5x: Add required properties for orion-wdt to DT node Jamie Lentin
2016-07-16 14:28   ` Jamie Lentin
2016-07-16 14:28   ` Jamie Lentin
2016-07-16 16:03   ` Andrew Lunn
2016-07-16 16:03     ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 02/10] arm: orion5x: Add documentation for SoC and board bindings Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:05   ` Andrew Lunn
2016-07-16 16:05     ` Andrew Lunn
2016-07-16 16:05     ` Andrew Lunn
2016-07-17 20:35   ` Rob Herring
2016-07-17 20:35     ` Rob Herring
2016-07-17 20:35     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 03/10] arm: orion5x: Add clk support for mv88f5181 Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:10   ` Andrew Lunn
2016-07-16 16:10     ` Andrew Lunn
2016-07-16 16:10     ` Andrew Lunn
2016-07-16 17:34   ` Sergei Shtylyov
2016-07-16 17:34     ` Sergei Shtylyov
2016-07-16 17:34     ` Sergei Shtylyov
2016-07-17 20:36   ` Rob Herring
2016-07-17 20:36     ` Rob Herring
2016-07-17 20:36     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 04/10] arm: orion5x: Generalise mv88f5181l pinctrl support for 88f5181 Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:15   ` Andrew Lunn
2016-07-16 16:15     ` Andrew Lunn
2016-07-17 20:40   ` Rob Herring
2016-07-17 20:40     ` Rob Herring
2016-07-17 20:40     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 05/10] arm: orion5x: Add DT include for mv88f5181 Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:17   ` Andrew Lunn
2016-07-16 16:17     ` Andrew Lunn
2016-07-16 16:17     ` Andrew Lunn
2016-07-17 20:41   ` Rob Herring
2016-07-17 20:41     ` Rob Herring
2016-07-16 14:29 ` [PATCH v0 06/10] arm: orion5x: Add DT-based support for Netgear WNR854T Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:34   ` Andrew Lunn
2016-07-16 16:34     ` Andrew Lunn
2016-07-16 16:34     ` Andrew Lunn
2016-07-16 16:39   ` Andrew Lunn
2016-07-16 16:39     ` Andrew Lunn
2016-07-16 19:10   ` Arnd Bergmann
2016-07-16 19:10     ` Arnd Bergmann
2016-07-17  9:39     ` Jamie Lentin
2016-07-17  9:39       ` Jamie Lentin
2016-07-17  9:39       ` Jamie Lentin
2016-07-17 20:41       ` Arnd Bergmann
2016-07-17 20:41         ` Arnd Bergmann
2016-07-18  9:44         ` Thomas Petazzoni
2016-07-18  9:44           ` Thomas Petazzoni
2016-07-18 10:06           ` Arnd Bergmann
2016-07-18 10:06             ` Arnd Bergmann
2016-07-18 10:06             ` Arnd Bergmann
2016-07-19  9:40             ` Jamie Lentin
2016-07-19  9:40               ` Jamie Lentin
2016-07-19  9:46               ` Arnd Bergmann
2016-07-19  9:46                 ` Arnd Bergmann
2016-07-17 20:51   ` Rob Herring
2016-07-17 20:51     ` Rob Herring
2016-07-19  9:46     ` Jamie Lentin
2016-07-19  9:46       ` Jamie Lentin
2016-07-19  9:46       ` Jamie Lentin
2016-07-16 14:29 ` [PATCH v0 07/10] arm: orion5x: Remove old non-DT-based WNR854T support Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:36   ` Andrew Lunn
2016-07-16 16:36     ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 08/10] net: phy: Try looking for a phy-handle property to find the OF node Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:44   ` Andrew Lunn
2016-07-16 16:44     ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 09/10] net: phy: Re-attempt custom DT configuration after configuration Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 16:44   ` Andrew Lunn
2016-07-16 16:44     ` Andrew Lunn
2016-07-16 16:44     ` Andrew Lunn
2016-07-16 14:29 ` [PATCH v0 10/10] arm: orion5x: Configure Netgear WNR854T network port LEDs Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 14:29   ` Jamie Lentin
2016-07-16 20:53 ` [PATCH v0 00/10] Convert Netgear WNR854T to devicetree Andrew Lunn
2016-07-16 20:53   ` Andrew Lunn
2016-07-17 12:52   ` Jamie Lentin
2016-07-17 12:52     ` Jamie Lentin
2016-07-17 15:33     ` Andrew Lunn
2016-07-17 15:33       ` Andrew Lunn
2016-07-19  9:33       ` Jamie Lentin
2016-07-19  9:33         ` Jamie Lentin
2016-07-19 14:01         ` Andrew Lunn
2016-07-19 14:01           ` Andrew Lunn
2016-07-19 14:16         ` Andrew Lunn
2016-07-19 15:04           ` Vivien Didelot
     [not found] ` <1468679348-10522-1-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26  9:20   ` [PATCH 0/8] " Jamie Lentin
2016-08-26  9:20     ` Jamie Lentin
     [not found]     ` <1472203264-21089-1-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26  9:20       ` [PATCH 1/8] arm: orion5x: Add documentation for SoC and board bindings Jamie Lentin
2016-08-26  9:20         ` Jamie Lentin
2016-08-26  9:20       ` [PATCH 2/8] arm: orion5x: Add clk support for mv88f5181 Jamie Lentin
2016-08-26  9:20         ` Jamie Lentin
     [not found]         ` <1472203264-21089-3-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 11:34           ` LABBE Corentin
2016-08-26 11:34             ` LABBE Corentin
2016-08-26 12:24             ` Jamie Lentin [this message]
2016-08-26 12:24               ` Jamie Lentin
2016-08-26 14:24               ` Andrew Lunn
2016-08-26 14:24                 ` Andrew Lunn
2016-08-26  9:20       ` [PATCH 3/8] arm: orion5x: Generalise mv88f5181l pinctrl support for 88f5181 Jamie Lentin
2016-08-26  9:20         ` Jamie Lentin
2016-08-26  9:21       ` [PATCH 4/8] arm: orion5x: Alias uart0 to serial0 for all orion5x Jamie Lentin
2016-08-26  9:21         ` Jamie Lentin
     [not found]         ` <1472203264-21089-5-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 14:54           ` Andrew Lunn
2016-08-26 14:54             ` Andrew Lunn
2016-09-12 21:12           ` Arnd Bergmann
2016-09-12 21:12             ` Arnd Bergmann
2016-08-26  9:21       ` [PATCH 5/8] arm: orion5x: Add DT include for mv88f5181 Jamie Lentin
2016-08-26  9:21         ` Jamie Lentin
     [not found]         ` <1472203264-21089-6-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 14:55           ` Andrew Lunn
2016-08-26 14:55             ` Andrew Lunn
2016-08-31 15:15           ` Rob Herring
2016-08-31 15:15             ` Rob Herring
2016-08-26  9:21       ` [PATCH 6/8] arm: orion5x: Add DT-based support for Netgear WNR854T Jamie Lentin
2016-08-26  9:21         ` Jamie Lentin
     [not found]         ` <1472203264-21089-7-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-31 15:26           ` Rob Herring
2016-08-31 15:26             ` Rob Herring
2016-09-05 21:07           ` [PATCH 6/8 v2] " Jamie Lentin
2016-09-05 21:07             ` Jamie Lentin
     [not found]             ` <1473109646-23366-1-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-09-08 12:41               ` Gregory CLEMENT
2016-09-08 12:41                 ` Gregory CLEMENT
     [not found]                 ` <87d1kebm2o.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-09-08 16:47                   ` Jamie Lentin
2016-09-08 16:47                     ` Jamie Lentin
2016-09-12 17:06             ` Rob Herring
2016-09-12 17:06               ` Rob Herring
2016-09-12 21:13               ` Arnd Bergmann
2016-09-12 21:13                 ` Arnd Bergmann
2016-09-12 21:19                 ` Arnd Bergmann
2016-09-12 21:19                   ` Arnd Bergmann
2016-09-12 22:03                 ` Andrew Lunn
2016-09-12 22:03                   ` Andrew Lunn
     [not found]                   ` <20160912220344.GM11400-g2DYL2Zd6BY@public.gmane.org>
2016-09-13  9:10                     ` Jamie Lentin
2016-09-13  9:10                       ` Jamie Lentin
     [not found]                       ` <88e40f0c6cafec244dc16af5a03cfb44-SBYVURHw+sBNwP/n92qj9LVCufUGDwFn@public.gmane.org>
2016-09-13 12:36                         ` Andrew Lunn
2016-09-13 12:36                           ` Andrew Lunn
     [not found]                           ` <20160913123639.GB15332-g2DYL2Zd6BY@public.gmane.org>
2016-09-13 14:15                             ` Jamie Lentin
2016-09-13 14:15                               ` Jamie Lentin
     [not found]                               ` <b7d442f9d26249976d7698b6a32db2a3-SBYVURHw+sBNwP/n92qj9LVCufUGDwFn@public.gmane.org>
2016-09-13 19:16                                 ` Gregory CLEMENT
2016-09-13 19:16                                   ` Gregory CLEMENT
     [not found]                                   ` <87r38nehkj.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-09-13 20:39                                     ` Arnd Bergmann
2016-09-13 20:39                                       ` Arnd Bergmann
2016-08-26  9:21       ` [PATCH 7/8] arm: orion5x: Remove old non-DT-based WNR854T support Jamie Lentin
2016-08-26  9:21         ` Jamie Lentin
     [not found]         ` <1472203264-21089-8-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 14:59           ` Andrew Lunn
2016-08-26 14:59             ` Andrew Lunn
2016-08-26  9:21       ` [PATCH 8/8] arm: orion5x: Configure WNR854T ethernet PHY LEDs Jamie Lentin
2016-08-26  9:21         ` Jamie Lentin
     [not found]         ` <1472203264-21089-9-git-send-email-jm-Pj/HzkgeCk7QXOPxS62xeg@public.gmane.org>
2016-08-26 15:05           ` Andrew Lunn
2016-08-26 15:05             ` Andrew Lunn
2016-08-26 15:05           ` Andrew Lunn
2016-08-26 15:05             ` Andrew Lunn
2016-08-26 12:09     ` [PATCH 0/8] Convert Netgear WNR854T to devicetree Imre Kaloz
2016-08-26 12:09       ` Imre Kaloz
2016-08-26 12:56       ` Jamie Lentin
2016-08-26 12:56         ` Jamie Lentin
     [not found]         ` <alpine.DEB.2.11.1608261325310.19980-5X291BYdrx55rAo4AelP/Ydd74u8MsAO@public.gmane.org>
2016-08-26 14:33           ` Andrew Lunn
2016-08-26 14:33             ` Andrew Lunn
2016-08-26 16:50             ` Jamie Lentin
2016-08-26 16:50               ` Jamie Lentin
     [not found]               ` <alpine.DEB.2.11.1608261703460.19980-5X291BYdrx55rAo4AelP/Ydd74u8MsAO@public.gmane.org>
2016-08-26 20:30                 ` Imre Kaloz
2016-08-26 20:30                   ` Imre Kaloz

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=alpine.DEB.2.11.1608261256170.19980@marmot.wormnet.eu \
    --to=jm-pj/hzkgeck7qxopxs62xeg@public.gmane.org \
    --cc=andrew-g2DYL2Zd6BY@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=clabbe.montjoie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
    --cc=kaloz-p3rKhJxN3npAfugRpC6u6w@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=vivien.didelot-4ysUXcep3aM1wj+D4I0NRVaTQe2KTcn/@public.gmane.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 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.