Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit facd2366 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] cx88: remove g_chip_ident



Remove g_chip_ident from cx88. Also remove the v4l2-chip-ident.h include.
The board code used defines from v4l2-chip-ident.h to tell the driver which
audio chip is used. Replace this with a cx88-specific enum.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 37c1d2e4
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -744,7 +744,7 @@ static const struct cx88_board cx88_boards[] = {
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		/* Some variants use a tda9874 and so need the tvaudio module. */
		.audio_chip     = V4L2_IDENT_TVAUDIO,
		.audio_chip     = CX88_AUDIO_TVAUDIO,
		.input          = {{
			.type   = CX88_VMUX_TELEVISION,
			.vmux   = 0,
@@ -976,7 +976,7 @@ static const struct cx88_board cx88_boards[] = {
		.radio_type	= UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.audio_chip	= V4L2_IDENT_WM8775,
		.audio_chip	= CX88_AUDIO_WM8775,
		.i2sinputcntl   = 2,
		.input		= {{
			.type	= CX88_VMUX_DVB,
@@ -1014,7 +1014,7 @@ static const struct cx88_board cx88_boards[] = {
		.radio_type	= UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.audio_chip = V4L2_IDENT_WM8775,
		.audio_chip = CX88_AUDIO_WM8775,
		.input		= {{
			.type	= CX88_VMUX_DVB,
			.vmux	= 0,
@@ -1376,7 +1376,7 @@ static const struct cx88_board cx88_boards[] = {
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda9887_conf   = TDA9887_PRESENT,
		.audio_chip     = V4L2_IDENT_WM8775,
		.audio_chip     = CX88_AUDIO_WM8775,
		.input          = {{
			.type   = CX88_VMUX_TELEVISION,
			.vmux   = 0,
@@ -1461,7 +1461,7 @@ static const struct cx88_board cx88_boards[] = {
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda9887_conf   = TDA9887_PRESENT,
		.audio_chip     = V4L2_IDENT_WM8775,
		.audio_chip     = CX88_AUDIO_WM8775,
		/*
		 * gpio0 as reported by Mike Crash <mike AT mikecrash.com>
		 */
@@ -1929,7 +1929,7 @@ static const struct cx88_board cx88_boards[] = {
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda9887_conf   = TDA9887_PRESENT,
		.audio_chip     = V4L2_IDENT_WM8775,
		.audio_chip     = CX88_AUDIO_WM8775,
		/*
		 * GPIO0 (WINTV2000)
		 *
+2 −19
Original line number Diff line number Diff line
@@ -1353,24 +1353,12 @@ static int vidioc_s_frequency (struct file *file, void *priv,
	return cx88_set_freq(core, f);
}

static int vidioc_g_chip_ident(struct file *file, void *priv,
				struct v4l2_dbg_chip_ident *chip)
{
	if (!v4l2_chip_match_host(&chip->match))
		return -EINVAL;
	chip->revision = 0;
	chip->ident = V4L2_IDENT_UNKNOWN;
	return 0;
}

#ifdef CONFIG_VIDEO_ADV_DEBUG
static int vidioc_g_register (struct file *file, void *fh,
				struct v4l2_dbg_register *reg)
{
	struct cx88_core *core = ((struct cx8800_fh*)fh)->dev->core;

	if (!v4l2_chip_match_host(&reg->match))
		return -EINVAL;
	/* cx2388x has a 24-bit register space */
	reg->val = cx_read(reg->reg & 0xffffff);
	reg->size = 4;
@@ -1382,8 +1370,6 @@ static int vidioc_s_register (struct file *file, void *fh,
{
	struct cx88_core *core = ((struct cx8800_fh*)fh)->dev->core;

	if (!v4l2_chip_match_host(&reg->match))
		return -EINVAL;
	cx_write(reg->reg & 0xffffff, reg->val);
	return 0;
}
@@ -1578,7 +1564,6 @@ static const struct v4l2_ioctl_ops video_ioctl_ops = {
	.vidioc_s_frequency   = vidioc_s_frequency,
	.vidioc_subscribe_event      = v4l2_ctrl_subscribe_event,
	.vidioc_unsubscribe_event    = v4l2_event_unsubscribe,
	.vidioc_g_chip_ident  = vidioc_g_chip_ident,
#ifdef CONFIG_VIDEO_ADV_DEBUG
	.vidioc_g_register    = vidioc_g_register,
	.vidioc_s_register    = vidioc_s_register,
@@ -1612,7 +1597,6 @@ static const struct v4l2_ioctl_ops vbi_ioctl_ops = {
	.vidioc_s_tuner       = vidioc_s_tuner,
	.vidioc_g_frequency   = vidioc_g_frequency,
	.vidioc_s_frequency   = vidioc_s_frequency,
	.vidioc_g_chip_ident  = vidioc_g_chip_ident,
#ifdef CONFIG_VIDEO_ADV_DEBUG
	.vidioc_g_register    = vidioc_g_register,
	.vidioc_s_register    = vidioc_s_register,
@@ -1643,7 +1627,6 @@ static const struct v4l2_ioctl_ops radio_ioctl_ops = {
	.vidioc_s_frequency   = vidioc_s_frequency,
	.vidioc_subscribe_event      = v4l2_ctrl_subscribe_event,
	.vidioc_unsubscribe_event    = v4l2_event_unsubscribe,
	.vidioc_g_chip_ident  = vidioc_g_chip_ident,
#ifdef CONFIG_VIDEO_ADV_DEBUG
	.vidioc_g_register    = vidioc_g_register,
	.vidioc_s_register    = vidioc_s_register,
@@ -1794,7 +1777,7 @@ static int cx8800_initdev(struct pci_dev *pci_dev,

	/* load and configure helper modules */

	if (core->board.audio_chip == V4L2_IDENT_WM8775) {
	if (core->board.audio_chip == CX88_AUDIO_WM8775) {
		struct i2c_board_info wm8775_info = {
			.type = "wm8775",
			.addr = 0x36 >> 1,
@@ -1815,7 +1798,7 @@ static int cx8800_initdev(struct pci_dev *pci_dev,
		}
	}

	if (core->board.audio_chip == V4L2_IDENT_TVAUDIO) {
	if (core->board.audio_chip == CX88_AUDIO_TVAUDIO) {
		/* This probes for a tda9874 as is used on some
		   Pixelview Ultra boards. */
		v4l2_i2c_new_subdev(&core->v4l2_dev, &core->i2c_adap,
+6 −2
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
#include <media/tuner.h>
#include <media/tveeprom.h>
#include <media/videobuf-dma-sg.h>
#include <media/v4l2-chip-ident.h>
#include <media/cx2341x.h>
#include <media/videobuf-dvb.h>
#include <media/ir-kbd-i2c.h>
@@ -259,6 +258,11 @@ struct cx88_input {
	unsigned int    audioroute:4;
};

enum cx88_audio_chip {
	CX88_AUDIO_WM8775,
	CX88_AUDIO_TVAUDIO,
};

struct cx88_board {
	const char              *name;
	unsigned int            tuner_type;
@@ -269,7 +273,7 @@ struct cx88_board {
	struct cx88_input       input[MAX_CX88_INPUT];
	struct cx88_input       radio;
	enum cx88_board_type    mpeg;
	unsigned int            audio_chip;
	enum cx88_audio_chip	audio_chip;
	int			num_frontends;

	/* Used for I2S devices */