All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] [RFC] FM Transmitter (si4713) and another changes
@ 2009-05-11  9:31 Eduardo Valentin
  2009-05-11  9:31 ` [PATCH v2 1/7] v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls Eduardo Valentin
  2009-05-12  7:03 ` [PATCH v2 0/7] [RFC] FM Transmitter (si4713) and another changes Hans Verkuil
  0 siblings, 2 replies; 24+ messages in thread
From: Eduardo Valentin @ 2009-05-11  9:31 UTC (permalink / raw)
  To: Hans Verkuil
  Cc: linux-media, Nurkkala Eero.An (EXT-Offcode/Oulu), Eduardo Valentin

Hello all,

It took a few but I'm resending the FM transmitter driver again.
Sorry for this delay, but I had another things to give attention.

Anyway, after reading the API and re-writing the code I came up
with the following 7 patches. Three of them are in the v4l2 API.
The other 4 are for the si4713 device.

It is because of the first 3 patches that I'm sending this as a RFC.

The first and second patches, as suggested before, are creating another
v4l2 extended controls class, the V4L2_CTRL_CLASS_FMTX. At this
first interaction, I've put all si4713 device extra properties there.
But I think that some of the can be moved to private class (V4L2_CID_PRIVATE_BASE).
That's the case of the region related things. Comments are wellcome.

The third patch came *maybe* because I've misunderstood something. But
I realized that the v4l2-subdev helper functions for I2C devices assumes
that the bridge device will create an I2C adaptor. And in that case, only
I2C address and its type are suffient. But in this case, makes no sense
to me to create an adaptor for the si4713 platform device driver. This is
the case where the device (si4713) is connected to an existing adaptor.
That's why I've realized that currently there is no way to pass I2C board info
using the current v4l2 I2C helper functions. Other info like irq line and
platform data are not passed to subdevices. So, that's why I've created
that patch.

The remaining patches are the si4713 device driver itself. As suggested,
I've splited the driver into i2c driver and v4l2 radio driver. The first
one is exporting it self as a v4l2 subdev as well. Now it is composed by
the si4713.c and si4713-subdev.c. But in the future versions I think I'll
merge both and remove the si4713.c (by reducing lots of things), because
it was mainly designed to be used by the sysfs interface. I've also keeped
the sysfs interface (besides the extended control interface). The v4l2 radio
driver became a platform driver which is mainly a wrapper to the I2C subdevice.
Again here I've found some problem with the device remove. Because, as the
I2C helper function assumes the bridge device will create an adaptor, then
when the bridge removes the adaptor, its devices will be removed as well.
So, when re-inserting the driver, registration will be good. However, if
we use an existing adaptor, then we need to remove the i2c client manually.
Otherwise it will fail when re-inserting the device.

As I said before, comments are wellcome. I'm mostly to be misunderstanding something
from the API.

BR,

Eduardo Valentin (7):
  v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls
  v4l2: video device: Add FMTX controls default configurations
  v4l2_subdev i2c: Add i2c board info to v4l2_i2c_new_subdev
  FMTx: si4713: Add files to handle si4713 i2c device
  FMTx: si4713: Add files to add radio interface for si4713
  FMTx: si4713: Add Kconfig and Makefile entries
  FMTx: si4713: Add document file

 Documentation/video4linux/si4713.txt |  132 ++
 drivers/media/radio/Kconfig          |   22 +
 drivers/media/radio/Makefile         |    3 +
 drivers/media/radio/radio-si4713.c   |  345 ++++++
 drivers/media/radio/radio-si4713.h   |   48 +
 drivers/media/radio/si4713-subdev.c  | 1045 ++++++++++++++++
 drivers/media/radio/si4713.c         | 2250 ++++++++++++++++++++++++++++++++++
 drivers/media/radio/si4713.h         |  295 +++++
 drivers/media/video/v4l2-common.c    |   99 ++-
 include/linux/videodev2.h            |   45 +
 include/media/v4l2-common.h          |    6 +
 11 files changed, 4284 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/video4linux/si4713.txt
 create mode 100644 drivers/media/radio/radio-si4713.c
 create mode 100644 drivers/media/radio/radio-si4713.h
 create mode 100644 drivers/media/radio/si4713-subdev.c
 create mode 100644 drivers/media/radio/si4713.c
 create mode 100644 drivers/media/radio/si4713.h


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2009-05-13  6:01 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-11  9:31 [PATCH v2 0/7] [RFC] FM Transmitter (si4713) and another changes Eduardo Valentin
2009-05-11  9:31 ` [PATCH v2 1/7] v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls Eduardo Valentin
2009-05-11  9:31   ` [PATCH v2 2/7] v4l2: video device: Add FMTX controls default configurations Eduardo Valentin
2009-05-11  9:31     ` [PATCH v2 3/7] v4l2_subdev i2c: Add i2c board info to v4l2_i2c_new_subdev Eduardo Valentin
2009-05-11  9:31       ` [PATCH v2 4/7] FMTx: si4713: Add files to handle si4713 i2c device Eduardo Valentin
2009-05-11  9:31         ` [PATCH v2 5/7] FMTx: si4713: Add files to add radio interface for si4713 Eduardo Valentin
2009-05-11  9:31           ` [PATCH v2 6/7] FMTx: si4713: Add Kconfig and Makefile entries Eduardo Valentin
2009-05-11  9:31             ` [PATCH v2 7/7] FMTx: si4713: Add document file Eduardo Valentin
2009-05-12  5:15         ` [PATCH v2 4/7] FMTx: si4713: Add files to handle si4713 i2c device Eero Nurkkala
2009-05-12  5:22           ` Eero Nurkkala
2009-05-12  6:08             ` Eero Nurkkala
2009-05-12  2:12   ` [PATCH v2 1/7] v4l2: video device: Add V4L2_CTRL_CLASS_FMTX controls Mauro Carvalho Chehab
2009-05-12  6:12     ` Eduardo Valentin
2009-05-12  2:17   ` Mauro Carvalho Chehab
2009-05-12  6:10     ` Eduardo Valentin
2009-05-12  6:26       ` Hans Verkuil
2009-05-12 10:29         ` Mauro Carvalho Chehab
2009-05-13  5:55           ` Eduardo Valentin
2009-05-12  9:53       ` Mauro Carvalho Chehab
2009-05-12  4:49   ` Eero Nurkkala
2009-05-12  6:05     ` Eduardo Valentin
2009-05-12  7:03 ` [PATCH v2 0/7] [RFC] FM Transmitter (si4713) and another changes Hans Verkuil
2009-05-12  7:33   ` Eduardo Valentin
2009-05-12  7:35     ` Eduardo Valentin

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.