All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cousson, Benoit" <b-cousson@ti.com>
To: "Shilimkar, Santosh" <santosh.shilimkar@ti.com>
Cc: amit.kucheria@linaro.org, balbi@ti.com, kishon@ti.com,
	kbaidarov@dev.rtsoft.ru, J Keerthy <j-keerthy@ti.com>,
	linux-pm@lists.linux-foundation.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC PATCH 05/11] mfd: omap: control: core system control driver
Date: Tue, 29 May 2012 15:31:43 +0200	[thread overview]
Message-ID: <4FC4CFBF.7070702@ti.com> (raw)
In-Reply-To: <CAMQu2gzmPqiq5Aj8Fu6Jctdzkzeq6nXVCJcVvXHn4DRB3ZqNhw@mail.gmail.com>

On 5/28/2012 3:15 PM, Shilimkar, Santosh wrote:
> On Mon, May 28, 2012 at 5:12 PM, Eduardo Valentin

[...]

>>>> +/**
>>>> + * omap_control_readl: Read a single omap control module register.
>>>> + *
>>>> + * @dev: device to read from.
>>>> + * @reg: register to read.
>>>> + * @val: output with register value.
>>>> + *
>>>> + * returns 0 on success or -EINVAL in case struct device is invalid.
>>>> + */
>>>> +int omap_control_readl(struct device *dev, u32 reg, u32 *val)
>>>> +{
>>>> +       struct omap_control *omap_control = dev_get_drvdata(dev);
>>>> +
>>>> +       if (!omap_control)
>>>> +               return -EINVAL;
>>>> +
>>>> +       *val = readl(omap_control->base + reg);
>>>> +
>>>> +       return 0;
>>>> +}
>>>> +EXPORT_SYMBOL_GPL(omap_control_readl);
>>>> +
>>> I might have missed in the last scan, but can you let
>>> function return the register value.
>>
>> Why?
>>
> Because thats how typical read 1 value kind of functions
> look like..

Yeah, I tend to agree with Santosh here as well. I'm expecting such API 
to return the value.
Moreover the error handling in that case is really an exception and thus 
a WARM is enough since it should never ever happen except if there is a 
bug during the probe. And in that case, it should already fail at probe 
time.

>>> I am guessing, you did this for error case handling. You might
>>> want to stick to read API semantic and just have WARN_ON()
>>> to take care of error case.
>>
>> Yeah, that was for error handling and to do not confuse register
>> values with error values.
>>
> No strong opinion if you like it that way but it just appeared odd to
> me from a caller perspective.

Yep, I do agree.

Benoit

WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 05/11] mfd: omap: control: core system control driver
Date: Tue, 29 May 2012 15:31:43 +0200	[thread overview]
Message-ID: <4FC4CFBF.7070702@ti.com> (raw)
In-Reply-To: <CAMQu2gzmPqiq5Aj8Fu6Jctdzkzeq6nXVCJcVvXHn4DRB3ZqNhw@mail.gmail.com>

On 5/28/2012 3:15 PM, Shilimkar, Santosh wrote:
> On Mon, May 28, 2012 at 5:12 PM, Eduardo Valentin

[...]

>>>> +/**
>>>> + * omap_control_readl: Read a single omap control module register.
>>>> + *
>>>> + * @dev: device to read from.
>>>> + * @reg: register to read.
>>>> + * @val: output with register value.
>>>> + *
>>>> + * returns 0 on success or -EINVAL in case struct device is invalid.
>>>> + */
>>>> +int omap_control_readl(struct device *dev, u32 reg, u32 *val)
>>>> +{
>>>> +       struct omap_control *omap_control = dev_get_drvdata(dev);
>>>> +
>>>> +       if (!omap_control)
>>>> +               return -EINVAL;
>>>> +
>>>> +       *val = readl(omap_control->base + reg);
>>>> +
>>>> +       return 0;
>>>> +}
>>>> +EXPORT_SYMBOL_GPL(omap_control_readl);
>>>> +
>>> I might have missed in the last scan, but can you let
>>> function return the register value.
>>
>> Why?
>>
> Because thats how typical read 1 value kind of functions
> look like..

Yeah, I tend to agree with Santosh here as well. I'm expecting such API 
to return the value.
Moreover the error handling in that case is really an exception and thus 
a WARM is enough since it should never ever happen except if there is a 
bug during the probe. And in that case, it should already fail at probe 
time.

>>> I am guessing, you did this for error case handling. You might
>>> want to stick to read API semantic and just have WARN_ON()
>>> to take care of error case.
>>
>> Yeah, that was for error handling and to do not confuse register
>> values with error values.
>>
> No strong opinion if you like it that way but it just appeared odd to
> me from a caller perspective.

Yep, I do agree.

Benoit

  reply	other threads:[~2012-05-29 13:31 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-25  8:25 [RFC PATCH 00/11] OMAP System Control Module Eduardo Valentin
2012-05-25  8:25 ` Eduardo Valentin
2012-05-25  8:25 ` [RFC PATCH 01/11] ARM: OMAP4: Remove un-used control module headers and defines Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-28  9:12   ` Shilimkar, Santosh
2012-05-28  9:12     ` Shilimkar, Santosh
2012-05-25  8:25 ` [RFC PATCH 02/11] ARM: OMAP: expose control.h to mach area Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-28  9:25   ` Shilimkar, Santosh
2012-05-28  9:25     ` Shilimkar, Santosh
2012-05-28 10:30     ` Valentin, Eduardo
2012-05-28 10:30       ` Valentin, Eduardo
2012-06-01 11:19       ` Tony Lindgren
2012-06-01 11:19         ` Tony Lindgren
2012-05-25  8:25 ` [RFC PATCH 03/11] arm: omap: device: create a device for system control module Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 12:30   ` Cousson, Benoit
2012-05-25 12:30     ` Cousson, Benoit
2012-05-29  9:44     ` Eduardo Valentin
2012-05-29  9:44       ` Eduardo Valentin
2012-06-14 13:50       ` Konstantin Baydarov
2012-06-14 13:50         ` Konstantin Baydarov
2012-06-15  9:22         ` Valentin, Eduardo
2012-06-15  9:22           ` Valentin, Eduardo
2012-05-29 13:39   ` Konstantin Baydarov
2012-05-29 13:39     ` Konstantin Baydarov
2012-05-25  8:25 ` [RFC PATCH 04/11] OMAP: Add early " Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 11:32   ` Konstantin Baydarov
2012-05-25 11:32     ` Konstantin Baydarov
2012-05-25 11:44     ` Valentin, Eduardo
2012-05-25 11:44       ` Valentin, Eduardo
2012-05-25 11:54   ` Konstantin Baydarov
2012-05-25 11:54     ` Konstantin Baydarov
2012-05-25 12:32   ` Cousson, Benoit
2012-05-25 12:32     ` Cousson, Benoit
2012-05-28  9:58   ` Shilimkar, Santosh
2012-05-28  9:58     ` Shilimkar, Santosh
2012-05-25  8:25 ` [RFC PATCH 05/11] mfd: omap: control: core system control driver Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 12:52   ` Cousson, Benoit
2012-05-25 12:52     ` Cousson, Benoit
2012-05-28 11:35     ` Eduardo Valentin
2012-05-28 11:35       ` Eduardo Valentin
2012-05-29 13:25       ` Cousson, Benoit
2012-05-29 13:25         ` Cousson, Benoit
2012-06-01 11:29         ` Tony Lindgren
2012-06-01 11:29           ` Tony Lindgren
2012-06-01 12:30           ` Shilimkar, Santosh
2012-06-01 12:30             ` Shilimkar, Santosh
2012-06-01 12:43             ` Cousson, Benoit
2012-06-01 12:43               ` Cousson, Benoit
2012-06-01 17:19               ` Eduardo Valentin
2012-06-01 17:19                 ` Eduardo Valentin
2012-06-01 13:40           ` Konstantin Baydarov
2012-06-01 13:40             ` Konstantin Baydarov
2012-06-01 14:13             ` Tony Lindgren
2012-06-01 14:13               ` Tony Lindgren
2012-06-01 14:26               ` Konstantin Baydarov
2012-06-01 14:26                 ` Konstantin Baydarov
2012-05-28  9:54   ` Shilimkar, Santosh
2012-05-28  9:54     ` Shilimkar, Santosh
2012-05-28 11:42     ` Eduardo Valentin
2012-05-28 11:42       ` Eduardo Valentin
2012-05-28 13:15       ` Shilimkar, Santosh
2012-05-28 13:15         ` Shilimkar, Santosh
2012-05-29 13:31         ` Cousson, Benoit [this message]
2012-05-29 13:31           ` Cousson, Benoit
2012-05-25  8:25 ` [RFC PATCH 06/11] OMAP2+: use control module mfd driver in omap_type Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 12:53   ` Cousson, Benoit
2012-05-25 12:53     ` Cousson, Benoit
2012-05-28 10:02     ` Shilimkar, Santosh
2012-05-28 10:02       ` Shilimkar, Santosh
2012-05-28 11:24       ` Eduardo Valentin
2012-05-28 11:24         ` Eduardo Valentin
2012-06-01 11:35         ` Tony Lindgren
2012-06-01 11:35           ` Tony Lindgren
2012-05-25  8:25 ` [RFC PATCH 07/11] mfd: omap: control: usb-phy: introduce the ctrl-module usb driver Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 13:35   ` Shubhrajyoti Datta
2012-05-25 13:35     ` Shubhrajyoti Datta
2012-05-25 15:06   ` Cousson, Benoit
2012-05-25 15:06     ` Cousson, Benoit
2012-06-01 11:38   ` Tony Lindgren
2012-06-01 11:38     ` Tony Lindgren
2012-06-01 13:20     ` [linux-pm] " Tony Lindgren
2012-06-01 13:20       ` Tony Lindgren
2012-06-01 14:07       ` Kevin Hilman
2012-06-01 14:07         ` Kevin Hilman
2012-06-01 14:15         ` Tony Lindgren
2012-06-01 14:15           ` Tony Lindgren
2012-05-25  8:25 ` [RFC PATCH 08/11] ARM: OMAP4+: Adding the temperature sensor register set bit fields Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 15:13   ` Cousson, Benoit
2012-05-25 15:13     ` Cousson, Benoit
2012-05-28 11:17     ` Eduardo Valentin
2012-05-28 11:17       ` Eduardo Valentin
2012-05-28 10:04   ` Shilimkar, Santosh
2012-05-28 10:04     ` Shilimkar, Santosh
2012-05-28 11:18     ` Eduardo Valentin
2012-05-28 11:18       ` Eduardo Valentin
2012-05-25  8:25 ` [RFC PATCH 09/11] ARM: OMAP4+: thermal: introduce bandgap temperature sensor Eduardo Valentin
2012-05-25  8:25   ` Eduardo Valentin
2012-05-25 15:49   ` Cousson, Benoit
2012-05-25 15:49     ` Cousson, Benoit
2012-05-28 11:06     ` Eduardo Valentin
2012-05-28 11:06       ` Eduardo Valentin
2012-05-28 11:16     ` Eduardo Valentin
2012-05-28 11:16       ` Eduardo Valentin
2012-05-29 13:14       ` Cousson, Benoit
2012-05-29 13:14         ` Cousson, Benoit
2012-05-29 17:51         ` Mike Turquette
2012-05-29 17:51           ` Mike Turquette
2012-05-25 16:39   ` Konstantin Baydarov
2012-05-25 16:39     ` Konstantin Baydarov
2012-05-28 10:55     ` Eduardo Valentin
2012-05-28 10:55       ` Eduardo Valentin
2012-06-01 11:42   ` Tony Lindgren
2012-06-01 11:42     ` Tony Lindgren
2012-05-25  8:26 ` [RFC PATCH 10/11] omap4: thermal: add basic CPU thermal zone Eduardo Valentin
2012-05-25  8:26   ` Eduardo Valentin
2012-05-28  9:33   ` Shilimkar, Santosh
2012-05-28  9:33     ` Shilimkar, Santosh
2012-05-28  9:48     ` Felipe Balbi
2012-05-28  9:48       ` Felipe Balbi
2012-05-28 10:26       ` Valentin, Eduardo
2012-05-28 10:26         ` Valentin, Eduardo
2012-05-29 12:54         ` Cousson, Benoit
2012-05-29 12:54           ` Cousson, Benoit
2012-05-25  8:26 ` [RFC PATCH 11/11] ARM: DT: Add support to system control module for OMAP4 Eduardo Valentin
2012-05-25  8:26   ` Eduardo Valentin
2012-05-29  9:49   ` Konstantin Baydarov
2012-05-29  9:49     ` Konstantin Baydarov
2012-05-30  8:38     ` Cousson, Benoit
2012-05-30  8:38       ` Cousson, Benoit
2012-05-30  9:05       ` Konstantin Baydarov
2012-05-30  9:05         ` Konstantin Baydarov
2012-05-30  9:26         ` Cousson, Benoit
2012-05-30  9:26           ` Cousson, Benoit
2012-05-30 10:17           ` Konstantin Baydarov
2012-05-30 10:17             ` Konstantin Baydarov
2012-05-30 10:22             ` Cousson, Benoit
2012-05-30 10:22               ` Cousson, Benoit
2012-05-30 10:42               ` Eduardo Valentin
2012-05-30 10:42                 ` Eduardo Valentin
2012-05-30 12:16                 ` Cousson, Benoit
2012-05-30 12:16                   ` Cousson, Benoit
2012-05-31 12:06           ` Konstantin Baydarov
2012-05-31 12:06             ` Konstantin Baydarov
2012-05-31 12:49             ` Eduardo Valentin
2012-05-31 12:49               ` Eduardo Valentin
2012-05-31 12:52               ` Cousson, Benoit
2012-05-31 12:52                 ` Cousson, Benoit
2012-05-31 14:51                 ` Konstantin Baydarov
2012-05-31 14:51                   ` Konstantin Baydarov
2012-05-25  8:35 ` [RFC PATCH 00/11] OMAP System Control Module Eduardo Valentin
2012-05-25  8:35   ` Eduardo Valentin
2012-05-25 10:50 ` Konstantin Baydarov
2012-05-25 10:50   ` Konstantin Baydarov
2012-05-25 11:11   ` Valentin, Eduardo
2012-05-25 11:11     ` Valentin, Eduardo
2012-05-25 12:21     ` Konstantin Baydarov
2012-05-25 12:21       ` Konstantin Baydarov
2012-06-01  0:12 ` [linux-pm] " Kevin Hilman
2012-06-01  0:12   ` Kevin Hilman
2012-06-18 11:32 ` [RFC PATCH v2 01/11] ARM: OMAP4: Remove un-used control module headers and defines Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-18 11:32 ` [RFC PATCH v2 02/11] ARM: OMAP: expose control.h to mach area Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-20 10:17   ` Tony Lindgren
2012-06-20 10:17     ` Tony Lindgren
2012-06-18 11:32 ` [RFC PATCH v2 03/11] mfd: omap: control: core system control driver Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-20 10:22   ` Tony Lindgren
2012-06-20 10:22     ` Tony Lindgren
2012-06-20 14:13     ` Konstantin Baydarov
2012-06-20 14:13       ` Konstantin Baydarov
2012-06-26 11:17       ` Tony Lindgren
2012-06-26 11:17         ` Tony Lindgren
2012-06-18 11:32 ` [RFC PATCH v2 04/11] OMAP2+: use control module mfd driver in omap_type Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-20 10:24   ` Tony Lindgren
2012-06-20 10:24     ` Tony Lindgren
2012-06-18 11:32 ` [RFC PATCH v2 05/11] mfd: omap: control: usb-phy: introduce the ctrl-module usb driver Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-18 11:32 ` [RFC PATCH v2 06/11] ARM: OMAP4+: Adding the temperature sensor register set bit fields Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-20 10:25   ` Tony Lindgren
2012-06-20 10:25     ` Tony Lindgren
2012-06-18 11:32 ` [RFC PATCH v2 07/11] ARM: OMAP4+: thermal: introduce bandgap temperature sensor Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-18 11:32 ` [RFC PATCH v2 08/11] omap4: thermal: add basic CPU thermal zone Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-18 11:32 ` [RFC PATCH v2 09/11] ARM: DT: Add support to system control module for OMAP4 Konstantin Baydarov
2012-06-18 11:32   ` Konstantin Baydarov
2012-06-18 12:13   ` Sergei Shtylyov
2012-06-18 12:13     ` Sergei Shtylyov

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=4FC4CFBF.7070702@ti.com \
    --to=b-cousson@ti.com \
    --cc=amit.kucheria@linaro.org \
    --cc=balbi@ti.com \
    --cc=j-keerthy@ti.com \
    --cc=kbaidarov@dev.rtsoft.ru \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=santosh.shilimkar@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 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.