|
@@ -375,13 +375,15 @@ static int vidioc_s_frequency(struct file *file, void *priv,
|
|
|
struct v4l2_frequency *f)
|
|
|
{
|
|
|
struct amradio_device *radio = video_get_drvdata(video_devdata(file));
|
|
|
+ int retval;
|
|
|
|
|
|
/* safety check */
|
|
|
if (radio->removed)
|
|
|
return -EIO;
|
|
|
|
|
|
radio->curfreq = f->frequency;
|
|
|
- if (amradio_setfreq(radio, radio->curfreq) < 0)
|
|
|
+ retval = amradio_setfreq(radio, radio->curfreq);
|
|
|
+ if (retval < 0)
|
|
|
amradio_dev_warn(&radio->videodev->dev,
|
|
|
"set frequency failed\n");
|
|
|
return 0;
|
|
@@ -440,6 +442,7 @@ static int vidioc_s_ctrl(struct file *file, void *priv,
|
|
|
struct v4l2_control *ctrl)
|
|
|
{
|
|
|
struct amradio_device *radio = video_get_drvdata(video_devdata(file));
|
|
|
+ int retval;
|
|
|
|
|
|
/* safety check */
|
|
|
if (radio->removed)
|
|
@@ -448,13 +451,15 @@ static int vidioc_s_ctrl(struct file *file, void *priv,
|
|
|
switch (ctrl->id) {
|
|
|
case V4L2_CID_AUDIO_MUTE:
|
|
|
if (ctrl->value) {
|
|
|
- if (amradio_stop(radio) < 0) {
|
|
|
+ retval = amradio_stop(radio);
|
|
|
+ if (retval < 0) {
|
|
|
amradio_dev_warn(&radio->videodev->dev,
|
|
|
"amradio_stop failed\n");
|
|
|
return -1;
|
|
|
}
|
|
|
} else {
|
|
|
- if (amradio_start(radio) < 0) {
|
|
|
+ retval = amradio_start(radio);
|
|
|
+ if (retval < 0) {
|
|
|
amradio_dev_warn(&radio->videodev->dev,
|
|
|
"amradio_start failed\n");
|
|
|
return -1;
|
|
@@ -505,20 +510,24 @@ static int vidioc_s_input(struct file *filp, void *priv, unsigned int i)
|
|
|
static int usb_amradio_open(struct file *file)
|
|
|
{
|
|
|
struct amradio_device *radio = video_get_drvdata(video_devdata(file));
|
|
|
+ int retval;
|
|
|
|
|
|
lock_kernel();
|
|
|
|
|
|
radio->users = 1;
|
|
|
radio->muted = 1;
|
|
|
|
|
|
- if (amradio_start(radio) < 0) {
|
|
|
+ retval = amradio_start(radio);
|
|
|
+ if (retval < 0) {
|
|
|
amradio_dev_warn(&radio->videodev->dev,
|
|
|
"radio did not start up properly\n");
|
|
|
radio->users = 0;
|
|
|
unlock_kernel();
|
|
|
return -EIO;
|
|
|
}
|
|
|
- if (amradio_setfreq(radio, radio->curfreq) < 0)
|
|
|
+
|
|
|
+ retval = amradio_setfreq(radio, radio->curfreq);
|
|
|
+ if (retval < 0)
|
|
|
amradio_dev_warn(&radio->videodev->dev,
|
|
|
"set frequency failed\n");
|
|
|
|
|
@@ -551,8 +560,10 @@ static int usb_amradio_close(struct file *file)
|
|
|
static int usb_amradio_suspend(struct usb_interface *intf, pm_message_t message)
|
|
|
{
|
|
|
struct amradio_device *radio = usb_get_intfdata(intf);
|
|
|
+ int retval;
|
|
|
|
|
|
- if (amradio_stop(radio) < 0)
|
|
|
+ retval = amradio_stop(radio);
|
|
|
+ if (retval < 0)
|
|
|
dev_warn(&intf->dev, "amradio_stop failed\n");
|
|
|
|
|
|
dev_info(&intf->dev, "going into suspend..\n");
|
|
@@ -564,8 +575,10 @@ static int usb_amradio_suspend(struct usb_interface *intf, pm_message_t message)
|
|
|
static int usb_amradio_resume(struct usb_interface *intf)
|
|
|
{
|
|
|
struct amradio_device *radio = usb_get_intfdata(intf);
|
|
|
+ int retval;
|
|
|
|
|
|
- if (amradio_start(radio) < 0)
|
|
|
+ retval = amradio_start(radio);
|
|
|
+ if (retval < 0)
|
|
|
dev_warn(&intf->dev, "amradio_start failed\n");
|
|
|
|
|
|
dev_info(&intf->dev, "coming out of suspend..\n");
|
|
@@ -616,16 +629,16 @@ static struct video_device amradio_videodev_template = {
|
|
|
.release = usb_amradio_device_release,
|
|
|
};
|
|
|
|
|
|
-/* check if the device is present and register with v4l and
|
|
|
-usb if it is */
|
|
|
+/* check if the device is present and register with v4l and usb if it is */
|
|
|
static int usb_amradio_probe(struct usb_interface *intf,
|
|
|
const struct usb_device_id *id)
|
|
|
{
|
|
|
struct amradio_device *radio;
|
|
|
+ int retval;
|
|
|
|
|
|
radio = kmalloc(sizeof(struct amradio_device), GFP_KERNEL);
|
|
|
|
|
|
- if (!(radio))
|
|
|
+ if (!radio)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
radio->buffer = kmalloc(BUFFER_LENGTH, GFP_KERNEL);
|
|
@@ -654,7 +667,8 @@ static int usb_amradio_probe(struct usb_interface *intf,
|
|
|
mutex_init(&radio->lock);
|
|
|
|
|
|
video_set_drvdata(radio->videodev, radio);
|
|
|
- if (video_register_device(radio->videodev, VFL_TYPE_RADIO, radio_nr)) {
|
|
|
+ retval = video_register_device(radio->videodev, VFL_TYPE_RADIO, radio_nr);
|
|
|
+ if (retval < 0) {
|
|
|
dev_warn(&intf->dev, "could not register video device\n");
|
|
|
video_device_release(radio->videodev);
|
|
|
kfree(radio->buffer);
|