ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: "ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [CORE TOPIC] Reviewing new API/ABI
Date: Wed, 07 May 2014 15:50:46 +0200	[thread overview]
Message-ID: <536A3A36.90701@xs4all.nl> (raw)
In-Reply-To: <2168265.ezyDqFgGPA@avalon>

On 05/07/14 15:30, Laurent Pinchart wrote:
> On Wednesday 07 May 2014 14:36:27 Daniel Vetter wrote:
>> On Wed, May 7, 2014 at 12:12 PM, Laurent Pinchart wrote:
>>> We have seen several review, test and documentation procedures being
>>> developed for different subsystems in the recent past (two examples are
>>> the DRM i915 driver API test rules explained by Daniel Vetter in a reply
>>> to this mail thread, and the V4L test suite and documentation procedure)
>>> but I have seen little effort to consolidate good practice rules. The
>>> kernel would certainly benefit from both sharing information about how
>>> various subsystems tackle the API review/test/documentation problem.
>>>
>>> Forcing all subsystems to adhere and enforce a superset of rules would
>>> likely put too much burden on maintainers and developers, especially for
>>> the smaller subsystems. However, I believe we could help by gathering and
>>> consolidating the good practice rules in a single location under
>>> Documentation/. Maintainers could then implement those rules (or a subset
>>> thereof) without having to reinvent the wheel. Rules such as "return
>>> -EINVAL when a reserved parameter is set" are not complex to implement in
>>> code, the real challenge is to implement them in the brain of all
>>> developers and reviewers.
>>
>> I'd be very interested in a discussions about existing best practices
>> already developed in different subsystems and figuring out what
>> minimal standards we should requires across the board.
> 
> So would I. The same topic is being discussed in the "stable issues" mail 
> thread, it thus looks like a good candidate to me. On the V4L side Hans 
> Verkuil (CC'ed) would likely be interested as a core V4L reviewer and 
> userspace test case developer.
> 

Absolutely. I've done a lot of work in that area. The V4L API is very large,
and without compliance tools it is almost impossible to write a faultless
driver. We now have about 95% coverage of the whole API and these days it is
a requirement of new drivers that they pass the test suite, otherwise I
will reject them.

And the flip-side of that is to provide applications with good test drivers
so they can test their application without requiring hard-to-get hardware
if they want to test support for features that are not commonly found.

I developed a very nice test driver for that. It needs a bit more work before
I can upstream it, though.

My experience with creating these tools is that they force you to take a
very critical look at the API. Any ambiguities you missed tend to be exposed
by creating these compliance tests.

Regards,

	Hans

  reply	other threads:[~2014-05-07 14:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-06 17:45 Andy Lutomirski
2014-05-06 17:58 ` josh
2014-05-06 19:12   ` Shuah Khan
2014-05-06 19:16     ` Andy Lutomirski
2014-05-06 19:37       ` Shuah Khan
2014-05-06 19:21   ` Johannes Berg
2014-05-06 19:43     ` Andy Lutomirski
2014-05-06 19:48       ` Johannes Berg
2014-05-06 19:51         ` Andy Lutomirski
2014-05-06 19:45     ` josh
2014-05-06 20:10     ` Daniel Vetter
2014-05-06 20:13       ` Andy Lutomirski
2014-05-07 10:12     ` Laurent Pinchart
2014-05-07 12:36       ` Daniel Vetter
2014-05-07 13:30         ` Laurent Pinchart
2014-05-07 13:50           ` Hans Verkuil [this message]
2014-05-12 14:15         ` Wolfram Sang
2014-05-07 17:48   ` Michael Kerrisk (man-pages)
2014-05-06 19:00 ` Greg KH
2014-05-06 20:07   ` Steven Rostedt
2014-05-06 20:34     ` Josh Triplett
2014-05-06 20:42       ` Steven Rostedt
2014-05-06 21:00         ` josh
2014-05-07 11:48       ` Jiri Kosina
2014-05-08  6:35         ` Li Zefan
2014-05-12  6:37           ` Jiri Kosina
2014-05-07  6:27   ` Michael Kerrisk (man-pages)
2014-05-06 19:57 ` Dan Carpenter
2014-05-08 18:15   ` Randy Dunlap
2014-05-09 11:33 ` Jeff Layton
2014-05-09 11:50   ` Michael Kerrisk (man-pages)

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=536A3A36.90701@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=daniel.vetter@ffwll.ch \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=laurent.pinchart@ideasonboard.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox