All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Brugger <matthias.bgg@gmail.com>
To: James Liao <jamesjj.liao@mediatek.com>
Cc: Sascha Hauer <kernel@pengutronix.de>,
	Rob Herring <robh@kernel.org>, Kevin Hilman <khilman@kernel.org>,
	Daniel Kurtz <djkurtz@chromium.org>,
	srv_heupstream@mediatek.com, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: Re: [PATCH v7 1/4] soc: mediatek: Refine scpsys to support multiple platform
Date: Mon, 11 Jul 2016 15:10:59 +0200	[thread overview]
Message-ID: <57839AE3.2070103@gmail.com> (raw)
In-Reply-To: <1468227390.31247.20.camel@mtksdaap41>



On 11/07/16 10:56, James Liao wrote:

[...]

>>>>> @@ -467,28 +386,54 @@ static int scpsys_probe(struct platform_device *pdev)
>>>>>    			if (PTR_ERR(scpd->supply) == -ENODEV)
>>>>>    				scpd->supply = NULL;
>>>>>    			else
>>>>> -				return PTR_ERR(scpd->supply);
>>>>> +				return ERR_CAST(scpd->supply);
>>>>>    		}
>>>>>    	}
>>>>>
>>>>> -	pd_data->num_domains = NUM_DOMAINS;
>>>>> +	pd_data->num_domains = num;
>>>>>
>>>>> -	for (i = 0; i < NUM_DOMAINS; i++) {
>>>>> +	init_clks(pdev, clk);
>>>>> +
>>>>> +	for (i = 0; i < num; i++) {
>>>>>    		struct scp_domain *scpd = &scp->domains[i];
>>>>>    		struct generic_pm_domain *genpd = &scpd->genpd;
>>>>>    		const struct scp_domain_data *data = &scp_domain_data[i];
>>>>>
>>>>> +		for (j = 0; j < MAX_CLKS && data->clk_id[j]; j++) {
>>>>> +			struct clk *c = clk[data->clk_id[j]];
>>>>> +
>>>>> +			if (IS_ERR(c)) {
>>>>> +				dev_err(&pdev->dev, "%s: clk unavailable\n",
>>>>> +					data->name);
>>>>> +				return ERR_CAST(c);
>>>>> +			}
>>>>> +
>>>>> +			scpd->clk[j] = c;
>>>>
>>>> Put this in the else branch. Apart from that is there any reason you
>>>
>>> Do you mean to change like this?
>>>
>>> 	if (IS_ERR(c)) {
>>> 		...
>>> 		return ERR_CAST(c);
>>> 	} else {
>>> 		scpd->clk[j] = c;
>>> 	}
>>>
>>> checkpatch.pl will warn for above code due to it returns in 'if' branch.
>>>
>>
>> I tried that on top of next-20160706 and it checkpatch didn't throw any
>> warning. Which kernel version are based on?
>
> I don't remember which version of checkpatch warn on this pattern. This
> patch series develop across several kernel versions.

We as the kernel community develop against master or linux-next. We only 
care about older kernel version in the sense that we intent hard not to 
break any userspace/kernel or firmware/kernel interfaces. Apart from 
that it's up to every individual to backport patches from mainline 
kernel to his respective version. But that's nothing the community as a 
hole can take care of.

>
> So do you prefer to put "scpd->clk[j] = c;" into 'else' branch?
>

Yes please :)

>>>> moved the for up in the function? If not, I would prefer not to move it,
>>>> to make it easier to read the diff.
>>>
>>> The new 'for' block are far different from original one. And I think
>>> it's easy to read if we keep simple assign statements in the same block.
>>>
>>
>> It's different in the sense that it checks if struct clk *c is an error.
>> I don't see the reason why we need to move it up in the file.
>> It's not too important but I would prefer not to move it if there is no
>> reason.
>
> I think I may misunderstand your comments. Which 'for' block did you
> mention for? 'for (i = 0; i < num ...' or 'for (j = 0; j < MAX_CLKS
> && ...' ?
>
> The 'for(i)' exists in original code, this patch just change its counter
> from 'NUM_DOMAINS' to 'num'. The 'for(j)' is a new for-block, so it was
> not moved from other blocks.
>

for (j = 0; j < MAX_CLKS... is present in the actual scpsys_probe in 
linux-next (line 485 as of today). This patch moves this for a few lines 
up, to be precise before executing this code sequence:
<code>
pd_data->domains[i] = genpd;
scpd->scp = scp;

scpd->data = data;
</code>

AFAIK there is no reason to do so. It adds unnecessary complexity to the 
patch. So please fix this together with the other comments you got.

Thanks a lot,
Matthias

WARNING: multiple messages have this Message-ID (diff)
From: matthias.bgg@gmail.com (Matthias Brugger)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 1/4] soc: mediatek: Refine scpsys to support multiple platform
Date: Mon, 11 Jul 2016 15:10:59 +0200	[thread overview]
Message-ID: <57839AE3.2070103@gmail.com> (raw)
In-Reply-To: <1468227390.31247.20.camel@mtksdaap41>



On 11/07/16 10:56, James Liao wrote:

[...]

>>>>> @@ -467,28 +386,54 @@ static int scpsys_probe(struct platform_device *pdev)
>>>>>    			if (PTR_ERR(scpd->supply) == -ENODEV)
>>>>>    				scpd->supply = NULL;
>>>>>    			else
>>>>> -				return PTR_ERR(scpd->supply);
>>>>> +				return ERR_CAST(scpd->supply);
>>>>>    		}
>>>>>    	}
>>>>>
>>>>> -	pd_data->num_domains = NUM_DOMAINS;
>>>>> +	pd_data->num_domains = num;
>>>>>
>>>>> -	for (i = 0; i < NUM_DOMAINS; i++) {
>>>>> +	init_clks(pdev, clk);
>>>>> +
>>>>> +	for (i = 0; i < num; i++) {
>>>>>    		struct scp_domain *scpd = &scp->domains[i];
>>>>>    		struct generic_pm_domain *genpd = &scpd->genpd;
>>>>>    		const struct scp_domain_data *data = &scp_domain_data[i];
>>>>>
>>>>> +		for (j = 0; j < MAX_CLKS && data->clk_id[j]; j++) {
>>>>> +			struct clk *c = clk[data->clk_id[j]];
>>>>> +
>>>>> +			if (IS_ERR(c)) {
>>>>> +				dev_err(&pdev->dev, "%s: clk unavailable\n",
>>>>> +					data->name);
>>>>> +				return ERR_CAST(c);
>>>>> +			}
>>>>> +
>>>>> +			scpd->clk[j] = c;
>>>>
>>>> Put this in the else branch. Apart from that is there any reason you
>>>
>>> Do you mean to change like this?
>>>
>>> 	if (IS_ERR(c)) {
>>> 		...
>>> 		return ERR_CAST(c);
>>> 	} else {
>>> 		scpd->clk[j] = c;
>>> 	}
>>>
>>> checkpatch.pl will warn for above code due to it returns in 'if' branch.
>>>
>>
>> I tried that on top of next-20160706 and it checkpatch didn't throw any
>> warning. Which kernel version are based on?
>
> I don't remember which version of checkpatch warn on this pattern. This
> patch series develop across several kernel versions.

We as the kernel community develop against master or linux-next. We only 
care about older kernel version in the sense that we intent hard not to 
break any userspace/kernel or firmware/kernel interfaces. Apart from 
that it's up to every individual to backport patches from mainline 
kernel to his respective version. But that's nothing the community as a 
hole can take care of.

>
> So do you prefer to put "scpd->clk[j] = c;" into 'else' branch?
>

Yes please :)

>>>> moved the for up in the function? If not, I would prefer not to move it,
>>>> to make it easier to read the diff.
>>>
>>> The new 'for' block are far different from original one. And I think
>>> it's easy to read if we keep simple assign statements in the same block.
>>>
>>
>> It's different in the sense that it checks if struct clk *c is an error.
>> I don't see the reason why we need to move it up in the file.
>> It's not too important but I would prefer not to move it if there is no
>> reason.
>
> I think I may misunderstand your comments. Which 'for' block did you
> mention for? 'for (i = 0; i < num ...' or 'for (j = 0; j < MAX_CLKS
> && ...' ?
>
> The 'for(i)' exists in original code, this patch just change its counter
> from 'NUM_DOMAINS' to 'num'. The 'for(j)' is a new for-block, so it was
> not moved from other blocks.
>

for (j = 0; j < MAX_CLKS... is present in the actual scpsys_probe in 
linux-next (line 485 as of today). This patch moves this for a few lines 
up, to be precise before executing this code sequence:
<code>
pd_data->domains[i] = genpd;
scpd->scp = scp;

scpd->data = data;
</code>

AFAIK there is no reason to do so. It adds unnecessary complexity to the 
patch. So please fix this together with the other comments you got.

Thanks a lot,
Matthias

  reply	other threads:[~2016-07-11 13:10 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-16  9:28 [PATCH v7 0/4] Mediatek MT2701 SCPSYS power domain support James Liao
2016-05-16  9:28 ` James Liao
2016-05-16  9:28 ` James Liao
     [not found] ` <1463390894-32062-1-git-send-email-jamesjj.liao-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2016-05-16  9:28   ` [PATCH v7 1/4] soc: mediatek: Refine scpsys to support multiple platform James Liao
2016-05-16  9:28     ` James Liao
2016-05-16  9:28     ` James Liao
2016-07-02 16:33     ` Matthias Brugger
2016-07-02 16:33       ` Matthias Brugger
     [not found]       ` <6762e420-0d68-0376-b584-bfc878b5e95f-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-06  5:39         ` James Liao
2016-07-06  5:39           ` James Liao
2016-07-06  5:39           ` James Liao
2016-07-07 11:20           ` Matthias Brugger
2016-07-07 11:20             ` Matthias Brugger
2016-07-07 11:20             ` Matthias Brugger
     [not found]             ` <577E3AE9.5080202-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-11  8:56               ` James Liao
2016-07-11  8:56                 ` James Liao
2016-07-11  8:56                 ` James Liao
2016-07-11 13:10                 ` Matthias Brugger [this message]
2016-07-11 13:10                   ` Matthias Brugger
     [not found]                   ` <57839AE3.2070103-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-12  1:52                     ` Yingjoe Chen
2016-07-12  1:52                       ` Yingjoe Chen
2016-07-12  1:52                       ` Yingjoe Chen
2016-07-12  3:34                   ` James Liao
2016-07-12  3:34                     ` James Liao
2016-07-12  3:34                     ` James Liao
2016-07-12  8:21                     ` Matthias Brugger
2016-07-12  8:21                       ` Matthias Brugger
2016-07-12  8:21                       ` Matthias Brugger
2016-05-16  9:28   ` [PATCH v7 3/4] soc: mediatek: Add MT2701 power dt-bindings James Liao
2016-05-16  9:28     ` James Liao
2016-05-16  9:28     ` James Liao
2016-05-16  9:28   ` [PATCH v7 4/4] soc: mediatek: Add MT2701 scpsys driver James Liao
2016-05-16  9:28     ` James Liao
2016-05-16  9:28     ` James Liao
     [not found]     ` <1463390894-32062-5-git-send-email-jamesjj.liao-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2016-07-02 16:41       ` Matthias Brugger
2016-07-02 16:41         ` Matthias Brugger
2016-07-02 16:41         ` Matthias Brugger
2016-07-06  5:17         ` James Liao
2016-07-06  5:17           ` James Liao
2016-07-06  5:17           ` James Liao
2016-05-16  9:28 ` [PATCH v7 2/4] soc: mediatek: Init MT8173 scpsys driver earlier James Liao
2016-05-16  9:28   ` James Liao
2016-05-16  9:28   ` James Liao
     [not found]   ` <1463390894-32062-3-git-send-email-jamesjj.liao-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2016-07-02 16:35     ` Matthias Brugger
2016-07-02 16:35       ` Matthias Brugger
2016-07-02 16:35       ` Matthias Brugger
     [not found]       ` <34025ec4-19d3-8b25-d669-50c6f19159cd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-07-06  5:22         ` James Liao
2016-07-06  5:22           ` James Liao
2016-07-06  5:22           ` James Liao
2016-07-08 12:47           ` Matthias Brugger
2016-07-08 12:47             ` Matthias Brugger
2016-07-08 12:47             ` Matthias Brugger
2016-07-12  9:01             ` Yong Wu
2016-07-12  9:01               ` Yong Wu
2016-07-12  9:01               ` Yong Wu
2016-10-26 14:54               ` Matthias Brugger
2016-10-26 14:54                 ` Matthias Brugger
2016-10-26 14:54                 ` Matthias Brugger

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=57839AE3.2070103@gmail.com \
    --to=matthias.bgg@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=djkurtz@chromium.org \
    --cc=jamesjj.liao@mediatek.com \
    --cc=kernel@pengutronix.de \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=robh@kernel.org \
    --cc=srv_heupstream@mediatek.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.