public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [linux-pm] [RFC] OMAP1 PM Core, PM Core  Implementation 2/2
  2006-10-01 15:22 ` Heikki Orsila
@ 2006-10-01 17:10   ` Pavel Machek
  0 siblings, 0 replies; 6+ messages in thread
From: Pavel Machek @ 2006-10-01 17:10 UTC (permalink / raw)
  To: Heikki Orsila
  Cc: Eugeny S. Mints, linux-pm, linux-kernel, ext-Tuukka.Tikkanen

On Sun 2006-10-01 18:22:28, Heikki Orsila wrote:
> Some nitpicking about the patch follows..
> 
> On Sat, Sep 30, 2006 at 02:24:35AM +0400, Eugeny S. Mints wrote:
> > +static long 
> > +get_vtg(const char *vdomain)
> > +{
> > +	long ret = 0;
> 
> Unnecessary initialisation.

No, sorry.

> > +static long 
> > +set_vtg(const char *vdomain, int val)
> > +{
> > +	long ret = 0;
> 
> here too. This and 'int i = 0;' happens in many functions.

Wrong again. automatic variables are not zero initialized.

> > +	err = omap_pm_core_verify_opt(opt);
> > +	if (err != 0)
> > +		goto out;
> > +
> > +	return (void *)opt;
> > +out:
> > +	kfree(opt);
> > +	return NULL;
> > +}
> 
> Maybe use if (err != 0) { kfree(opt); return NULL; } because goto out is 
> only used once?

This is actually common kernel idiom, so it is okay to leave like
this. Your other points are ok.

									Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [linux-pm] [RFC] OMAP1 PM Core, PM Core  Implementation 2/2
@ 2006-10-02 18:58 Scott E. Preece
  2006-10-02 20:44 ` Heikki Orsila
  2006-10-04 21:24 ` Pavel Machek
  0 siblings, 2 replies; 6+ messages in thread
From: Scott E. Preece @ 2006-10-02 18:58 UTC (permalink / raw)
  To: shd; +Cc: eugeny.mints, linux-pm, linux-kernel, ext-Tuukka.Tikkanen



| From: Heikki Orsila<shd@zakalwe.fi>
| 
| Some nitpicking about the patch follows..
| 
| On Sat, Sep 30, 2006 at 02:24:35AM +0400, Eugeny S. Mints wrote:
| > +static long 
| > +get_vtg(const char *vdomain)
| > +{
| > +	long ret = 0;
| 
| Unnecessary initialisation.
---

Many of us work in environments where initialization is in the coding
standard. It also helps with static analysis tools. CodingStyle seems to
be silent on the point, but points to Kernighan and Ritchie, who say
"These initializations are actually unnecessary, since all are zero, but
it's a good idea to make them explicit anyway."

Any reasonable compiler will avoid doing the initialization twice...

---
| ...
| > +static int cpu_vltg_show(void *md_opt, int *value)
| > +{
| > +	int rc = 0;
| > +	if (md_opt == NULL) {
| > +		if ((*value = get_vtg("v1")) <= 0)
| > +			return -EIO;
| > +	}
| > +	else {
| > +		struct pm_core_point *opt = (struct pm_core_point *)md_opt;
| > +		*value = opt->cpu_vltg;
| > +	}
| > +
| > +	return rc;
| > +}
| 
| int rc is unnecessary because the function always returns 0. This 
| happens in many places.
---

Wonder if he wrote it for a coding standard that requires single return
(so that the "return -EIO" would have been "rc=-EIO") and converted
it...

scott

-- 
scott preece
motorola mobile devices, il67, 1800 s. oak st., champaign, il  61820  
e-mail:	preece@motorola.com	fax:	+1-217-384-8550
phone:	+1-217-384-8589	cell: +1-217-433-6114	pager: 2174336114@vtext.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [linux-pm] [RFC] OMAP1 PM Core, PM Core  Implementation 2/2
@ 2006-10-02 19:19 Scott E. Preece
  0 siblings, 0 replies; 6+ messages in thread
From: Scott E. Preece @ 2006-10-02 19:19 UTC (permalink / raw)
  To: shd; +Cc: pavel, linux-pm, linux-kernel, ext-Tuukka.Tikkanen


| From: Heikki Orsila<shd@zakalwe.fi>
| 
| On Sun, Oct 01, 2006 at 07:10:32PM +0200, Pavel Machek wrote:
| > On Sun 2006-10-01 18:22:28, Heikki Orsila wrote:
| > > Some nitpicking about the patch follows..
| > > 
| > > On Sat, Sep 30, 2006 at 02:24:35AM +0400, Eugeny S. Mints wrote:
| > > > +static long 
| > > > +get_vtg(const char *vdomain)
| > > > +{
| > > > +	long ret = 0;
| > > 
| > > Unnecessary initialisation.
| > 
| > No, sorry.
| 
| In get_vtg(), if VOLTAGE_FRAMEWORK is defined then
| 
| 	ret = vtg_get_voltage(v);
| 
| is the first user. If VOLTAGE_FRAMEWORK is not defined, the first user is:
| 
| 	ret = vtg_get_voltage(&vhandle);
| 
| Then "return ret;" follows. I cannot see a path where 
| pre-initialisation of ret does anything useful. If someone removed the
| #else part, the compiler would bark.
---

True, but a good compiler should remove the dead initialization...

scott
-- 
scott preece
motorola mobile devices, il67, 1800 s. oak st., champaign, il  61820  
e-mail:	preece@motorola.com	fax:	+1-217-384-8550
phone:	+1-217-384-8589	cell: +1-217-433-6114	pager: 2174336114@vtext.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [linux-pm] [RFC] OMAP1 PM Core, PM Core  Implementation 2/2
  2006-10-02 18:58 [linux-pm] [RFC] OMAP1 PM Core, PM Core Implementation 2/2 Scott E. Preece
@ 2006-10-02 20:44 ` Heikki Orsila
  2006-10-04 21:24 ` Pavel Machek
  1 sibling, 0 replies; 6+ messages in thread
From: Heikki Orsila @ 2006-10-02 20:44 UTC (permalink / raw)
  To: Scott E. Preece; +Cc: eugeny.mints, linux-pm, linux-kernel, ext-Tuukka.Tikkanen

On Mon, Oct 02, 2006 at 01:58:33PM -0500, Scott E. Preece wrote:
> It also helps with static analysis tools.

I'd say those analysis tools are pretty useless if they can not handle 
trivial cases like this.

> CodingStyle seems to
> be silent on the point, but points to Kernighan and Ritchie, who say
> "These initializations are actually unnecessary, since all are zero, but
> it's a good idea to make them explicit anyway."

It was a local variable. They are not autoinitialised. Are you perhaps 
mixing this with statics and globals?

- Heikki

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [linux-pm] [RFC] OMAP1 PM Core, PM Core  Implementation 2/2
@ 2006-10-02 21:53 Scott E. Preece
  0 siblings, 0 replies; 6+ messages in thread
From: Scott E. Preece @ 2006-10-02 21:53 UTC (permalink / raw)
  To: shd; +Cc: eugeny.mints, linux-pm, linux-kernel, ext-Tuukka.Tikkanen



| From: Heikki Orsila<shd@zakalwe.fi>
| 
| On Mon, Oct 02, 2006 at 01:58:33PM -0500, Scott E. Preece wrote:
| > It also helps with static analysis tools.
| 
| I'd say those analysis tools are pretty useless if they can not handle 
| trivial cases like this.
| 
| > CodingStyle seems to
| > be silent on the point, but points to Kernighan and Ritchie, who say
| > "These initializations are actually unnecessary, since all are zero, but
| > it's a good idea to make them explicit anyway."
| 
| It was a local variable. They are not autoinitialised. Are you perhaps 
| mixing this with statics and globals?
---

Indeed - I answered too quickly.

However, as noted, there's no practical cost to including the
initializations and some of us do work in places where it's normallly
required.

scott
-- 
scott preece
motorola mobile devices, il67, 1800 s. oak st., champaign, il  61820  
e-mail:	preece@motorola.com	fax:	+1-217-384-8550
phone:	+1-217-384-8589	cell: +1-217-433-6114	pager: 2174336114@vtext.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [linux-pm] [RFC] OMAP1 PM Core, PM Core  Implementation 2/2
  2006-10-02 18:58 [linux-pm] [RFC] OMAP1 PM Core, PM Core Implementation 2/2 Scott E. Preece
  2006-10-02 20:44 ` Heikki Orsila
@ 2006-10-04 21:24 ` Pavel Machek
  1 sibling, 0 replies; 6+ messages in thread
From: Pavel Machek @ 2006-10-04 21:24 UTC (permalink / raw)
  To: Scott E. Preece; +Cc: shd, linux-pm, linux-kernel, ext-Tuukka.Tikkanen

Hi!

> | Some nitpicking about the patch follows..
> | 
> | On Sat, Sep 30, 2006 at 02:24:35AM +0400, Eugeny S. Mints wrote:
> | > +static long 
> | > +get_vtg(const char *vdomain)
> | > +{
> | > +	long ret = 0;
> | 
> | Unnecessary initialisation.
> 
> Many of us work in environments where initialization is in the coding
> standard. 

Well, l-k is not _this_ kind of environment.

> | > +static int cpu_vltg_show(void *md_opt, int *value)
> | > +{
> | > +	int rc = 0;
> | > +	if (md_opt == NULL) {
> | > +		if ((*value = get_vtg("v1")) <= 0)
> | > +			return -EIO;
> | > +	}
> | > +	else {
> | > +		struct pm_core_point *opt = (struct pm_core_point *)md_opt;
> | > +		*value = opt->cpu_vltg;
> | > +	}
> | > +
> | > +	return rc;
> | > +}
> | 
> | int rc is unnecessary because the function always returns 0. This 
> | happens in many places.
> ---
> 
> Wonder if he wrote it for a coding standard that requires single return
> (so that the "return -EIO" would have been "rc=-EIO") and converted
> it...

We sometimes do that in l-k, too. But having rc=-EIO; return rc; with
single return is little extreme. Just fix it, it is easier than
debating codingstyle.

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-10-04 21:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-02 18:58 [linux-pm] [RFC] OMAP1 PM Core, PM Core Implementation 2/2 Scott E. Preece
2006-10-02 20:44 ` Heikki Orsila
2006-10-04 21:24 ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2006-10-02 21:53 Scott E. Preece
2006-10-02 19:19 Scott E. Preece
2006-09-29 22:24 Eugeny S. Mints
2006-10-01 15:22 ` Heikki Orsila
2006-10-01 17:10   ` [linux-pm] " Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox