Skip to content

Commit

Permalink
[media] rtl28xxu: simplify FE callback handling
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Feb 3, 2015
1 parent 1dbbdce commit a6f6243
Showing 1 changed file with 9 additions and 18 deletions.
27 changes: 9 additions & 18 deletions drivers/media/usb/dvb-usb-v2/rtl28xxu.c
Original file line number Diff line number Diff line change
Expand Up @@ -721,29 +721,14 @@ static int rtl2832u_tua9001_tuner_callback(struct dvb_usb_device *d,
return ret;
}

static int rtl2832u_tuner_callback(struct dvb_usb_device *d, int cmd, int arg)
{
struct rtl28xxu_priv *priv = d->priv;

switch (priv->tuner) {
case TUNER_RTL2832_FC0012:
return rtl2832u_fc0012_tuner_callback(d, cmd, arg);
case TUNER_RTL2832_TUA9001:
return rtl2832u_tua9001_tuner_callback(d, cmd, arg);
default:
break;
}

return 0;
}

static int rtl2832u_frontend_callback(void *adapter_priv, int component,
int cmd, int arg)
{
struct i2c_adapter *adapter = adapter_priv;
struct device *parent = adapter->dev.parent;
struct i2c_adapter *parent_adapter;
struct dvb_usb_device *d;
struct rtl28xxu_priv *priv;

/*
* All tuners are connected to demod muxed I2C adapter. We have to
Expand All @@ -757,15 +742,21 @@ static int rtl2832u_frontend_callback(void *adapter_priv, int component,
return -EINVAL;

d = i2c_get_adapdata(parent_adapter);
priv = d->priv;

dev_dbg(&d->udev->dev, "%s: component=%d cmd=%d arg=%d\n",
__func__, component, cmd, arg);

switch (component) {
case DVB_FRONTEND_COMPONENT_TUNER:
return rtl2832u_tuner_callback(d, cmd, arg);
switch (priv->tuner) {
case TUNER_RTL2832_FC0012:
return rtl2832u_fc0012_tuner_callback(d, cmd, arg);
case TUNER_RTL2832_TUA9001:
return rtl2832u_tua9001_tuner_callback(d, cmd, arg);
}
default:
break;
return -EINVAL;
}

return 0;
Expand Down

0 comments on commit a6f6243

Please sign in to comment.