Commit de701f0f authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab

[media] rtl28xxu: merge chip type specific all callbacks

Merge all chip type specific prefixed (rtl2831u_ and rtl2832u_)
callback to top level callback prefixed as rtl28xxu_.

rtl2831u_foo() => rtl28xxu_foo()
rtl2832u_foo() => rtl28xxu_foo()
Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent d0f232e8
...@@ -523,6 +523,16 @@ static int rtl2832u_read_config(struct dvb_usb_device *d) ...@@ -523,6 +523,16 @@ static int rtl2832u_read_config(struct dvb_usb_device *d)
return ret; return ret;
} }
static int rtl28xxu_read_config(struct dvb_usb_device *d)
{
struct rtl28xxu_dev *dev = d_to_priv(d);
if (dev->chip_id == CHIP_ID_RTL2831U)
return rtl2831u_read_config(d);
else
return rtl2832u_read_config(d);
}
static int rtl28xxu_identify_state(struct dvb_usb_device *d, const char **name) static int rtl28xxu_identify_state(struct dvb_usb_device *d, const char **name)
{ {
struct rtl28xxu_dev *dev = d_to_priv(d); struct rtl28xxu_dev *dev = d_to_priv(d);
...@@ -906,7 +916,17 @@ static int rtl2832u_frontend_attach(struct dvb_usb_adapter *adap) ...@@ -906,7 +916,17 @@ static int rtl2832u_frontend_attach(struct dvb_usb_adapter *adap)
return ret; return ret;
} }
static int rtl2832u_frontend_detach(struct dvb_usb_adapter *adap) static int rtl28xxu_frontend_attach(struct dvb_usb_adapter *adap)
{
struct rtl28xxu_dev *dev = adap_to_priv(adap);
if (dev->chip_id == CHIP_ID_RTL2831U)
return rtl2831u_frontend_attach(adap);
else
return rtl2832u_frontend_attach(adap);
}
static int rtl28xxu_frontend_detach(struct dvb_usb_adapter *adap)
{ {
struct dvb_usb_device *d = adap_to_d(adap); struct dvb_usb_device *d = adap_to_d(adap);
struct rtl28xxu_dev *dev = d_to_priv(d); struct rtl28xxu_dev *dev = d_to_priv(d);
...@@ -1172,7 +1192,17 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap) ...@@ -1172,7 +1192,17 @@ static int rtl2832u_tuner_attach(struct dvb_usb_adapter *adap)
return ret; return ret;
} }
static int rtl2832u_tuner_detach(struct dvb_usb_adapter *adap) static int rtl28xxu_tuner_attach(struct dvb_usb_adapter *adap)
{
struct rtl28xxu_dev *dev = adap_to_priv(adap);
if (dev->chip_id == CHIP_ID_RTL2831U)
return rtl2831u_tuner_attach(adap);
else
return rtl2832u_tuner_attach(adap);
}
static int rtl28xxu_tuner_detach(struct dvb_usb_adapter *adap)
{ {
struct dvb_usb_device *d = adap_to_d(adap); struct dvb_usb_device *d = adap_to_d(adap);
struct rtl28xxu_dev *dev = d_to_priv(d); struct rtl28xxu_dev *dev = d_to_priv(d);
...@@ -1350,7 +1380,17 @@ static int rtl2832u_power_ctrl(struct dvb_usb_device *d, int onoff) ...@@ -1350,7 +1380,17 @@ static int rtl2832u_power_ctrl(struct dvb_usb_device *d, int onoff)
return ret; return ret;
} }
static int rtl2832u_frontend_ctrl(struct dvb_frontend *fe, int onoff) static int rtl28xxu_power_ctrl(struct dvb_usb_device *d, int onoff)
{
struct rtl28xxu_dev *dev = d_to_priv(d);
if (dev->chip_id == CHIP_ID_RTL2831U)
return rtl2831u_power_ctrl(d, onoff);
else
return rtl2832u_power_ctrl(d, onoff);
}
static int rtl28xxu_frontend_ctrl(struct dvb_frontend *fe, int onoff)
{ {
struct dvb_usb_device *d = fe_to_d(fe); struct dvb_usb_device *d = fe_to_d(fe);
struct rtl28xxu_dev *dev = fe_to_priv(fe); struct rtl28xxu_dev *dev = fe_to_priv(fe);
...@@ -1360,6 +1400,9 @@ static int rtl2832u_frontend_ctrl(struct dvb_frontend *fe, int onoff) ...@@ -1360,6 +1400,9 @@ static int rtl2832u_frontend_ctrl(struct dvb_frontend *fe, int onoff)
dev_dbg(&d->intf->dev, "fe=%d onoff=%d\n", fe->id, onoff); dev_dbg(&d->intf->dev, "fe=%d onoff=%d\n", fe->id, onoff);
if (dev->chip_id == CHIP_ID_RTL2831U)
return 0;
/* control internal demod ADC */ /* control internal demod ADC */
if (fe->id == 0 && onoff) if (fe->id == 0 && onoff)
val = 0x48; /* enable ADC */ val = 0x48; /* enable ADC */
...@@ -1572,45 +1615,50 @@ static int rtl2832u_get_rc_config(struct dvb_usb_device *d, ...@@ -1572,45 +1615,50 @@ static int rtl2832u_get_rc_config(struct dvb_usb_device *d,
return 0; return 0;
} }
#else
#define rtl2831u_get_rc_config NULL
#define rtl2832u_get_rc_config NULL
#endif
static int rtl2831u_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) static int rtl28xxu_get_rc_config(struct dvb_usb_device *d,
struct dvb_usb_rc *rc)
{ {
struct dvb_usb_device *d = adap_to_d(adap);
struct rtl28xxu_dev *dev = d_to_priv(d); struct rtl28xxu_dev *dev = d_to_priv(d);
struct rtl2830_platform_data *pdata = &dev->rtl2830_platform_data;
return pdata->pid_filter_ctrl(adap->fe[0], onoff); if (dev->chip_id == CHIP_ID_RTL2831U)
return rtl2831u_get_rc_config(d, rc);
else
return rtl2832u_get_rc_config(d, rc);
} }
#else
#define rtl28xxu_get_rc_config NULL
#endif
static int rtl2832u_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff) static int rtl28xxu_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff)
{ {
struct dvb_usb_device *d = adap_to_d(adap); struct rtl28xxu_dev *dev = adap_to_priv(adap);
struct rtl28xxu_dev *dev = d_to_priv(d);
struct rtl2832_platform_data *pdata = &dev->rtl2832_platform_data;
return pdata->pid_filter_ctrl(adap->fe[0], onoff); if (dev->chip_id == CHIP_ID_RTL2831U) {
} struct rtl2830_platform_data *pdata = &dev->rtl2830_platform_data;
static int rtl2831u_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onoff) return pdata->pid_filter_ctrl(adap->fe[0], onoff);
{ } else {
struct dvb_usb_device *d = adap_to_d(adap); struct rtl2832_platform_data *pdata = &dev->rtl2832_platform_data;
struct rtl28xxu_dev *dev = d_to_priv(d);
struct rtl2830_platform_data *pdata = &dev->rtl2830_platform_data;
return pdata->pid_filter(adap->fe[0], index, pid, onoff); return pdata->pid_filter_ctrl(adap->fe[0], onoff);
}
} }
static int rtl2832u_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid, int onoff) static int rtl28xxu_pid_filter(struct dvb_usb_adapter *adap, int index,
u16 pid, int onoff)
{ {
struct dvb_usb_device *d = adap_to_d(adap); struct rtl28xxu_dev *dev = adap_to_priv(adap);
struct rtl28xxu_dev *dev = d_to_priv(d);
struct rtl2832_platform_data *pdata = &dev->rtl2832_platform_data; if (dev->chip_id == CHIP_ID_RTL2831U) {
struct rtl2830_platform_data *pdata = &dev->rtl2830_platform_data;
return pdata->pid_filter(adap->fe[0], index, pid, onoff); return pdata->pid_filter(adap->fe[0], index, pid, onoff);
} else {
struct rtl2832_platform_data *pdata = &dev->rtl2832_platform_data;
return pdata->pid_filter(adap->fe[0], index, pid, onoff);
}
} }
static const struct dvb_usb_device_properties rtl2831u_props = { static const struct dvb_usb_device_properties rtl2831u_props = {
...@@ -1620,14 +1668,14 @@ static const struct dvb_usb_device_properties rtl2831u_props = { ...@@ -1620,14 +1668,14 @@ static const struct dvb_usb_device_properties rtl2831u_props = {
.size_of_priv = sizeof(struct rtl28xxu_dev), .size_of_priv = sizeof(struct rtl28xxu_dev),
.identify_state = rtl28xxu_identify_state, .identify_state = rtl28xxu_identify_state,
.power_ctrl = rtl2831u_power_ctrl, .power_ctrl = rtl28xxu_power_ctrl,
.i2c_algo = &rtl28xxu_i2c_algo, .i2c_algo = &rtl28xxu_i2c_algo,
.read_config = rtl2831u_read_config, .read_config = rtl28xxu_read_config,
.frontend_attach = rtl2831u_frontend_attach, .frontend_attach = rtl28xxu_frontend_attach,
.frontend_detach = rtl2832u_frontend_detach, .frontend_detach = rtl28xxu_frontend_detach,
.tuner_attach = rtl2831u_tuner_attach, .tuner_attach = rtl28xxu_tuner_attach,
.init = rtl28xxu_init, .init = rtl28xxu_init,
.get_rc_config = rtl2831u_get_rc_config, .get_rc_config = rtl28xxu_get_rc_config,
.num_adapters = 1, .num_adapters = 1,
.adapter = { .adapter = {
...@@ -1636,8 +1684,8 @@ static const struct dvb_usb_device_properties rtl2831u_props = { ...@@ -1636,8 +1684,8 @@ static const struct dvb_usb_device_properties rtl2831u_props = {
DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF,
.pid_filter_count = 32, .pid_filter_count = 32,
.pid_filter_ctrl = rtl2831u_pid_filter_ctrl, .pid_filter_ctrl = rtl28xxu_pid_filter_ctrl,
.pid_filter = rtl2831u_pid_filter, .pid_filter = rtl28xxu_pid_filter,
.stream = DVB_USB_STREAM_BULK(0x81, 6, 8 * 512), .stream = DVB_USB_STREAM_BULK(0x81, 6, 8 * 512),
}, },
...@@ -1651,16 +1699,16 @@ static const struct dvb_usb_device_properties rtl2832u_props = { ...@@ -1651,16 +1699,16 @@ static const struct dvb_usb_device_properties rtl2832u_props = {
.size_of_priv = sizeof(struct rtl28xxu_dev), .size_of_priv = sizeof(struct rtl28xxu_dev),
.identify_state = rtl28xxu_identify_state, .identify_state = rtl28xxu_identify_state,
.power_ctrl = rtl2832u_power_ctrl, .power_ctrl = rtl28xxu_power_ctrl,
.frontend_ctrl = rtl2832u_frontend_ctrl, .frontend_ctrl = rtl28xxu_frontend_ctrl,
.i2c_algo = &rtl28xxu_i2c_algo, .i2c_algo = &rtl28xxu_i2c_algo,
.read_config = rtl2832u_read_config, .read_config = rtl28xxu_read_config,
.frontend_attach = rtl2832u_frontend_attach, .frontend_attach = rtl28xxu_frontend_attach,
.frontend_detach = rtl2832u_frontend_detach, .frontend_detach = rtl28xxu_frontend_detach,
.tuner_attach = rtl2832u_tuner_attach, .tuner_attach = rtl28xxu_tuner_attach,
.tuner_detach = rtl2832u_tuner_detach, .tuner_detach = rtl28xxu_tuner_detach,
.init = rtl28xxu_init, .init = rtl28xxu_init,
.get_rc_config = rtl2832u_get_rc_config, .get_rc_config = rtl28xxu_get_rc_config,
.num_adapters = 1, .num_adapters = 1,
.adapter = { .adapter = {
...@@ -1669,8 +1717,8 @@ static const struct dvb_usb_device_properties rtl2832u_props = { ...@@ -1669,8 +1717,8 @@ static const struct dvb_usb_device_properties rtl2832u_props = {
DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF, DVB_USB_ADAP_PID_FILTER_CAN_BE_TURNED_OFF,
.pid_filter_count = 32, .pid_filter_count = 32,
.pid_filter_ctrl = rtl2832u_pid_filter_ctrl, .pid_filter_ctrl = rtl28xxu_pid_filter_ctrl,
.pid_filter = rtl2832u_pid_filter, .pid_filter = rtl28xxu_pid_filter,
.stream = DVB_USB_STREAM_BULK(0x81, 6, 8 * 512), .stream = DVB_USB_STREAM_BULK(0x81, 6, 8 * 512),
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment