Em 12-06-2011 12:46, Hans Verkuil escreveu: > On Sunday, June 12, 2011 16:36:11 Mauro Carvalho Chehab wrote: >> Em 12-06-2011 07:59, Hans Verkuil escreveu: >>> From: Hans Verkuil <hans.verkuil@xxxxxxxxx> >>> >>> The subdevs are supposed to receive a valid tuner type for the g_frequency >>> and g/s_tuner subdev ops. Some drivers do this, others don't. So prefill >>> this in v4l2-ioctl.c based on whether the device node from which this is >>> called is a radio node or not. >>> >>> The spec does not require applications to fill in the type, and if they >>> leave it at 0 then the 'supported_mode' call in tuner-core.c will return >>> false and the ioctl does nothing. >> >> Interesting solution. Yes, this is the proper fix, but only after being sure >> that no drivers allow switch to radio using the video device, and vice-versa. > > Why would that be a problem? What this patch does is that it fixes those > drivers that do *not* set vf/vt->type (i.e. leave it at 0). For those that already > set it nothing changes. Yeah, I realized it after after answering. Yes, your patch seems to be ok, as bridge drivers can override it. > >> Unfortunately, this is not the case, currently. >> >> Most drivers allow this, following the previous V4L2 specs. Changing such >> behavior will probably require to write something at >> Documentation/feature-removal-schedule.txt, as we're changing the behavior. > > I think in the longer term we need to change the spec so that: > > 1) Opening a radio node no longer switches to radio mode. Instead, you need to > call VIDIOC_S_FREQUENCY for that. > 2) When VIDIOC_S_FREQUENCY the type field should match the video/radio node it > is called on. So for /dev/radio type should be RADIO, for others it should be > ANALOG_TV. Otherwise -EINVAL is called. > > So this might be a good feature removal for 3.2 or 3.3. I'm OK with that. > > Regards, > > Hans > -- > 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 -- 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