diff options
author | Tobias Lorenz <tobias.lorenz@gmx.net> | 2009-08-09 19:23:02 +0200 |
---|---|---|
committer | Tobias Lorenz <tobias.lorenz@gmx.net> | 2009-08-09 19:23:02 +0200 |
commit | edce5773436aeaa6d195d1db0cc80f4c10a7acf1 (patch) | |
tree | 4a21b5933d1450f5eecfa17c2033ab61cbfbd2bd /linux/drivers/media/radio/si470x/radio-si470x-common.c | |
parent | 951be4abc87f0caf46aba5d23981a83c323deda2 (diff) | |
download | mediapointer-dvb-s2-edce5773436aeaa6d195d1db0cc80f4c10a7acf1.tar.gz mediapointer-dvb-s2-edce5773436aeaa6d195d1db0cc80f4c10a7acf1.tar.bz2 |
radio-si470x: add disconnect check function
The si470x_disconnect_check is function to check disconnect state of
radio in common file. The function is implemented in each interface
file.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Tobias Lorenz <tobias.lorenz@gmx.net>
---
.../media/radio/si470x/radio-si470x-common.c | 40 +++++++++----------
.../drivers/media/radio/si470x/radio-si470x-usb.c | 17 ++++++++
linux/drivers/media/radio/si470x/radio-si470x.h | 1 +
3 files changed, 37 insertions(+), 21 deletions(-)
Diffstat (limited to 'linux/drivers/media/radio/si470x/radio-si470x-common.c')
-rw-r--r-- | linux/drivers/media/radio/si470x/radio-si470x-common.c | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/linux/drivers/media/radio/si470x/radio-si470x-common.c b/linux/drivers/media/radio/si470x/radio-si470x-common.c index fd9fc4aa8..9f9a417ca 100644 --- a/linux/drivers/media/radio/si470x/radio-si470x-common.c +++ b/linux/drivers/media/radio/si470x/radio-si470x-common.c @@ -475,10 +475,9 @@ static int si470x_vidioc_g_ctrl(struct file *file, void *priv, int retval = 0; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } switch (ctrl->id) { case V4L2_CID_AUDIO_VOLUME: @@ -511,10 +510,9 @@ static int si470x_vidioc_s_ctrl(struct file *file, void *priv, int retval = 0; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } switch (ctrl->id) { case V4L2_CID_AUDIO_VOLUME: @@ -567,10 +565,10 @@ static int si470x_vidioc_g_tuner(struct file *file, void *priv, int retval = 0; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } + if (tuner->index != 0) { retval = -EINVAL; goto done; @@ -649,10 +647,10 @@ static int si470x_vidioc_s_tuner(struct file *file, void *priv, int retval = -EINVAL; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } + if (tuner->index != 0) goto done; @@ -688,10 +686,10 @@ static int si470x_vidioc_g_frequency(struct file *file, void *priv, int retval = 0; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } + if (freq->tuner != 0) { retval = -EINVAL; goto done; @@ -718,10 +716,10 @@ static int si470x_vidioc_s_frequency(struct file *file, void *priv, int retval = 0; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } + if (freq->tuner != 0) { retval = -EINVAL; goto done; @@ -747,10 +745,10 @@ static int si470x_vidioc_s_hw_freq_seek(struct file *file, void *priv, int retval = 0; /* safety checks */ - if (radio->disconnected) { - retval = -EIO; + retval = si470x_disconnect_check(radio); + if (retval) goto done; - } + if (seek->tuner != 0) { retval = -EINVAL; goto done; |