linux/drivers/media/i2c/cx25840/cx25840-audio.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* cx25840 audio functions
 */


#include <linux/videodev2.h>
#include <linux/i2c.h>
#include <media/v4l2-common.h>
#include <media/drv-intf/cx25840.h>

#include "cx25840-core.h"

/*
 * Note: The PLL and SRC parameters are based on a reference frequency that
 * would ideally be:
 *
 * NTSC Color subcarrier freq * 8 = 4.5 MHz/286 * 455/2 * 8 = 28.63636363... MHz
 *
 * However, it's not the exact reference frequency that matters, only that the
 * firmware and modules that comprise the driver for a particular board all
 * use the same value (close to the ideal value).
 *
 * Comments below will note which reference frequency is assumed for various
 * parameters.  They will usually be one of
 *
 *	ref_freq = 28.636360 MHz
 *		or
 *	ref_freq = 28.636363 MHz
 */

static int cx25840_set_audclk_freq(struct i2c_client *client, u32 freq)
{}

static inline int cx25836_set_audclk_freq(struct i2c_client *client, u32 freq)
{}

static int cx23885_set_audclk_freq(struct i2c_client *client, u32 freq)
{}

static int cx231xx_set_audclk_freq(struct i2c_client *client, u32 freq)
{}

static int set_audclk_freq(struct i2c_client *client, u32 freq)
{}

void cx25840_audio_set_path(struct i2c_client *client)
{}

static void set_volume(struct i2c_client *client, int volume)
{}

static void set_balance(struct i2c_client *client, int balance)
{}

int cx25840_s_clock_freq(struct v4l2_subdev *sd, u32 freq)
{}

static int cx25840_audio_s_ctrl(struct v4l2_ctrl *ctrl)
{}

const struct v4l2_ctrl_ops cx25840_audio_ctrl_ops =;