aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2014-12-17 01:09:32 -0500
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-03 13:21:19 -0500
commita6f62431a0c166c171b6b7a62d6cad79fbbdc5da (patch)
tree8e414feea2fe9911d621ae117d33ca53cc9283f2 /drivers/media
parent1dbbdceeb63e9039ce0545e5e21cf9a8c4d4ffc4 (diff)
[media] rtl28xxu: simplify FE callback handling
Logic is so simple that there is no idea to separate tuner selection to own function, instead do it in a callback and get rid of one function. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/usb/dvb-usb-v2/rtl28xxu.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
index 1f29307b9d72..f4750189e948 100644
--- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
+++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
@@ -721,22 +721,6 @@ err:
721 return ret; 721 return ret;
722} 722}
723 723
724static int rtl2832u_tuner_callback(struct dvb_usb_device *d, int cmd, int arg)
725{
726 struct rtl28xxu_priv *priv = d->priv;
727
728 switch (priv->tuner) {
729 case TUNER_RTL2832_FC0012:
730 return rtl2832u_fc0012_tuner_callback(d, cmd, arg);
731 case TUNER_RTL2832_TUA9001:
732 return rtl2832u_tua9001_tuner_callback(d, cmd, arg);
733 default:
734 break;
735 }
736
737 return 0;
738}
739
740static int rtl2832u_frontend_callback(void *adapter_priv, int component, 724static int rtl2832u_frontend_callback(void *adapter_priv, int component,
741 int cmd, int arg) 725 int cmd, int arg)
742{ 726{
@@ -744,6 +728,7 @@ static int rtl2832u_frontend_callback(void *adapter_priv, int component,
744 struct device *parent = adapter->dev.parent; 728 struct device *parent = adapter->dev.parent;
745 struct i2c_adapter *parent_adapter; 729 struct i2c_adapter *parent_adapter;
746 struct dvb_usb_device *d; 730 struct dvb_usb_device *d;
731 struct rtl28xxu_priv *priv;
747 732
748 /* 733 /*
749 * All tuners are connected to demod muxed I2C adapter. We have to 734 * All tuners are connected to demod muxed I2C adapter. We have to
@@ -757,15 +742,21 @@ static int rtl2832u_frontend_callback(void *adapter_priv, int component,
757 return -EINVAL; 742 return -EINVAL;
758 743
759 d = i2c_get_adapdata(parent_adapter); 744 d = i2c_get_adapdata(parent_adapter);
745 priv = d->priv;
760 746
761 dev_dbg(&d->udev->dev, "%s: component=%d cmd=%d arg=%d\n", 747 dev_dbg(&d->udev->dev, "%s: component=%d cmd=%d arg=%d\n",
762 __func__, component, cmd, arg); 748 __func__, component, cmd, arg);
763 749
764 switch (component) { 750 switch (component) {
765 case DVB_FRONTEND_COMPONENT_TUNER: 751 case DVB_FRONTEND_COMPONENT_TUNER:
766 return rtl2832u_tuner_callback(d, cmd, arg); 752 switch (priv->tuner) {
753 case TUNER_RTL2832_FC0012:
754 return rtl2832u_fc0012_tuner_callback(d, cmd, arg);
755 case TUNER_RTL2832_TUA9001:
756 return rtl2832u_tua9001_tuner_callback(d, cmd, arg);
757 }
767 default: 758 default:
768 break; 759 return -EINVAL;
769 } 760 }
770 761
771 return 0; 762 return 0;