From: hverkuil@xs4all.nl (Hans Verkuil)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] [media] cec: Move capability check inside #if
Date: Tue, 4 Apr 2017 14:58:08 +0200 [thread overview]
Message-ID: <d4160e53-3410-5eb9-8378-932ec0aef463@xs4all.nl> (raw)
In-Reply-To: <20170404125409.ay5yszwdkdxb6nvx@dell>
On 04/04/2017 02:54 PM, Lee Jones wrote:
> On Tue, 04 Apr 2017, Hans Verkuil wrote:
>
>> On 04/04/2017 02:32 PM, Lee Jones wrote:
>>> If CONFIG_RC_CORE is not enabled then none of the RC code will be
>>> executed anyway, so we're placing the capability check inside the
>>>
>>> Signed-off-by: Lee Jones <lee.jones@linaro.org>
>>> ---
>>> drivers/media/cec/cec-core.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/media/cec/cec-core.c b/drivers/media/cec/cec-core.c
>>> index 37217e2..06a312c 100644
>>> --- a/drivers/media/cec/cec-core.c
>>> +++ b/drivers/media/cec/cec-core.c
>>> @@ -234,10 +234,10 @@ struct cec_adapter *cec_allocate_adapter(const struct cec_adap_ops *ops,
>>> return ERR_PTR(res);
>>> }
>>>
>>> +#if IS_REACHABLE(CONFIG_RC_CORE)
>>> if (!(caps & CEC_CAP_RC))
>>> return adap;
>>>
>>> -#if IS_REACHABLE(CONFIG_RC_CORE)
>>> /* Prepare the RC input device */
>>> adap->rc = rc_allocate_device(RC_DRIVER_SCANCODE);
>>> if (!adap->rc) {
>>>
>>
>> Not true, there is an #else further down.
>
> I saw the #else. It's inert code that becomes function-less.
No, it isn't. It clears the CAP_RC bit so it isn't returned in the CEC_ADAP_G_CAPS ioctl.
Drivers set this cap bit if they want RC support (they typically want it), but if the
config option isn't there then the capability should be removed.
Regards,
Hans
>
>> That said, this code is clearly a bit confusing.
>>
>> It would be better if at the beginning of the function we'd have this:
>>
>> #if !IS_REACHABLE(CONFIG_RC_CORE)
>> caps &= ~CEC_CAP_RC;
>> #endif
>>
>> and then drop the #else bit and (as you do in this patch) move the #if up.
>>
>> Can you make a new patch for this?
>
> Sure.
>
next prev parent reply other threads:[~2017-04-04 12:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-04 12:32 [PATCH 1/2] [media] cec: Move capability check inside #if Lee Jones
2017-04-04 12:32 ` [PATCH 2/2] [media] cec: Fix runtime BUG when (CONFIG_RC_CORE && !CEC_CAP_RC) Lee Jones
2017-04-04 12:41 ` Hans Verkuil
2017-04-04 12:55 ` Lee Jones
2017-04-04 12:39 ` [PATCH 1/2] [media] cec: Move capability check inside #if Hans Verkuil
2017-04-04 12:54 ` Lee Jones
2017-04-04 12:58 ` Hans Verkuil [this message]
2017-04-04 13:01 ` Lee Jones
2017-04-04 13:14 ` Hans Verkuil
2017-04-04 13:30 ` Lee Jones
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=d4160e53-3410-5eb9-8378-932ec0aef463@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox