From: Mauro Carvalho Chehab <mchehab@infradead.org>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: "Figo.zhang" <figo1802@gmail.com>,
linux-media@vger.kernel.org, mark@alpha.dyndns.org,
cpbotha@ieee.org, kraxel@bytesex.org, claudio@conectiva.com
Subject: Re: [PATCH] ov511.c: video_register_device() return zero on success
Date: Thu, 11 Jun 2009 08:32:46 -0300 [thread overview]
Message-ID: <20090611083246.1fec72dc@pedra.chehab.org> (raw)
In-Reply-To: <200906110836.01379.hverkuil@xs4all.nl>
Em Thu, 11 Jun 2009 08:36:00 +0200
Hans Verkuil <hverkuil@xs4all.nl> escreveu:
> Since I made that change I'm willing to look at this. Some comments definitely
> need improving at the least.
Thanks! Since the behavior changed, it is important to better document it.
> Also ivtv and cx18 rely on the current behavior,
> so any changes need to be done carefully.
>
> But one question first: isn't the current approach not better anyway than the
> old approach? In the past device creation would fail if you specified an
> explicit device kernel number that was already in use. Now it will attempt
> to fulfill the request and skip to the next free number otherwise. Seems a
> pretty good approach to me.
Well, the idea of not failing due to that is interesting. Yet, those force
parameters are provided to avoid that a different modprobe order would change
the device nodes. By doing something different than requested by the users without
even warning them about that doesn't sound nice. At least a KERN_ERR log
should be printed if the selected nr is different than the requested one.
In the specific case of ov511, however, it caused a regression, since the used
logic to get the next value of the array were based on the failure of
video_register_device(). As it doesn't fail anymore, the current logic is broken.
> There haven't been any complaints about this (probably also because nobody is
> using it).
>
> Let me know what you want and I can implement it. It's not that hard.
IMO, what should be done:
1) better comment the function;
2) generate a KERN_ERR at v4l2-dev, if the requested nr is not available;
3) replace ov511 logic to restore the old behavior (or improve it a little bit);
4) double check if similar regressions are present on other drivers. Since
ov511 is an old driver, I don't doubt that its logic is duplicated on other
devices.
Since ov511 is used for an usb device, extra care should be taken, since it
should be considered the possibility of successive hot plug/unplug. I wrote an
interesting logic for this at em28xx driver, that can be used as an alternative
to the current logic
Cheers,
Mauro
next prev parent reply other threads:[~2009-06-11 11:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-31 6:41 [PATCH] ov511.c: video_register_device() return zero on success Figo.zhang
2009-06-11 1:39 ` Mauro Carvalho Chehab
2009-06-11 4:40 ` Mauro Carvalho Chehab
2009-06-11 6:36 ` Hans Verkuil
2009-06-11 11:32 ` Mauro Carvalho Chehab [this message]
2009-06-11 6:39 ` Figo.zhang
2009-06-11 22:51 ` Mauro Carvalho Chehab
-- strict thread matches above, loose matches on Subject: below --
2009-06-11 11:51 Hans Verkuil
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=20090611083246.1fec72dc@pedra.chehab.org \
--to=mchehab@infradead.org \
--cc=claudio@conectiva.com \
--cc=cpbotha@ieee.org \
--cc=figo1802@gmail.com \
--cc=hverkuil@xs4all.nl \
--cc=kraxel@bytesex.org \
--cc=linux-media@vger.kernel.org \
--cc=mark@alpha.dyndns.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