From: Hans Verkuil <hverkuil@xs4all.nl>
To: Ismael Luceno <ismael@iodev.co.uk>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH 2/2] solo6x10: Simplify solo_enum_ext_input
Date: Wed, 4 May 2016 13:50:57 +0200 [thread overview]
Message-ID: <5729E221.6040708@xs4all.nl> (raw)
In-Reply-To: <20160504114244.GA9208@pirotess.lan>
On 05/04/2016 01:42 PM, Ismael Luceno wrote:
> On 04/Mai/2016 10:02, Hans Verkuil wrote:
>> Hi Ismael,
>>
>> On 04/30/2016 05:17 AM, Ismael Luceno wrote:
>>> Additionally, now it specifies which channels it's showing.
>>>
>>> Signed-off-by: Ismael Luceno <ismael@iodev.co.uk>
>>> ---
>>> drivers/media/pci/solo6x10/solo6x10-v4l2.c | 27 +++++++++------------------
>>> 1 file changed, 9 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
>>> index 721ff53..935c1b6 100644
>>> --- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c
>>> +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
>>> @@ -386,26 +386,17 @@ static int solo_querycap(struct file *file, void *priv,
>>> static int solo_enum_ext_input(struct solo_dev *solo_dev,
>>> struct v4l2_input *input)
>>> {
>>> - static const char * const dispnames_1[] = { "4UP" };
>>> - static const char * const dispnames_2[] = { "4UP-1", "4UP-2" };
>>> - static const char * const dispnames_5[] = {
>>> - "4UP-1", "4UP-2", "4UP-3", "4UP-4", "16UP"
>>> - };
>>> - const char * const *dispnames;
>>> -
>>> - if (input->index >= (solo_dev->nr_chans + solo_dev->nr_ext))
>>> - return -EINVAL;
>>> -
>>> - if (solo_dev->nr_ext == 5)
>>> - dispnames = dispnames_5;
>>> - else if (solo_dev->nr_ext == 2)
>>> - dispnames = dispnames_2;
>>> - else
>>> - dispnames = dispnames_1;
>>> + int ext = input->index - solo_dev->nr_chans;
>>> + unsigned int nup, first;
>>>
>>> - snprintf(input->name, sizeof(input->name), "Multi %s",
>>> - dispnames[input->index - solo_dev->nr_chans]);
>>> + if (ext >= solo_dev->nr_ext)
>>> + return -EINVAL;
>>>
>>> + nup = (ext == 4) ? 16 : 4;
>>> + first = (ext & 3) << 2;
>>> + snprintf(input->name, sizeof(input->name),
>>> + "Multi %d-up (cameras %d-%d)",
>>> + nup, first + 1, first + nup);
>>
>> Shouldn't this be: nup, first + 1, nup);
>>
>> Now it displays cameras as 1-5, 2-6, 3-7, 4-8 if I am not mistaken.
>
> Hi Hans.
>
> The var "first" takes the values {0, 4, 8, 12}, so the code is correct,
> it displays: 1-4, 5-8, 9-12, 13-16, or 1-16.
Ah, now I see what you do. Can you add a little comment here? For example:
/* Construct the text: cameras 1-4, 5-8, 9-12, 13-16, or 1-16 */
It's a bit obfuscated otherwise.
Thanks!
Hans
next prev parent reply other threads:[~2016-05-04 11:51 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-30 3:17 [PATCH 1/2] solo6x10: Set FRAME_BUF_SIZE to 200KB Ismael Luceno
2016-04-30 3:17 ` [PATCH 2/2] solo6x10: Simplify solo_enum_ext_input Ismael Luceno
2016-05-04 8:02 ` Hans Verkuil
2016-05-04 11:42 ` Ismael Luceno
2016-05-04 11:50 ` Hans Verkuil [this message]
2016-05-04 13:34 ` [PATCH 1/2] solo6x10: Set FRAME_BUF_SIZE to 200KB Andrey Utkin
2016-05-04 14:04 ` Hans Verkuil
2016-05-04 14:22 ` Andrey Utkin
2016-05-04 15:09 ` Ismael Luceno
2016-05-04 15:41 ` Hans Verkuil
2016-05-04 14:53 ` Ismael Luceno
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=5729E221.6040708@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=ismael@iodev.co.uk \
--cc=linux-media@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox