On Tue, Jun 19, 2012 at 12:33 PM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > Hi, > > > On 06/19/2012 06:47 PM, Hans de Goede wrote: >> >> Hi, >> >> <snip long discussion about having a fixed set of bands versus >> a way to enumerate bands, including their rangelow, rangehigh >> and capabilities> >> >> Ok, you've convinced me. I agree that having a way to actually >> enumerate ranges, rather then having a fixed set of ranges, is >> better. >> >> Which brings us back many weeks to the proposal for making >> it possible to enumerate bands on radio devices. Rather >> then digging up the old mails lets start anew, I propose >> the following API for this: >> >> 1. A radio device can have multiple tuners, but only 1 can >> be active (streaming audio to the associated audio input) >> at the same time. >> >> 2. Radio device tuners are enumerated by calling G_TUNER >> with an increasing index until EINVAL gets returned >> >> 3. G_FREQUENCY will always return the frequency and index >> of the currently active tuner >> >> 4. When calling S_TUNER on a radio device, the active >> tuner will be set to the v4l2_tuner index field >> >> 5. When calling S_FREQUENCY on a radio device, the active >> tuner will be set to the v4l2_frequency tuner field >> >> 6. On a G_TUNER call on a radio device the rxsubchans, >> audmode, signal and afc v4l2_tuner fields are only >> filled on for the active tuner (as returned by >> G_FREQUENCY) for inactive tuners these fields are reported >> as 0. > > > p.s. > > I forgot: > > 7. When calling VIDIOC_S_HW_FREQ_SEEK on a radio device, the active > tuner will be set to the v4l2_hw_freq_seek tuner field > > 8. When changing the active tuner with S_TUNER or S_HW_FREQ_SEEK, > the current frequency may be changed to fit in the range of the > new active tuner > > 9. For backwards compatibility reasons tuner 0 should be the tuner > with the broadest possible FM range So with this approach every time during S_FREQ/S_HW_SEEK/S_TUNER driver will check which tuner mode it is set to and change the tuner mode (or band) according to tuner field. So in my case I will have to support 5 tuner modes (EUROPE, JAPAN, RUSSIAN, WEATHER and DEFAULT) just like bands. This approach looks good to me. > > Regards, > > Hans -- Regards Halli -- 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