linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nishanth Menon <menon.nishanth@gmail.com>
To: "Gopinath, Thara" <thara@ti.com>
Cc: "Menon, Nishanth" <nm@ti.com>,
	linux-omap <linux-omap@vger.kernel.org>,
	Kevin Hilman <khilman@deeprootsystems.com>
Subject: Re: [PM-SR][PATCH 06/12] omap3: sr: device: fail sr_dev_init should return error
Date: Fri, 06 Aug 2010 05:59:49 -0500	[thread overview]
Message-ID: <4C5BEB25.6070609@gmail.com> (raw)
In-Reply-To: <5A47E75E594F054BAF48C5E4FC4B92AB032401CE58@dbde02.ent.ti.com>

On 08/06/2010 02:24 AM, Gopinath, Thara wrote:
>
>
>>> -----Original Message-----
>>> From: Menon, Nishanth
>>> Sent: Friday, August 06, 2010 3:54 AM
>>> To: linux-omap
>>> Cc: Menon, Nishanth; Kevin Hilman; Gopinath, Thara
>>> Subject: [PM-SR][PATCH 06/12] omap3: sr: device: fail sr_dev_init should return error
>>>
>>> sr_dev_init should return error on error conditions
>>>
>>> Cc: Kevin Hilman<khilman@deeprootsystems.com>
>>> Cc: Thara Gopinath<thara@ti.com>
>>>
>>> Signed-off-by: Nishanth Menon<nm@ti.com>
>>> ---
>>> arch/arm/mach-omap2/sr_device.c |    3 ++-
>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
>>> index 6f70da6..8fb60d8 100644
>>> --- a/arch/arm/mach-omap2/sr_device.c
>>> +++ b/arch/arm/mach-omap2/sr_device.c
>>> @@ -162,7 +162,7 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user)
>>> 				__func__, i + 1);
>>> 		i++;
>>> 		kfree(sr_data);
>>> -		return 0;
>>> +		return -ENODATA;
>>> 	}
>>> 	sr_set_nvalues(sr_dev_data, sr_data);
>>> 	od = omap_device_build(name, i, oh, sr_data, sizeof(*sr_data),
>>> @@ -172,6 +172,7 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user)
>>> 		pr_warning("%s: Could not build omap_device for %s: %s.\n\n",
>>> 			__func__, name, oh->name);
>>> 		kfree(sr_data);
>>> +		return PTR_ERR(od);
>>> 	}
> NAK for this change.
> This API is called from omap_hwmod_for_each_by_class for every smartreflex module.
> If This API returns an error omap_hwmod_for_each_by_class will exit without looping over
> rest of the smartreflex modules. This means a error for one smartreflex module will prevent
> rest of the smartreflex modules to be initialized. We do not want this. Hence this API returns 0
> for non-availability of data for a smartreflex module.

why do we want this behavior(aka continue with as many modules as you 
can enable)? h/wmod data structure are NOT meant to be corrupted if they 
are, what guarentee do we have that the rest of the sr module data 
structures have the right hwmods(even if they passed device_build?).. if 
they are, what is the point in enabling SR in half the domains - we 
should flag this as an error to developer and get him to fix it instead 
of encouraging this slipping by half a dozen developers as only sr_l3 
failed or something similar..

Regards,
Nishanth Menon

  reply	other threads:[~2010-08-06 10:59 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-05 22:24 [PM-SR][PATCH 00/12 v2] omap3: sr: janitor series Nishanth Menon
2010-08-05 22:24 ` [PM-SR][PATCH 01/12] omap3: voltage: cleanup pr_xxxx Nishanth Menon
2010-08-06  7:42   ` Gopinath, Thara
2010-08-06 11:08     ` Nishanth Menon
2010-08-06 12:18       ` Mark Brown
2010-08-06 13:10         ` Nishanth Menon
2010-08-06 13:32           ` Mark Brown
2010-08-06 13:37             ` Nishanth Menon
2010-08-06 13:50               ` Mark Brown
2010-08-13 10:39       ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 02/12] omap3: voltage: make required variables static Nishanth Menon
2010-08-06  7:39   ` Gopinath, Thara
2010-08-06 11:02     ` Nishanth Menon
2010-08-05 22:24 ` [PM-SR][PATCH 03/12] omap3: voltage: expose omap_change_voltscale_method Nishanth Menon
2010-08-06  7:07   ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 04/12] omap3: sr: device: cleanup pr_xxx Nishanth Menon
2010-08-06  7:11   ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 05/12] omap3: sr: device: check for dev_attr Nishanth Menon
2010-08-06  7:27   ` Gopinath, Thara
2010-08-06 11:00     ` Nishanth Menon
2010-08-05 22:24 ` [PM-SR][PATCH 06/12] omap3: sr: device: fail sr_dev_init should return error Nishanth Menon
2010-08-06  7:24   ` Gopinath, Thara
2010-08-06 10:59     ` Nishanth Menon [this message]
2010-08-13 10:31       ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 07/12] omap3: sr: device: make omap_sr_latency static Nishanth Menon
2010-08-06  7:24   ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 08/12] omap3: sr: cleanup pr_xxx Nishanth Menon
2010-08-06  4:38   ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 09/12] omap3: sr: enable/disable sr only if required Nishanth Menon
2010-08-06  4:51   ` Gopinath, Thara
2010-08-06 10:54     ` Nishanth Menon
2010-08-05 22:24 ` [PM-SR][PATCH 10/12] omap3: sr: export sr_dbg_dir Nishanth Menon
2010-08-06  4:56   ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 11/12] omap3: sr: sr_exit should be static Nishanth Menon
2010-08-06  4:57   ` Gopinath, Thara
2010-08-05 22:24 ` [PM-SR][PATCH 12/12] omap3: sr: class3: make class3_data static Nishanth Menon
2010-08-06  7:32   ` Gopinath, Thara

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=4C5BEB25.6070609@gmail.com \
    --to=menon.nishanth@gmail.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=thara@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).