mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-11 15:49:56 +00:00
V4L/DVB (4595): Remove CONFIG_VIDEO_PVRUSB2_24XXX from pvrusb2 driver
Support for 24xxx devices was previously explicitly bracketed with CONFIG_VIDEO_PVRUSB2_24XXX inside the code because we didn't trust the stability of these changes. We trust it now; so there's no reason to leave this out of the driver anymore. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
4d31256f37
commit
7f19d0278c
@ -168,9 +168,7 @@ struct pvr2_decoder_ctrl {
|
|||||||
|
|
||||||
/* Known major hardware variants, keyed from device ID */
|
/* Known major hardware variants, keyed from device ID */
|
||||||
#define PVR2_HDW_TYPE_29XXX 0
|
#define PVR2_HDW_TYPE_29XXX 0
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
#define PVR2_HDW_TYPE_24XXX 1
|
#define PVR2_HDW_TYPE_24XXX 1
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef int (*pvr2_i2c_func)(struct pvr2_hdw *,u8,u8 *,u16,u8 *, u16);
|
typedef int (*pvr2_i2c_func)(struct pvr2_hdw *,u8,u8 *,u16,u8 *, u16);
|
||||||
#define PVR2_I2C_FUNC_CNT 128
|
#define PVR2_I2C_FUNC_CNT 128
|
||||||
|
@ -38,9 +38,7 @@
|
|||||||
|
|
||||||
struct usb_device_id pvr2_device_table[] = {
|
struct usb_device_id pvr2_device_table[] = {
|
||||||
[PVR2_HDW_TYPE_29XXX] = { USB_DEVICE(0x2040, 0x2900) },
|
[PVR2_HDW_TYPE_29XXX] = { USB_DEVICE(0x2040, 0x2900) },
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
[PVR2_HDW_TYPE_24XXX] = { USB_DEVICE(0x2040, 0x2400) },
|
[PVR2_HDW_TYPE_24XXX] = { USB_DEVICE(0x2040, 0x2400) },
|
||||||
#endif
|
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -48,9 +46,7 @@ MODULE_DEVICE_TABLE(usb, pvr2_device_table);
|
|||||||
|
|
||||||
static const char *pvr2_device_names[] = {
|
static const char *pvr2_device_names[] = {
|
||||||
[PVR2_HDW_TYPE_29XXX] = "WinTV PVR USB2 Model Category 29xxxx",
|
[PVR2_HDW_TYPE_29XXX] = "WinTV PVR USB2 Model Category 29xxxx",
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
[PVR2_HDW_TYPE_24XXX] = "WinTV PVR USB2 Model Category 24xxxx",
|
[PVR2_HDW_TYPE_24XXX] = "WinTV PVR USB2 Model Category 24xxxx",
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct pvr2_string_table {
|
struct pvr2_string_table {
|
||||||
@ -58,14 +54,12 @@ struct pvr2_string_table {
|
|||||||
unsigned int cnt;
|
unsigned int cnt;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
// Names of other client modules to request for 24xxx model hardware
|
// Names of other client modules to request for 24xxx model hardware
|
||||||
static const char *pvr2_client_24xxx[] = {
|
static const char *pvr2_client_24xxx[] = {
|
||||||
"cx25840",
|
"cx25840",
|
||||||
"tuner",
|
"tuner",
|
||||||
"wm8775",
|
"wm8775",
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
// Names of other client modules to request for 29xxx model hardware
|
// Names of other client modules to request for 29xxx model hardware
|
||||||
static const char *pvr2_client_29xxx[] = {
|
static const char *pvr2_client_29xxx[] = {
|
||||||
@ -79,12 +73,10 @@ static struct pvr2_string_table pvr2_client_lists[] = {
|
|||||||
pvr2_client_29xxx,
|
pvr2_client_29xxx,
|
||||||
sizeof(pvr2_client_29xxx)/sizeof(pvr2_client_29xxx[0]),
|
sizeof(pvr2_client_29xxx)/sizeof(pvr2_client_29xxx[0]),
|
||||||
},
|
},
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
[PVR2_HDW_TYPE_24XXX] = {
|
[PVR2_HDW_TYPE_24XXX] = {
|
||||||
pvr2_client_24xxx,
|
pvr2_client_24xxx,
|
||||||
sizeof(pvr2_client_24xxx)/sizeof(pvr2_client_24xxx[0]),
|
sizeof(pvr2_client_24xxx)/sizeof(pvr2_client_24xxx[0]),
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pvr2_hdw *unit_pointers[PVR_NUM] = {[ 0 ... PVR_NUM-1 ] = NULL};
|
static struct pvr2_hdw *unit_pointers[PVR_NUM] = {[ 0 ... PVR_NUM-1 ] = NULL};
|
||||||
@ -363,7 +355,6 @@ static int ctrl_freq_set(struct pvr2_ctrl *cptr,int m,int v)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
static int ctrl_hres_max_get(struct pvr2_ctrl *cptr,int *vp)
|
static int ctrl_hres_max_get(struct pvr2_ctrl *cptr,int *vp)
|
||||||
{
|
{
|
||||||
/* If we're dealing with a 24xxx device, force the horizontal
|
/* If we're dealing with a 24xxx device, force the horizontal
|
||||||
@ -385,7 +376,6 @@ static int ctrl_hres_min_get(struct pvr2_ctrl *cptr,int *vp)
|
|||||||
if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) *vp = 720;
|
if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) *vp = 720;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static int ctrl_cx2341x_is_dirty(struct pvr2_ctrl *cptr)
|
static int ctrl_cx2341x_is_dirty(struct pvr2_ctrl *cptr)
|
||||||
{
|
{
|
||||||
@ -745,12 +735,10 @@ static const struct pvr2_ctl_info control_defs[] = {
|
|||||||
.default_value = 720,
|
.default_value = 720,
|
||||||
DEFREF(res_hor),
|
DEFREF(res_hor),
|
||||||
DEFINT(320,720),
|
DEFINT(320,720),
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
/* Hook in check for clamp on horizontal resolution in
|
/* Hook in check for clamp on horizontal resolution in
|
||||||
order to avoid unsolved problem involving cx25840. */
|
order to avoid unsolved problem involving cx25840. */
|
||||||
.get_max_value = ctrl_hres_max_get,
|
.get_max_value = ctrl_hres_max_get,
|
||||||
.get_min_value = ctrl_hres_min_get,
|
.get_min_value = ctrl_hres_min_get,
|
||||||
#endif
|
|
||||||
},{
|
},{
|
||||||
.desc = "Vertical capture resolution",
|
.desc = "Vertical capture resolution",
|
||||||
.name = "resolution_ver",
|
.name = "resolution_ver",
|
||||||
@ -966,22 +954,18 @@ static int pvr2_upload_firmware1(struct pvr2_hdw *hdw)
|
|||||||
static const char *fw_files_29xxx[] = {
|
static const char *fw_files_29xxx[] = {
|
||||||
"v4l-pvrusb2-29xxx-01.fw",
|
"v4l-pvrusb2-29xxx-01.fw",
|
||||||
};
|
};
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
static const char *fw_files_24xxx[] = {
|
static const char *fw_files_24xxx[] = {
|
||||||
"v4l-pvrusb2-24xxx-01.fw",
|
"v4l-pvrusb2-24xxx-01.fw",
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
static const struct pvr2_string_table fw_file_defs[] = {
|
static const struct pvr2_string_table fw_file_defs[] = {
|
||||||
[PVR2_HDW_TYPE_29XXX] = {
|
[PVR2_HDW_TYPE_29XXX] = {
|
||||||
fw_files_29xxx,
|
fw_files_29xxx,
|
||||||
sizeof(fw_files_29xxx)/sizeof(fw_files_29xxx[0]),
|
sizeof(fw_files_29xxx)/sizeof(fw_files_29xxx[0]),
|
||||||
},
|
},
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
[PVR2_HDW_TYPE_24XXX] = {
|
[PVR2_HDW_TYPE_24XXX] = {
|
||||||
fw_files_24xxx,
|
fw_files_24xxx,
|
||||||
sizeof(fw_files_24xxx)/sizeof(fw_files_24xxx[0]),
|
sizeof(fw_files_24xxx)/sizeof(fw_files_24xxx[0]),
|
||||||
},
|
},
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
hdw->fw1_state = FW1_STATE_FAILED; // default result
|
hdw->fw1_state = FW1_STATE_FAILED; // default result
|
||||||
|
|
||||||
|
@ -26,10 +26,8 @@
|
|||||||
#include "pvrusb2-audio.h"
|
#include "pvrusb2-audio.h"
|
||||||
#include "pvrusb2-tuner.h"
|
#include "pvrusb2-tuner.h"
|
||||||
#include "pvrusb2-video-v4l.h"
|
#include "pvrusb2-video-v4l.h"
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
#include "pvrusb2-cx2584x-v4l.h"
|
#include "pvrusb2-cx2584x-v4l.h"
|
||||||
#include "pvrusb2-wm8775.h"
|
#include "pvrusb2-wm8775.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#define trace_i2c(...) pvr2_trace(PVR2_TRACE_I2C,__VA_ARGS__)
|
#define trace_i2c(...) pvr2_trace(PVR2_TRACE_I2C,__VA_ARGS__)
|
||||||
|
|
||||||
@ -71,7 +69,6 @@ void pvr2_i2c_probe(struct pvr2_hdw *hdw,struct pvr2_i2c_client *cp)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
if (id == I2C_DRIVERID_CX25840) {
|
if (id == I2C_DRIVERID_CX25840) {
|
||||||
if (pvr2_i2c_cx2584x_v4l_setup(hdw,cp)) {
|
if (pvr2_i2c_cx2584x_v4l_setup(hdw,cp)) {
|
||||||
return;
|
return;
|
||||||
@ -82,7 +79,6 @@ void pvr2_i2c_probe(struct pvr2_hdw *hdw,struct pvr2_i2c_client *cp)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if (id == I2C_DRIVERID_SAA711X) {
|
if (id == I2C_DRIVERID_SAA711X) {
|
||||||
if (pvr2_i2c_decoder_v4l_setup(hdw,cp)) {
|
if (pvr2_i2c_decoder_v4l_setup(hdw,cp)) {
|
||||||
return;
|
return;
|
||||||
|
@ -185,8 +185,6 @@ static int pvr2_i2c_basic_op(struct pvr2_hdw *hdw,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
|
|
||||||
/* This is a special entry point that is entered if an I2C operation is
|
/* This is a special entry point that is entered if an I2C operation is
|
||||||
attempted to a wm8775 chip on model 24xxx hardware. Autodetect of this
|
attempted to a wm8775 chip on model 24xxx hardware. Autodetect of this
|
||||||
part doesn't work, but we know it is really there. So let's look for
|
part doesn't work, but we know it is really there. So let's look for
|
||||||
@ -289,8 +287,6 @@ static int i2c_hack_cx25840(struct pvr2_hdw *hdw,
|
|||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_VIDEO_PVRUSB2_24XXX */
|
|
||||||
|
|
||||||
/* This is a very, very limited I2C adapter implementation. We can only
|
/* This is a very, very limited I2C adapter implementation. We can only
|
||||||
support what we actually know will work on the device... */
|
support what we actually know will work on the device... */
|
||||||
static int pvr2_i2c_xfer(struct i2c_adapter *i2c_adap,
|
static int pvr2_i2c_xfer(struct i2c_adapter *i2c_adap,
|
||||||
@ -897,14 +893,12 @@ void pvr2_i2c_core_init(struct pvr2_hdw *hdw)
|
|||||||
hdw->i2c_func[idx] = pvr2_i2c_basic_op;
|
hdw->i2c_func[idx] = pvr2_i2c_basic_op;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_PVRUSB2_24XXX
|
|
||||||
// If however we're dealing with new hardware, insert some hacks in
|
// If however we're dealing with new hardware, insert some hacks in
|
||||||
// the I2C transfer stack to let things work better.
|
// the I2C transfer stack to let things work better.
|
||||||
if (hdw->hdw_type == PVR2_HDW_TYPE_24XXX) {
|
if (hdw->hdw_type == PVR2_HDW_TYPE_24XXX) {
|
||||||
hdw->i2c_func[0x1b] = i2c_hack_wm8775;
|
hdw->i2c_func[0x1b] = i2c_hack_wm8775;
|
||||||
hdw->i2c_func[0x44] = i2c_hack_cx25840;
|
hdw->i2c_func[0x44] = i2c_hack_cx25840;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
// Configure the adapter and set up everything else related to it.
|
// Configure the adapter and set up everything else related to it.
|
||||||
memcpy(&hdw->i2c_adap,&pvr2_i2c_adap_template,sizeof(hdw->i2c_adap));
|
memcpy(&hdw->i2c_adap,&pvr2_i2c_adap_template,sizeof(hdw->i2c_adap));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user