All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
To: Hartmut Knaack <knaack.h@gmx.de>,
	Andrew Bresticker <abrestic@chromium.org>,
	James Hartley <james.hartley@imgtec.com>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Jonathan Cameron <jic23@kernel.org>
Cc: <linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<robh+dt@kernel.org>, <Pawel.Moll@arm.com>,
	<Mark.Rutland@arm.com>, <ijc+devicetree@hellion.org.uk>,
	<galak@codeaurora.org>, <Naidu.Tellapati@imgtec.com>,
	Phani Movva <Phani.Movva@imgtec.com>
Subject: Re: [PATCH v3 1/3] iio: adc: Cosmic Circuits 10001 ADC driver
Date: Thu, 27 Nov 2014 12:08:19 -0300	[thread overview]
Message-ID: <54773E63.4020300@imgtec.com> (raw)
In-Reply-To: <5475085E.8090806@gmx.de>



On 11/25/2014 07:53 PM, Hartmut Knaack wrote:
> Ezequiel Garcia schrieb am 25.11.2014 23:03:
>>
>>
>> On 11/25/2014 06:41 PM, Hartmut Knaack wrote:
>>>>
>>>> Unless I'm missing something, that's exactly what XOR does.
>>>>
>>>> Example:
>>>>
>>>> reserved_channels = 0x2;
>>>> channel_map = 0x7 ^ reserved_channels -> 0x5
>>>>
>>> You miss to check ret for a valid range, which you don't need to do when masking out channels.
>>> Example:
>>> reserved_channels = 0x8;
>>> channel_map = 0x7 ^ reserved_channels -> 0xf
>>> And this is actually happening in the current revision (with the wrong channel_map assignment), that a reserved channel in DT would become usable.
>>
>> Right, definitely a check is needed.
> No, that's not needed when using AND, as it can not add bits in the channel map. The following will do the job:
> 		adc_dev->channel_map &= ~ret;

Gah, of course, that's way much better.

>>
>>>>>> +
>>>>>> +	adc_dev->reg = devm_regulator_get(&pdev->dev, "vref");
>>>>>> +	if (IS_ERR_OR_NULL(adc_dev->reg))
>>>>>> +		return -EINVAL;
>>>>> 	if (IS_ERR(adc_dev->reg))
>>>>> 		return PTR_ERR(adc_dev->reg);
>>>>
>>>> Are you sure? What if devm_regulator_get() returns NULL?
>>>>
>>> I had a look at it, but couldn't figure out a condition in which it would return NULL. But I'd be happy to be informed of anything different.
>>
>> If CONFIG_REGULATOR=n you get NULL there (although I added a select REGULATOR
>> on the v4 I just posted).
>>
> Indeed, thanks. Now I'm thinking if it would make sense to handle this special case in a special way (as it would be caused by an invalid kernel config). Well, I guess, I leave it up to you.

Well, adding the select REGULATOR that shouldn't happen, so let's better
drop the NULL check entirely.
-- 
Ezequiel

WARNING: multiple messages have this Message-ID (diff)
From: Ezequiel Garcia <ezequiel.garcia-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
To: Hartmut Knaack <knaack.h-Mmb7MZpHnFY@public.gmane.org>,
	Andrew Bresticker
	<abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	James Hartley
	<james.hartley-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>,
	Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>,
	Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	Pawel.Moll-5wv7dgnIgG8@public.gmane.org,
	Mark.Rutland-5wv7dgnIgG8@public.gmane.org,
	ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
	galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
	Naidu.Tellapati-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org,
	Phani Movva <Phani.Movva-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v3 1/3] iio: adc: Cosmic Circuits 10001 ADC driver
Date: Thu, 27 Nov 2014 12:08:19 -0300	[thread overview]
Message-ID: <54773E63.4020300@imgtec.com> (raw)
In-Reply-To: <5475085E.8090806-Mmb7MZpHnFY@public.gmane.org>



On 11/25/2014 07:53 PM, Hartmut Knaack wrote:
> Ezequiel Garcia schrieb am 25.11.2014 23:03:
>>
>>
>> On 11/25/2014 06:41 PM, Hartmut Knaack wrote:
>>>>
>>>> Unless I'm missing something, that's exactly what XOR does.
>>>>
>>>> Example:
>>>>
>>>> reserved_channels = 0x2;
>>>> channel_map = 0x7 ^ reserved_channels -> 0x5
>>>>
>>> You miss to check ret for a valid range, which you don't need to do when masking out channels.
>>> Example:
>>> reserved_channels = 0x8;
>>> channel_map = 0x7 ^ reserved_channels -> 0xf
>>> And this is actually happening in the current revision (with the wrong channel_map assignment), that a reserved channel in DT would become usable.
>>
>> Right, definitely a check is needed.
> No, that's not needed when using AND, as it can not add bits in the channel map. The following will do the job:
> 		adc_dev->channel_map &= ~ret;

Gah, of course, that's way much better.

>>
>>>>>> +
>>>>>> +	adc_dev->reg = devm_regulator_get(&pdev->dev, "vref");
>>>>>> +	if (IS_ERR_OR_NULL(adc_dev->reg))
>>>>>> +		return -EINVAL;
>>>>> 	if (IS_ERR(adc_dev->reg))
>>>>> 		return PTR_ERR(adc_dev->reg);
>>>>
>>>> Are you sure? What if devm_regulator_get() returns NULL?
>>>>
>>> I had a look at it, but couldn't figure out a condition in which it would return NULL. But I'd be happy to be informed of anything different.
>>
>> If CONFIG_REGULATOR=n you get NULL there (although I added a select REGULATOR
>> on the v4 I just posted).
>>
> Indeed, thanks. Now I'm thinking if it would make sense to handle this special case in a special way (as it would be caused by an invalid kernel config). Well, I guess, I leave it up to you.

Well, adding the select REGULATOR that shouldn't happen, so let's better
drop the NULL check entirely.
-- 
Ezequiel

  reply	other threads:[~2014-11-27 15:10 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-13 14:13 [PATCH v3 0/3] iio: Add Cosmic Circuits ADC support Ezequiel Garcia
2014-11-13 14:13 ` Ezequiel Garcia
2014-11-13 14:13 ` [PATCH v3 1/3] iio: adc: Cosmic Circuits 10001 ADC driver Ezequiel Garcia
2014-11-13 14:13   ` Ezequiel Garcia
2014-11-15 10:46   ` Jonathan Cameron
2014-11-15 10:46     ` Jonathan Cameron
2014-11-15 18:05     ` Ezequiel Garcia
2014-11-15 18:05       ` Ezequiel Garcia
2014-11-22  1:15   ` Hartmut Knaack
2014-11-22  1:15     ` Hartmut Knaack
2014-11-25 17:46     ` Ezequiel Garcia
2014-11-25 17:46       ` Ezequiel Garcia
2014-11-25 21:41       ` Hartmut Knaack
2014-11-25 21:41         ` Hartmut Knaack
2014-11-25 22:03         ` Ezequiel Garcia
2014-11-25 22:03           ` Ezequiel Garcia
2014-11-25 22:53           ` Hartmut Knaack
2014-11-25 22:53             ` Hartmut Knaack
2014-11-27 15:08             ` Ezequiel Garcia [this message]
2014-11-27 15:08               ` Ezequiel Garcia
2014-11-27 15:16               ` Lars-Peter Clausen
2014-11-27 15:16                 ` Lars-Peter Clausen
2014-11-27 15:18                 ` Ezequiel Garcia
2014-11-27 15:18                   ` Ezequiel Garcia
2014-11-13 14:13 ` [PATCH v3 2/3] DT: iio: adc: Add CC_10001 binding documentation Ezequiel Garcia
2014-11-13 14:13   ` Ezequiel Garcia
2014-11-13 14:37   ` Rob Herring
2014-11-13 14:37     ` Rob Herring
2014-11-13 18:18     ` Ezequiel Garcia
2014-11-13 18:18       ` Ezequiel Garcia
2014-11-13 18:19   ` [PATCH v4 " Ezequiel Garcia
2014-11-13 18:19     ` Ezequiel Garcia
2014-11-13 14:14 ` [PATCH v3 3/3] DT: Add a vendor prefix for Cosmic Circuits Ezequiel Garcia
2014-11-13 14:14   ` Ezequiel Garcia
2014-11-13 14:34   ` Rob Herring
2014-11-13 14:34     ` Rob Herring
2014-11-13 14:14 ` [PATCH v3 0/3] iio: Add Cosmic Circuits ADC support Ezequiel Garcia
2014-11-13 14:14   ` Ezequiel Garcia
2014-11-13 19:10   ` Andrew Bresticker
2014-11-13 19:10     ` Andrew Bresticker

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=54773E63.4020300@imgtec.com \
    --to=ezequiel.garcia@imgtec.com \
    --cc=Mark.Rutland@arm.com \
    --cc=Naidu.Tellapati@imgtec.com \
    --cc=Pawel.Moll@arm.com \
    --cc=Phani.Movva@imgtec.com \
    --cc=abrestic@chromium.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=james.hartley@imgtec.com \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=robh+dt@kernel.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.