Hi Hans, Thanks for the patch. On Monday 18 March 2013 15:12:00 Hans Verkuil wrote: > From: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > This ioctl is defined as IOW, so pass the argument as const. > > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > --- [snip] > diff --git a/drivers/media/radio/radio-keene.c > b/drivers/media/radio/radio-keene.c index 296941a..a598852 100644 > --- a/drivers/media/radio/radio-keene.c > +++ b/drivers/media/radio/radio-keene.c > @@ -82,9 +82,12 @@ static inline struct keene_device *to_keene_dev(struct > v4l2_device *v4l2_dev) /* Set frequency (if non-0), PA, mute and turn > on/off the FM transmitter. */ static int keene_cmd_main(struct keene_device > *radio, unsigned freq, bool play) { > - unsigned short freq_send = freq ? (freq - 76 * 16000) / 800 : 0; > + unsigned short freq_send; > int ret; > > + if (freq) > + freq = clamp(freq, FREQ_MIN * FREQ_MUL, FREQ_MAX * FREQ_MUL); > + freq_send = freq ? (freq - 76 * 16000) / 800 : 0; > radio->buffer[0] = 0x00; > radio->buffer[1] = 0x50; > radio->buffer[2] = (freq_send >> 8) & 0xff; > @@ -215,15 +218,15 @@ static int vidioc_s_modulator(struct file *file, void > *priv, } > > static int vidioc_s_frequency(struct file *file, void *priv, > - struct v4l2_frequency *f) > + const struct v4l2_frequency *f) > { > struct keene_device *radio = video_drvdata(file); > > if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO) > return -EINVAL; > - f->frequency = clamp(f->frequency, > - FREQ_MIN * FREQ_MUL, FREQ_MAX * FREQ_MUL); > - return keene_cmd_main(radio, f->frequency, true); > + /* Take care: keene_cmd_main handles a frequency of 0 as a > + * special case, so make sure we never give that from here. */ > + return keene_cmd_main(radio, f->frequency ? f->frequency : 1, true); Can't you keep the clamp() here ? That looks easier. > } > > static int vidioc_g_frequency(struct file *file, void *priv, -- Regards, Laurent Pinchart -- 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