Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - Missing MAINTAINERS entries were added for several drivers - Adds V4L2 support for DMABUF handling, allowing zero-copy buffer sharing between V4L2 devices and GPU - Got rid of all warnings when compiling with W=1 on x86 - Add a new driver for Exynos hardware (s3c-camif) - Several bug fixes, cleanups and driver improvements * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (243 commits) [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check [media] omap3isp: Prepare/unprepare clocks before/after enable/disable [media] omap3isp: preview: Add support for 8-bit formats at the sink pad [media] omap3isp: Replace printk with dev_* [media] omap3isp: Find source pad from external entity [media] omap3isp: Configure CSI-2 phy based on platform data [media] omap3isp: Add PHY routing configuration [media] omap3isp: Add CSI configuration registers from control block to ISP resources [media] omap3isp: Remove unneeded module memory address definitions [media] omap3isp: Use monotonic timestamps for statistics buffers [media] uvcvideo: Fix control value clamping for unsigned integer controls [media] uvcvideo: Mark first output terminal as default video node [media] uvcvideo: Add VIDIOC_[GS]_PRIORITY support [media] uvcvideo: Return -ENOTTY for unsupported ioctls [media] uvcvideo: Set device_caps in VIDIOC_QUERYCAP [media] uvcvideo: Don't fail when an unsupported format is requested [media] uvcvideo: Return -EACCES when trying to access a read/write-only control [media] uvcvideo: Set error_idx properly for extended controls API failures [media] rtl28xxu: add NOXON DAB/DAB+ USB dongle rev 2 [media] fc2580: write some registers conditionally ...
This commit is contained in:
@@ -139,7 +139,7 @@ static int cx22700_set_tps(struct cx22700_state *state,
|
||||
if (p->code_rate_HP == FEC_4_5 || p->code_rate_LP == FEC_4_5)
|
||||
return -EINVAL;
|
||||
|
||||
if (p->guard_interval < GUARD_INTERVAL_1_32 ||
|
||||
if ((int)p->guard_interval < GUARD_INTERVAL_1_32 ||
|
||||
p->guard_interval > GUARD_INTERVAL_1_4)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -152,7 +152,7 @@ static int cx22700_set_tps(struct cx22700_state *state,
|
||||
p->modulation != QAM_64)
|
||||
return -EINVAL;
|
||||
|
||||
if (p->hierarchy < HIERARCHY_NONE ||
|
||||
if ((int)p->hierarchy < HIERARCHY_NONE ||
|
||||
p->hierarchy > HIERARCHY_4)
|
||||
return -EINVAL;
|
||||
|
||||
|
@@ -338,7 +338,7 @@ static int cx24123_set_fec(struct cx24123_state *state, fe_code_rate_t fec)
|
||||
{
|
||||
u8 nom_reg = cx24123_readreg(state, 0x0e) & ~0x07;
|
||||
|
||||
if ((fec < FEC_NONE) || (fec > FEC_AUTO))
|
||||
if (((int)fec < FEC_NONE) || (fec > FEC_AUTO))
|
||||
fec = FEC_AUTO;
|
||||
|
||||
/* Set the soft decision threshold */
|
||||
|
@@ -97,7 +97,7 @@ static inline int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
int dib9000_remove_slave_frontend(struct dvb_frontend *fe)
|
||||
static inline int dib9000_remove_slave_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
|
||||
return -ENODEV;
|
||||
|
@@ -1748,7 +1748,8 @@ static int DRX_Stop(struct drxd_state *state)
|
||||
return status;
|
||||
}
|
||||
|
||||
int SetOperationMode(struct drxd_state *state, int oMode)
|
||||
#if 0 /* Currently unused */
|
||||
static int SetOperationMode(struct drxd_state *state, int oMode)
|
||||
{
|
||||
int status;
|
||||
|
||||
@@ -1788,6 +1789,7 @@ int SetOperationMode(struct drxd_state *state, int oMode)
|
||||
state->operation_mode = oMode;
|
||||
return status;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int StartDiversity(struct drxd_state *state)
|
||||
{
|
||||
@@ -2612,7 +2614,7 @@ static int CDRXD(struct drxd_state *state, u32 IntermediateFrequency)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int DRXD_init(struct drxd_state *state, const u8 * fw, u32 fw_size)
|
||||
static int DRXD_init(struct drxd_state *state, const u8 *fw, u32 fw_size)
|
||||
{
|
||||
int status = 0;
|
||||
u32 driverVersion;
|
||||
@@ -2774,7 +2776,7 @@ int DRXD_init(struct drxd_state *state, const u8 * fw, u32 fw_size)
|
||||
return status;
|
||||
}
|
||||
|
||||
int DRXD_status(struct drxd_state *state, u32 * pLockStatus)
|
||||
static int DRXD_status(struct drxd_state *state, u32 *pLockStatus)
|
||||
{
|
||||
DRX_GetLockStatus(state, pLockStatus);
|
||||
|
||||
|
@@ -65,16 +65,6 @@ static bool IsQAM(struct drxk_state *state)
|
||||
state->m_OperationMode == OM_QAM_ITU_C;
|
||||
}
|
||||
|
||||
bool IsA1WithPatchCode(struct drxk_state *state)
|
||||
{
|
||||
return state->m_DRXK_A1_PATCH_CODE;
|
||||
}
|
||||
|
||||
bool IsA1WithRomCode(struct drxk_state *state)
|
||||
{
|
||||
return state->m_DRXK_A1_ROM_CODE;
|
||||
}
|
||||
|
||||
#define NOA1ROM 0
|
||||
|
||||
#define DRXDAP_FASI_SHORT_FORMAT(addr) (((addr) & 0xFC30FF80) == 0)
|
||||
@@ -189,7 +179,7 @@ static inline u32 MulDiv32(u32 a, u32 b, u32 c)
|
||||
return (u32) tmp64;
|
||||
}
|
||||
|
||||
inline u32 Frac28a(u32 a, u32 c)
|
||||
static inline u32 Frac28a(u32 a, u32 c)
|
||||
{
|
||||
int i = 0;
|
||||
u32 Q1 = 0;
|
||||
@@ -587,7 +577,7 @@ static int write_block(struct drxk_state *state, u32 Address,
|
||||
#define DRXK_MAX_RETRIES_POWERUP 20
|
||||
#endif
|
||||
|
||||
int PowerUpDevice(struct drxk_state *state)
|
||||
static int PowerUpDevice(struct drxk_state *state)
|
||||
{
|
||||
int status;
|
||||
u8 data = 0;
|
||||
@@ -720,11 +710,6 @@ static int init_state(struct drxk_state *state)
|
||||
|
||||
state->m_bPowerDown = (ulPowerDown != 0);
|
||||
|
||||
state->m_DRXK_A1_PATCH_CODE = false;
|
||||
state->m_DRXK_A1_ROM_CODE = false;
|
||||
state->m_DRXK_A2_ROM_CODE = false;
|
||||
state->m_DRXK_A3_ROM_CODE = false;
|
||||
state->m_DRXK_A2_PATCH_CODE = false;
|
||||
state->m_DRXK_A3_PATCH_CODE = false;
|
||||
|
||||
/* Init AGC and PGA parameters */
|
||||
@@ -921,7 +906,7 @@ static int GetDeviceCapabilities(struct drxk_state *state)
|
||||
status = write16(state, SCU_RAM_GPIO__A, SCU_RAM_GPIO_HW_LOCK_IND_DISABLE);
|
||||
if (status < 0)
|
||||
goto error;
|
||||
status = write16(state, SIO_TOP_COMM_KEY__A, 0xFABA);
|
||||
status = write16(state, SIO_TOP_COMM_KEY__A, SIO_TOP_COMM_KEY_KEY);
|
||||
if (status < 0)
|
||||
goto error;
|
||||
status = read16(state, SIO_PDR_OHW_CFG__A, &sioPdrOhwCfg);
|
||||
@@ -1217,7 +1202,7 @@ static int MPEGTSConfigurePins(struct drxk_state *state, bool mpegEnable)
|
||||
goto error;
|
||||
|
||||
/* MPEG TS pad configuration */
|
||||
status = write16(state, SIO_TOP_COMM_KEY__A, 0xFABA);
|
||||
status = write16(state, SIO_TOP_COMM_KEY__A, SIO_TOP_COMM_KEY_KEY);
|
||||
if (status < 0)
|
||||
goto error;
|
||||
|
||||
@@ -5461,6 +5446,7 @@ static int QAMDemodulatorCommand(struct drxk_state *state,
|
||||
} else {
|
||||
printk(KERN_WARNING "drxk: Unknown QAM demodulator parameter "
|
||||
"count %d\n", numberOfParameters);
|
||||
status = -EINVAL;
|
||||
}
|
||||
|
||||
error:
|
||||
|
@@ -320,11 +320,7 @@ struct drxk_state {
|
||||
|
||||
u8 *m_microcode;
|
||||
int m_microcode_length;
|
||||
bool m_DRXK_A1_PATCH_CODE;
|
||||
bool m_DRXK_A1_ROM_CODE;
|
||||
bool m_DRXK_A2_ROM_CODE;
|
||||
bool m_DRXK_A3_ROM_CODE;
|
||||
bool m_DRXK_A2_PATCH_CODE;
|
||||
bool m_DRXK_A3_ROM_CODE;
|
||||
bool m_DRXK_A3_PATCH_CODE;
|
||||
|
||||
bool m_rfmirror;
|
||||
|
@@ -30,7 +30,6 @@
|
||||
#include "ds3000.h"
|
||||
|
||||
static int debug;
|
||||
static int force_fw_upload;
|
||||
|
||||
#define dprintk(args...) \
|
||||
do { \
|
||||
@@ -234,7 +233,6 @@ struct ds3000_state {
|
||||
struct i2c_adapter *i2c;
|
||||
const struct ds3000_config *config;
|
||||
struct dvb_frontend frontend;
|
||||
u8 skip_fw_load;
|
||||
/* previous uncorrected block counter for DVB-S2 */
|
||||
u16 prevUCBS2;
|
||||
};
|
||||
@@ -397,9 +395,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (state->skip_fw_load || !force_fw_upload)
|
||||
return 0; /* Firmware already uploaded, skipping */
|
||||
|
||||
/* Load firmware */
|
||||
/* request the firmware, this will block until someone uploads it */
|
||||
printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__,
|
||||
@@ -413,9 +408,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Make sure we don't recurse back through here during loading */
|
||||
state->skip_fw_load = 1;
|
||||
|
||||
ret = ds3000_load_firmware(fe, fw);
|
||||
if (ret)
|
||||
printk("%s: Writing firmware to device failed\n", __func__);
|
||||
@@ -425,9 +417,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
|
||||
dprintk("%s: Firmware upload %s\n", __func__,
|
||||
ret == 0 ? "complete" : "failed");
|
||||
|
||||
/* Ensure firmware is always loaded if required */
|
||||
state->skip_fw_load = 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1309,10 +1298,8 @@ static struct dvb_frontend_ops ds3000_ops = {
|
||||
module_param(debug, int, 0644);
|
||||
MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
|
||||
|
||||
module_param(force_fw_upload, int, 0644);
|
||||
MODULE_PARM_DESC(force_fw_upload, "Force firmware upload (default:0)");
|
||||
|
||||
MODULE_DESCRIPTION("DVB Frontend module for Montage Technology "
|
||||
"DS3000/TS2020 hardware");
|
||||
MODULE_AUTHOR("Konstantin Dimitrov");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_FIRMWARE(DS3000_DEFAULT_FIRMWARE);
|
||||
|
@@ -180,11 +180,11 @@ static int apply_frontend_param(struct dvb_frontend *fe)
|
||||
p->transmission_mode != TRANSMISSION_MODE_8K)
|
||||
return -EINVAL;
|
||||
|
||||
if (p->guard_interval < GUARD_INTERVAL_1_32 ||
|
||||
if ((int)p->guard_interval < GUARD_INTERVAL_1_32 ||
|
||||
p->guard_interval > GUARD_INTERVAL_1_4)
|
||||
return -EINVAL;
|
||||
|
||||
if (p->hierarchy < HIERARCHY_NONE ||
|
||||
if ((int)p->hierarchy < HIERARCHY_NONE ||
|
||||
p->hierarchy > HIERARCHY_4)
|
||||
return -EINVAL;
|
||||
|
||||
|
@@ -549,7 +549,7 @@ static int mt312_set_frontend(struct dvb_frontend *fe)
|
||||
|| (p->frequency > fe->ops.info.frequency_max))
|
||||
return -EINVAL;
|
||||
|
||||
if ((p->inversion < INVERSION_OFF)
|
||||
if (((int)p->inversion < INVERSION_OFF)
|
||||
|| (p->inversion > INVERSION_ON))
|
||||
return -EINVAL;
|
||||
|
||||
@@ -557,7 +557,7 @@ static int mt312_set_frontend(struct dvb_frontend *fe)
|
||||
|| (p->symbol_rate > fe->ops.info.symbol_rate_max))
|
||||
return -EINVAL;
|
||||
|
||||
if ((p->fec_inner < FEC_NONE)
|
||||
if (((int)p->fec_inner < FEC_NONE)
|
||||
|| (p->fec_inner > FEC_AUTO))
|
||||
return -EINVAL;
|
||||
|
||||
|
@@ -130,7 +130,7 @@ static int rtl2830_rd_reg(struct rtl2830_priv *priv, u16 reg, u8 *val)
|
||||
}
|
||||
|
||||
/* write single register with mask */
|
||||
int rtl2830_wr_reg_mask(struct rtl2830_priv *priv, u16 reg, u8 val, u8 mask)
|
||||
static int rtl2830_wr_reg_mask(struct rtl2830_priv *priv, u16 reg, u8 val, u8 mask)
|
||||
{
|
||||
int ret;
|
||||
u8 tmp;
|
||||
@@ -150,7 +150,7 @@ int rtl2830_wr_reg_mask(struct rtl2830_priv *priv, u16 reg, u8 val, u8 mask)
|
||||
}
|
||||
|
||||
/* read single register with mask */
|
||||
int rtl2830_rd_reg_mask(struct rtl2830_priv *priv, u16 reg, u8 *val, u8 mask)
|
||||
static int rtl2830_rd_reg_mask(struct rtl2830_priv *priv, u16 reg, u8 *val, u8 mask)
|
||||
{
|
||||
int ret, i;
|
||||
u8 tmp;
|
||||
@@ -256,7 +256,7 @@ static int rtl2830_sleep(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int rtl2830_get_tune_settings(struct dvb_frontend *fe,
|
||||
static int rtl2830_get_tune_settings(struct dvb_frontend *fe,
|
||||
struct dvb_frontend_tune_settings *s)
|
||||
{
|
||||
s->min_delay_ms = 500;
|
||||
|
@@ -265,7 +265,7 @@ static int rtl2832_rd_reg(struct rtl2832_priv *priv, u8 reg, u8 page, u8 *val)
|
||||
return rtl2832_rd_regs(priv, reg, page, val, 1);
|
||||
}
|
||||
|
||||
int rtl2832_rd_demod_reg(struct rtl2832_priv *priv, int reg, u32 *val)
|
||||
static int rtl2832_rd_demod_reg(struct rtl2832_priv *priv, int reg, u32 *val)
|
||||
{
|
||||
int ret;
|
||||
|
||||
@@ -305,7 +305,7 @@ err:
|
||||
|
||||
}
|
||||
|
||||
int rtl2832_wr_demod_reg(struct rtl2832_priv *priv, int reg, u32 val)
|
||||
static int rtl2832_wr_demod_reg(struct rtl2832_priv *priv, int reg, u32 val)
|
||||
{
|
||||
int ret, i;
|
||||
u8 len;
|
||||
@@ -510,7 +510,7 @@ static int rtl2832_sleep(struct dvb_frontend *fe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int rtl2832_get_tune_settings(struct dvb_frontend *fe,
|
||||
static int rtl2832_get_tune_settings(struct dvb_frontend *fe,
|
||||
struct dvb_frontend_tune_settings *s)
|
||||
{
|
||||
struct rtl2832_priv *priv = fe->demodulator_priv;
|
||||
|
@@ -1260,7 +1260,7 @@ static inline void CONVERT32(u32 x, char *str)
|
||||
*str = '\0';
|
||||
}
|
||||
|
||||
int stb0899_get_dev_id(struct stb0899_state *state)
|
||||
static int stb0899_get_dev_id(struct stb0899_state *state)
|
||||
{
|
||||
u8 chip_id, release;
|
||||
u16 id;
|
||||
|
@@ -879,7 +879,8 @@ static u8 stv0367_readbits(struct stv0367_state *state, u32 label)
|
||||
return val;
|
||||
}
|
||||
|
||||
u8 stv0367_getbits(u8 reg, u32 label)
|
||||
#if 0 /* Currently, unused */
|
||||
static u8 stv0367_getbits(u8 reg, u32 label)
|
||||
{
|
||||
u8 mask, pos;
|
||||
|
||||
@@ -887,7 +888,7 @@ u8 stv0367_getbits(u8 reg, u32 label)
|
||||
|
||||
return (reg & mask) >> pos;
|
||||
}
|
||||
|
||||
#endif
|
||||
static int stv0367ter_gate_ctrl(struct dvb_frontend *fe, int enable)
|
||||
{
|
||||
struct stv0367_state *state = fe->demodulator_priv;
|
||||
@@ -1263,8 +1264,8 @@ stv0367_ter_signal_type stv0367ter_check_cpamp(struct stv0367_state *state,
|
||||
return CPAMPStatus;
|
||||
}
|
||||
|
||||
enum
|
||||
stv0367_ter_signal_type stv0367ter_lock_algo(struct stv0367_state *state)
|
||||
static enum stv0367_ter_signal_type
|
||||
stv0367ter_lock_algo(struct stv0367_state *state)
|
||||
{
|
||||
enum stv0367_ter_signal_type ret_flag;
|
||||
short int wd, tempo;
|
||||
@@ -1528,7 +1529,7 @@ static int stv0367ter_sleep(struct dvb_frontend *fe)
|
||||
return stv0367ter_standby(fe, 1);
|
||||
}
|
||||
|
||||
int stv0367ter_init(struct dvb_frontend *fe)
|
||||
static int stv0367ter_init(struct dvb_frontend *fe)
|
||||
{
|
||||
struct stv0367_state *state = fe->demodulator_priv;
|
||||
struct stv0367ter_state *ter_state = state->ter_state;
|
||||
@@ -2378,9 +2379,9 @@ static u32 stv0367cab_get_adc_freq(struct dvb_frontend *fe, u32 ExtClk_Hz)
|
||||
return ADCClk_Hz;
|
||||
}
|
||||
|
||||
enum stv0367cab_mod stv0367cab_SetQamSize(struct stv0367_state *state,
|
||||
u32 SymbolRate,
|
||||
enum stv0367cab_mod QAMSize)
|
||||
static enum stv0367cab_mod stv0367cab_SetQamSize(struct stv0367_state *state,
|
||||
u32 SymbolRate,
|
||||
enum stv0367cab_mod QAMSize)
|
||||
{
|
||||
/* Set QAM size */
|
||||
stv0367_writebits(state, F367CAB_QAM_MODE, QAMSize);
|
||||
@@ -2762,7 +2763,7 @@ static int stv0367cab_sleep(struct dvb_frontend *fe)
|
||||
return stv0367cab_standby(fe, 1);
|
||||
}
|
||||
|
||||
int stv0367cab_init(struct dvb_frontend *fe)
|
||||
static int stv0367cab_init(struct dvb_frontend *fe)
|
||||
{
|
||||
struct stv0367_state *state = fe->demodulator_priv;
|
||||
struct stv0367cab_state *cab_state = state->cab_state;
|
||||
|
@@ -96,7 +96,8 @@ static int tda10071_rd_reg(struct tda10071_priv *priv, u8 reg, u8 *val)
|
||||
}
|
||||
|
||||
/* write single register with mask */
|
||||
int tda10071_wr_reg_mask(struct tda10071_priv *priv, u8 reg, u8 val, u8 mask)
|
||||
static int tda10071_wr_reg_mask(struct tda10071_priv *priv,
|
||||
u8 reg, u8 val, u8 mask)
|
||||
{
|
||||
int ret;
|
||||
u8 tmp;
|
||||
@@ -116,7 +117,8 @@ int tda10071_wr_reg_mask(struct tda10071_priv *priv, u8 reg, u8 val, u8 mask)
|
||||
}
|
||||
|
||||
/* read single register with mask */
|
||||
int tda10071_rd_reg_mask(struct tda10071_priv *priv, u8 reg, u8 *val, u8 mask)
|
||||
static int tda10071_rd_reg_mask(struct tda10071_priv *priv,
|
||||
u8 reg, u8 *val, u8 mask)
|
||||
{
|
||||
int ret, i;
|
||||
u8 tmp;
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#include <asm/div64.h>
|
||||
|
||||
#include "dvb_frontend.h"
|
||||
#include "tda18271c2dd.h"
|
||||
|
||||
struct SStandardParam {
|
||||
s32 m_IFFrequency;
|
||||
|
Reference in New Issue
Block a user