Re: [PATCHv7 0/9] FM Transmitter (si4713) and another changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

On Sun, Jun 14, 2009 at 01:37:20PM +0200, ext Hans Verkuil wrote:
> On Friday 12 June 2009 19:30:31 Eduardo Valentin wrote:
> > Hello all,
> > 
> >   I'm resending the FM transmitter driver and the proposed changes in
> > v4l2 api files in order to cover the fmtx extended controls class.
> > 
> >   Difference from version #6 is that now I've added added lots of comments
> > made by Hans. Here is a list of changes:
> > - Reduce card type string
> > - Remove unused ext controls
> > - Remove s/g_audio and add s/g_audout and enumaudout
> > - remove g/s_input
> > - remove s/g_tuner and add s/g_modulator on subdev and platform driver
> > - reduce function names
> > - Update documentation
> > - remove a few unused and empty lines
> > - remove sysfs interface
> > - rename dev_to_v4l2 to si4713_to_v4l2 (and vice-versa) macros
> > - Remove disabled controls
> > - Add string support
> > - remove v4l2_i2c_driver_data
> > - Join si4713.c with si4713-subdev.c
> > - move platform data to include/media
> > - update documentation
> > 
> > And now this series is based on two of Hans' trees:
> > http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-subdev2.
> > http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-str.
> > 
> > The first tree has refactoring of v4l2 i2c helper functions. The second
> > one has string support for extended controls, which is used in this driver.
> > 
> >   So, now the series includes changes to add the new v4l2
> > FMTX extended controls (and its documetation) and si4713 i2c and platform
> > drivers (and its documentation as well). Besides that, there is also
> > a patch to add g_modulator to v4l2-subdev and a patch to add support
> > for fm tx class in v4l2-ctl util.
> > 
> >   In the TODO list there are two things:
> > i. the signal level measurement property is missing.
> > ii. Re-factor the driver so all that get/set internal functions are removed.
> > 
> >   I believe those TODO's can be done later on, if there is still time to get
> > this driver merged into this window. But of course, this is my opinion,
> > I will understand also if you ask to do them before merge it.
> 
> I think the refactoring should be done first. I don't believe it is that much
> work and experience shows that it is better to do this right away while you are
> still motivated :-)

hehehe.. Yes, that's what I was expecting :-). No problem. I've started it.
I will resend the series once I've completed the re-factoring and
I 've made some testing after that. I hope tomorrow or so.

> 
> The string control support should not go into 2.6.31. I would like to do that
> only in the v4l-dvb tree (so it will appear in 2.6.32) since I want to give that
> a bit more time to mature. I implemented it very quickly and I do not feel
> comfortable queueing this for 2.6.31.
> 

Right. Yes, better to test the stuff a bit more.

> In addition it is still unclear if Mauro will merge my v4l-dvb-subdev2 tree for
> 2.6.31. I hope so, since otherwise it will hamper the development of this and
> other embedded platforms.

Ok.

> 
> I also need to add a new V4L2_CAP_MODULATOR (which needs a review as well).
> 
> And finally I realized that we need to add some v4l2_modulator capabilities
> for the RDS encoder similar to the upcoming v4l2_tuner RDS capabilities as
> is described in this RFC:
> 
> http://www.mail-archive.com/linux-media%40vger.kernel.org/msg02498.html
> 
> I haven't had time to implement this RFC and I know that is not going to make
> 2.6.31. It's now almost at the top of my TODO list, so it should go in soon
> (pending unforeseen circumstances).

Ok. I'll take a look at it.

> 
> As a result of rereading this RFC I also started to wonder about whether
> the si4713 supports the MMBS functionality. Do you know anything about that?

No. Not that I know. Can you point some link?

> 
> Taken all together I think that 2.6.31 is probably not feasible. If it was
> another two weeks until the merge window, then it would. But the merge window
> is already open, and there are just too many little TODOs for this driver. And
> it's also a new API, so we need to be more careful than usual.

Yes. Sure.

> 
> Regards,
> 
> 	Hans
> 
> > 
> >   With these series, the driver is now functional through the v4l2 extended
> > controls changes. Here is an output of v4l2-ctl:
> >  # v4l2-ctl -d /dev/radio0 -l --all
> > Driver Info:
> >         Driver name   : radio-si4713
> >         Card type     : Silicon Labs Si4713 Modulator
> >         Bus info      : 
> >         Driver version: 0
> >         Capabilities  : 0x00080000
> >                 Modulator
> > Audio output: 0 (FM Modulator Audio Out)
> > Frequency: 1552000 (97000.000000 MHz)
> > Video Standard = 0x00000000
> > Modulator:
> >         Name                 : FM Modulator
> >         Capabilities         : 62.5 Hz stereo 
> >         Frequency range      : 76.0 MHz - 108.0 MHz
> >         Available subchannels: mono stereo 
> > 
> > User Controls
> > 
> >                            mute (bool) : default=1 value=0
> > 
> > FM Radio Modulator Controls
> > 
> >             rds_feature_enabled (bool) : default=1 value=1
> >                  rds_program_id (int)  : min=0 max=65535 step=1 default=0 value=0
> >                rds_program_type (int)  : min=0 max=31 step=1 default=0 value=0
> >                     rds_ps_name (str)  : value='Si4713  ' len=8
> > ' len=9          rds_radio_text (str)  : value='Si4713  
> >   audio_limiter_feature_enabled (bool) : default=1 value=1
> >      audio_limiter_release_time (int)  : min=250 max=102390 step=50 default=5010 value=5010 flags=slider
> >         audio_limiter_deviation (int)  : min=0 max=90000 step=10 default=66250 value=66250 flags=slider
> > audio_compression_feature_enabl (bool) : default=1 value=1
> >          audio_compression_gain (int)  : min=0 max=20 step=1 default=15 value=15 flags=slider
> >     audio_compression_threshold (int)  : min=-40 max=0 step=1 default=-40 value=-40 flags=slider
> >   audio_compression_attack_time (int)  : min=0 max=5000 step=500 default=0 value=2000 flags=slider
> >  audio_compression_release_time (int)  : min=100000 max=1000000 step=100000 default=1000000 value=1000000 flags=slider
> >      pilot_tone_feature_enabled (bool) : default=1 value=1
> >            pilot_tone_deviation (int)  : min=0 max=90000 step=10 default=6750 value=6750 flags=slider
> >            pilot_tone_frequency (int)  : min=0 max=19000 step=1 default=19000 value=19000 flags=slider
> >           pre_emphasis_settings (menu) : min=0 max=2 default=1 value=1
> >                tune_power_level (int)  : min=0 max=120 step=1 default=88 value=120 flags=slider
> >          tune_antenna_capacitor (int)  : min=0 max=191 step=1 default=0 value=68 flags=slider
> > 
> > 
> >   Again, comments are welcome.
> > 
> > BR,
> > 
> > Eduardo Valentin (9):
> >   v4l2-subdev.h: Add g_modulator callbacks to subdev api
> >   v4l2: video device: Add V4L2_CTRL_CLASS_FM_TX controls
> >   v4l2: video device: Add FM_TX controls default configurations
> >   v4l2-ctl: Add support for FM TX controls
> >   v4l2-spec: Add documentation description for FM TX extended control
> >     class
> >   FMTx: si4713: Add files to add radio interface for si4713
> >   FMTx: si4713: Add files to handle si4713 i2c device
> >   FMTx: si4713: Add Kconfig and Makefile entries
> >   FMTx: si4713: Add document file
> > 
> >  linux/Documentation/video4linux/si4713.txt |  137 ++
> >  linux/drivers/media/radio/Kconfig          |   22 +
> >  linux/drivers/media/radio/Makefile         |    2 +
> >  linux/drivers/media/radio/radio-si4713.c   |  325 ++++
> >  linux/drivers/media/radio/si4713-i2c.c     | 2813 ++++++++++++++++++++++++++++
> >  linux/drivers/media/radio/si4713-i2c.h     |  226 +++
> >  linux/drivers/media/video/v4l2-common.c    |   50 +
> >  linux/include/linux/videodev2.h            |   34 +
> >  linux/include/media/si4713.h               |   40 +
> >  linux/include/media/v4l2-subdev.h          |    2 +
> >  v4l2-apps/util/v4l2-ctl.cpp                |   36 +
> >  v4l2-spec/Makefile                         |    1 +
> >  v4l2-spec/biblio.sgml                      |   10 +
> >  v4l2-spec/controls.sgml                    |  205 ++
> >  14 files changed, 3903 insertions(+), 0 deletions(-)
> >  create mode 100644 linux/Documentation/video4linux/si4713.txt
> >  create mode 100644 linux/drivers/media/radio/radio-si4713.c
> >  create mode 100644 linux/drivers/media/radio/si4713-i2c.c
> >  create mode 100644 linux/drivers/media/radio/si4713-i2c.h
> >  create mode 100644 linux/include/media/si4713.h
> > 
> > 
> > 
> 
> 
> 
> -- 
> Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

-- 
Eduardo Valentin
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux