From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
Linux Doc Mailing List <linux-doc@vger.kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org,
linux-renesas-soc@vger.kernel.org, devel@driverdev.osuosl.org
Subject: Re: [PATCH v2 13/17] media: v4l2-async: simplify v4l2_async_subdev structure
Date: Mon, 18 Dec 2017 17:04:34 -0200 [thread overview]
Message-ID: <20171218170434.111c1e44@vento.lan> (raw)
In-Reply-To: <20170929220524.gsx3tmirdni2mhpx@valkosipuli.retiisi.org.uk>
Em Sat, 30 Sep 2017 01:05:24 +0300
Sakari Ailus <sakari.ailus@iki.fi> escreveu:
> Hi Mauro,
>
> (Removing the non-list recipients.)
>
> On Fri, Sep 29, 2017 at 06:27:13AM -0300, Mauro Carvalho Chehab wrote:
> > Em Thu, 28 Sep 2017 15:09:21 +0300
> > Sakari Ailus <sakari.ailus@iki.fi> escreveu:
> >
> > > Hi Mauro,
> > >
> > > On Wed, Sep 27, 2017 at 06:46:56PM -0300, Mauro Carvalho Chehab wrote:
> > > > The V4L2_ASYNC_MATCH_FWNODE match criteria requires just one
> > > > struct to be filled (struct fwnode_handle). The V4L2_ASYNC_MATCH_DEVNAME
> > > > match criteria requires just a device name.
> > > >
> > > > So, it doesn't make sense to enclose those into structs,
> > > > as the criteria can go directly into the union.
> > > >
> > > > That makes easier to document it, as we don't need to document
> > > > weird senseless structs.
> > >
> > > The idea is that in the union, there's a struct which is specific to the
> > > match_type field. I wouldn't call it senseless.
> >
> > Why a struct for each specific match_type is **needed**? It it is not
> > needed, then it is senseless per definition :-)
> >
> > In the specific case of fwnode, there's already a named struct
> > for fwnode_handle. The only thing is that it is declared outside
> > enum v4l2_async_match_type. So, I don't see any reason to do things
> > like:
> >
> > struct {
> > struct fwnode_handle *fwnode;
> > } fwnode;
> >
> > If you're in doubt about that, think on how would you document
> > both fwnode structs. Both fwnode structs specify the match
> > criteria if %V4L2_ASYNC_MATCH_FWNODE.
> >
> > The same applies to this:
> >
> > struct {
> > const char *name;
> > } device_name;
> >
> > Both device_name and name specifies the match criteria if
> > %V4L2_ASYNC_MATCH_DEVNAME.
> >
> > >
> > > In the two cases there's just a single field in the containing struct. You
> > > could remove the struct in that case as you do in this patch, and just use
> > > the field. But I think the result is less clean and so I wouldn't make this
> > > change.
> >
> > It is actually cleaner without the stucts.
> >
> > Without the useless struct, if one wants to match a firmware node, it
> > should be doing:
> >
> > pdata->asd[i]->match_type = V4L2_ASYNC_MATCH_FWNODE;
> > pdata->asd[i]->match.fwnode = of_fwnode_handle(rem);
>
> This code should be and will be moved out of drivers. See:
>
> <URL:http://www.spinics.net/lists/linux-media/msg122688.html>
>
> So there are going to be quite a bit fewer instances of it, and none should
> remain in drivers. I frankly don't have a strong opinion on this; there are
> arguments for and against. I just don't see a reason to change it.
There are still a few occurrences on drivers. Just rebased it.
I'll post it in a few, inside a new patch series.
Simplifying the name of the match rules makes easier to understand
what's going on.
Thanks,
Mauro
WARNING: multiple messages have this Message-ID (diff)
From: mchehab@infradead.org (Mauro Carvalho Chehab)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 13/17] media: v4l2-async: simplify v4l2_async_subdev structure
Date: Mon, 18 Dec 2017 17:04:34 -0200 [thread overview]
Message-ID: <20171218170434.111c1e44@vento.lan> (raw)
In-Reply-To: <20170929220524.gsx3tmirdni2mhpx@valkosipuli.retiisi.org.uk>
Em Sat, 30 Sep 2017 01:05:24 +0300
Sakari Ailus <sakari.ailus@iki.fi> escreveu:
> Hi Mauro,
>
> (Removing the non-list recipients.)
>
> On Fri, Sep 29, 2017 at 06:27:13AM -0300, Mauro Carvalho Chehab wrote:
> > Em Thu, 28 Sep 2017 15:09:21 +0300
> > Sakari Ailus <sakari.ailus@iki.fi> escreveu:
> >
> > > Hi Mauro,
> > >
> > > On Wed, Sep 27, 2017 at 06:46:56PM -0300, Mauro Carvalho Chehab wrote:
> > > > The V4L2_ASYNC_MATCH_FWNODE match criteria requires just one
> > > > struct to be filled (struct fwnode_handle). The V4L2_ASYNC_MATCH_DEVNAME
> > > > match criteria requires just a device name.
> > > >
> > > > So, it doesn't make sense to enclose those into structs,
> > > > as the criteria can go directly into the union.
> > > >
> > > > That makes easier to document it, as we don't need to document
> > > > weird senseless structs.
> > >
> > > The idea is that in the union, there's a struct which is specific to the
> > > match_type field. I wouldn't call it senseless.
> >
> > Why a struct for each specific match_type is **needed**? It it is not
> > needed, then it is senseless per definition :-)
> >
> > In the specific case of fwnode, there's already a named struct
> > for fwnode_handle. The only thing is that it is declared outside
> > enum v4l2_async_match_type. So, I don't see any reason to do things
> > like:
> >
> > struct {
> > struct fwnode_handle *fwnode;
> > } fwnode;
> >
> > If you're in doubt about that, think on how would you document
> > both fwnode structs. Both fwnode structs specify the match
> > criteria if %V4L2_ASYNC_MATCH_FWNODE.
> >
> > The same applies to this:
> >
> > struct {
> > const char *name;
> > } device_name;
> >
> > Both device_name and name specifies the match criteria if
> > %V4L2_ASYNC_MATCH_DEVNAME.
> >
> > >
> > > In the two cases there's just a single field in the containing struct. You
> > > could remove the struct in that case as you do in this patch, and just use
> > > the field. But I think the result is less clean and so I wouldn't make this
> > > change.
> >
> > It is actually cleaner without the stucts.
> >
> > Without the useless struct, if one wants to match a firmware node, it
> > should be doing:
> >
> > pdata->asd[i]->match_type = V4L2_ASYNC_MATCH_FWNODE;
> > pdata->asd[i]->match.fwnode = of_fwnode_handle(rem);
>
> This code should be and will be moved out of drivers. See:
>
> <URL:http://www.spinics.net/lists/linux-media/msg122688.html>
>
> So there are going to be quite a bit fewer instances of it, and none should
> remain in drivers. I frankly don't have a strong opinion on this; there are
> arguments for and against. I just don't see a reason to change it.
There are still a few occurrences on drivers. Just rebased it.
I'll post it in a few, inside a new patch series.
Simplifying the name of the match rules makes easier to understand
what's going on.
Thanks,
Mauro
next prev parent reply other threads:[~2017-12-18 19:04 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-27 21:46 [PATCH v2 00/17] V4L cleanups and documentation improvements Mauro Carvalho Chehab
2017-09-27 21:46 ` [PATCH v2 01/17] media: tuner-types: add kernel-doc markups for struct tunertype Mauro Carvalho Chehab
2017-09-27 21:46 ` [PATCH v2 02/17] media: v4l2-common: get rid of v4l2_routing dead struct Mauro Carvalho Chehab
2017-10-13 11:23 ` Laurent Pinchart
2017-10-13 13:24 ` Hans Verkuil
2017-12-18 14:11 ` Mauro Carvalho Chehab
2017-12-18 14:51 ` Sean Young
2017-09-27 21:46 ` [PATCH v2 03/17] media: v4l2-common: get rid of struct v4l2_discrete_probe Mauro Carvalho Chehab
2017-10-13 11:21 ` Laurent Pinchart
2017-10-13 13:27 ` Hans Verkuil
2017-09-27 21:46 ` [PATCH v2 04/17] media: v4l2-common.h: document ancillary functions Mauro Carvalho Chehab
2017-10-13 11:30 ` Laurent Pinchart
2017-10-13 13:31 ` Hans Verkuil
2017-09-27 21:46 ` [PATCH v2 05/17] media: v4l2-device.h: document ancillary macros Mauro Carvalho Chehab
2017-10-13 12:33 ` Laurent Pinchart
2017-12-18 14:58 ` Mauro Carvalho Chehab
2017-10-13 15:31 ` Hans Verkuil
2017-09-27 21:46 ` [PATCH v2 06/17] media: v4l2-dv-timings.h: convert comment into kernel-doc markup Mauro Carvalho Chehab
2017-10-13 12:34 ` Laurent Pinchart
2017-10-13 15:31 ` Hans Verkuil
2017-09-27 21:46 ` [PATCH v2 07/17] media: v4l2-event.rst: improve events description Mauro Carvalho Chehab
2017-09-28 12:34 ` Sakari Ailus
2017-10-13 15:40 ` Hans Verkuil
2017-09-27 21:46 ` [PATCH v2 08/17] media: v4l2-ioctl.h: convert debug macros into enum and document Mauro Carvalho Chehab
2017-10-13 12:38 ` Laurent Pinchart
2017-12-18 15:13 ` Mauro Carvalho Chehab
2017-12-18 15:32 ` Laurent Pinchart
2017-12-18 22:21 ` Mauro Carvalho Chehab
2017-10-13 15:41 ` Hans Verkuil
2017-09-27 21:46 ` [PATCH v2 09/17] media: cec-pin.h: convert comments for cec_pin_state into kernel-doc Mauro Carvalho Chehab
2017-10-13 15:48 ` Hans Verkuil
2017-10-13 20:16 ` Mauro Carvalho Chehab
2017-09-27 21:46 ` [PATCH v2 10/17] media: rc-core.rst: add an introduction for RC core Mauro Carvalho Chehab
2017-09-27 21:46 ` [PATCH v2 11/17] media: rc-core.h: minor adjustments at rc_driver_type doc Mauro Carvalho Chehab
2017-09-27 21:46 ` [PATCH v2 12/17] media: v4l2-fwnode.h: better describe bus union at fwnode endpoint struct Mauro Carvalho Chehab
2017-09-28 12:15 ` Sakari Ailus
2017-10-13 12:42 ` Laurent Pinchart
2017-09-27 21:46 ` [PATCH v2 13/17] media: v4l2-async: simplify v4l2_async_subdev structure Mauro Carvalho Chehab
2017-09-27 21:46 ` Mauro Carvalho Chehab
2017-09-27 21:46 ` Mauro Carvalho Chehab
2017-09-28 9:06 ` Sylwester Nawrocki
2017-09-28 9:06 ` Sylwester Nawrocki
2017-09-28 12:09 ` Sakari Ailus
2017-09-28 12:09 ` Sakari Ailus
2017-09-28 12:09 ` Sakari Ailus
2017-09-29 9:27 ` Mauro Carvalho Chehab
2017-09-29 9:27 ` Mauro Carvalho Chehab
2017-09-29 9:27 ` Mauro Carvalho Chehab
2017-09-29 22:05 ` Sakari Ailus
2017-09-29 22:05 ` Sakari Ailus
2017-12-18 19:04 ` Mauro Carvalho Chehab [this message]
2017-12-18 19:04 ` Mauro Carvalho Chehab
2017-09-28 12:53 ` [RESEND PATCH " Sakari Ailus
2017-09-28 12:53 ` Sakari Ailus
2017-09-27 21:46 ` [PATCH v2 14/17] media: v4l2-async: better describe match union at async match struct Mauro Carvalho Chehab
2017-10-13 12:49 ` Laurent Pinchart
2017-12-18 19:10 ` Mauro Carvalho Chehab
2017-09-27 21:46 ` [PATCH v2 15/17] media: v4l2-ctrls: document nested members of structs Mauro Carvalho Chehab
2017-10-13 12:54 ` Laurent Pinchart
2017-09-27 21:46 ` [PATCH v2 16/17] media: videobuf2-core: improve kernel-doc markups Mauro Carvalho Chehab
2017-09-29 12:04 ` Marek Szyprowski
2017-09-27 21:47 ` [PATCH v2 17/17] media: media-entity.h: add kernel-doc markups for nested structs Mauro Carvalho Chehab
2017-09-28 12:50 ` [PATCH v2 00/17] V4L cleanups and documentation improvements Sakari Ailus
2017-09-28 12:53 ` [RESEND PATCH v2 13/17] media: v4l2-async: simplify v4l2_async_subdev structure Mauro Carvalho Chehab
2017-09-28 12:53 ` Mauro Carvalho Chehab
2017-09-28 12:53 ` Mauro Carvalho Chehab
2017-09-28 13:02 ` Sylwester Nawrocki
2017-09-28 13:02 ` Sylwester Nawrocki
2017-09-28 13:27 ` Sakari Ailus
2017-09-28 13:27 ` Sakari Ailus
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=20171218170434.111c1e44@vento.lan \
--to=mchehab@infradead.org \
--cc=devel@driverdev.osuosl.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=sakari.ailus@iki.fi \
/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.