Skip to content

Commit

Permalink
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/ke…
Browse files Browse the repository at this point in the history
…rnel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:
 "A dvb core deadlock fix, a couple videobuf2 fixes an a series of media
  driver fixes"

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (30 commits)
  [media] videobuf2-dma-sg: fix possible memory leak
  [media] vb2: regression fix: always set length field.
  [media] mt9p031: Include linux/of.h header
  [media] rtl2830: add parent for I2C adapter
  [media] media: marvell-ccic: use devm to release clk
  [media] ths7303: Declare as static a private function
  [media] em28xx-video: Swap release order to avoid lock nesting
  [media] usbtv: Add support for PAL video source
  [media] media_tree: Fix spelling errors
  [media] videobuf2: Add support for file access mode flags for DMABUF exporting
  [media] radio-shark2: Mark shark_resume_leds() inline to kill compiler warning
  [media] radio-shark: Mark shark_resume_leds() inline to kill compiler warning
  [media] af9035: unlock on error in af9035_i2c_master_xfer()
  [media] af9033: fix broken I2C
  [media] v4l: omap3isp: Don't check for missing get_fmt op on remote subdev
  [media] af9035: fix broken I2C and USB I/O
  [media] wm8775: fix broken audio routing
  [media] marvell-ccic: drop resource free in driver remove
  [media] tef6862/radio-tea5764: actually assign clamp result
  [media] cx231xx: use after free on error path in probe
  ...
  • Loading branch information
Linus Torvalds committed Dec 12, 2013
2 parents 86b581f + 64c832a commit 846f29a
Show file tree
Hide file tree
Showing 70 changed files with 293 additions and 190 deletions.
8 changes: 5 additions & 3 deletions Documentation/DocBook/media/v4l/vidioc-expbuf.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ range from zero to the maximal number of valid planes for the currently active
format. For the single-planar API, applications must set <structfield> plane
</structfield> to zero. Additional flags may be posted in the <structfield>
flags </structfield> field. Refer to a manual for open() for details.
Currently only O_CLOEXEC is supported. All other fields must be set to zero.
Currently only O_CLOEXEC, O_RDONLY, O_WRONLY, and O_RDWR are supported. All
other fields must be set to zero.
In the case of multi-planar API, every plane is exported separately using
multiple <constant> VIDIOC_EXPBUF </constant> calls. </para>

Expand Down Expand Up @@ -170,8 +171,9 @@ multi-planar API. Otherwise this value must be set to zero. </entry>
<entry>__u32</entry>
<entry><structfield>flags</structfield></entry>
<entry>Flags for the newly created file, currently only <constant>
O_CLOEXEC </constant> is supported, refer to the manual of open() for more
details.</entry>
O_CLOEXEC </constant>, <constant>O_RDONLY</constant>, <constant>O_WRONLY
</constant>, and <constant>O_RDWR</constant> are supported, refer to the manual
of open() for more details.</entry>
</row>
<row>
<entry>__s32</entry>
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/common/siano/smscoreapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,7 @@ struct sms_rx_stats {
u32 modem_state; /* from SMSHOSTLIB_DVB_MODEM_STATE_ET */
s32 SNR; /* dB */
u32 ber; /* Post Viterbi ber [1E-5] */
u32 ber_error_count; /* Number of erronous SYNC bits. */
u32 ber_error_count; /* Number of erroneous SYNC bits. */
u32 ber_bit_count; /* Total number of SYNC bits. */
u32 ts_per; /* Transport stream PER,
0xFFFFFFFF indicate N/A */
Expand All @@ -981,7 +981,7 @@ struct sms_rx_stats_ex {
u32 modem_state; /* from SMSHOSTLIB_DVB_MODEM_STATE_ET */
s32 SNR; /* dB */
u32 ber; /* Post Viterbi ber [1E-5] */
u32 ber_error_count; /* Number of erronous SYNC bits. */
u32 ber_error_count; /* Number of erroneous SYNC bits. */
u32 ber_bit_count; /* Total number of SYNC bits. */
u32 ts_per; /* Transport stream PER,
0xFFFFFFFF indicate N/A */
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/common/siano/smsdvb.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ struct RECEPTION_STATISTICS_PER_SLICES_S {
u32 is_demod_locked; /* 0 - not locked, 1 - locked */

u32 ber_bit_count; /* Total number of SYNC bits. */
u32 ber_error_count; /* Number of erronous SYNC bits. */
u32 ber_error_count; /* Number of erroneous SYNC bits. */

s32 MRC_SNR; /* dB */
s32 mrc_in_band_pwr; /* In band power in dBM */
Expand Down
9 changes: 7 additions & 2 deletions drivers/media/dvb-core/dvb_demux.c
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ static void dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf)
dprintk_tscheck("TEI detected. "
"PID=0x%x data1=0x%x\n",
pid, buf[1]);
/* data in this packet cant be trusted - drop it unless
/* data in this packet can't be trusted - drop it unless
* module option dvb_demux_feed_err_pkts is set */
if (!dvb_demux_feed_err_pkts)
return;
Expand Down Expand Up @@ -1032,8 +1032,13 @@ static int dmx_section_feed_release_filter(struct dmx_section_feed *feed,
return -EINVAL;
}

if (feed->is_filtering)
if (feed->is_filtering) {
/* release dvbdmx->mutex as far as it is
acquired by stop_filtering() itself */
mutex_unlock(&dvbdmx->mutex);
feed->stop_filtering(feed);
mutex_lock(&dvbdmx->mutex);
}

spin_lock_irq(&dvbdmx->lock);
f = dvbdmxfeed->filter;
Expand Down
12 changes: 6 additions & 6 deletions drivers/media/dvb-frontends/af9033.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,18 +170,18 @@ static int af9033_rd_reg_mask(struct af9033_state *state, u32 reg, u8 *val,
static int af9033_wr_reg_val_tab(struct af9033_state *state,
const struct reg_val *tab, int tab_len)
{
#define MAX_TAB_LEN 212
int ret, i, j;
u8 buf[MAX_XFER_SIZE];
u8 buf[1 + MAX_TAB_LEN];

dev_dbg(&state->i2c->dev, "%s: tab_len=%d\n", __func__, tab_len);

if (tab_len > sizeof(buf)) {
dev_warn(&state->i2c->dev,
"%s: i2c wr len=%d is too big!\n",
KBUILD_MODNAME, tab_len);
dev_warn(&state->i2c->dev, "%s: tab len %d is too big\n",
KBUILD_MODNAME, tab_len);
return -EINVAL;
}

dev_dbg(&state->i2c->dev, "%s: tab_len=%d\n", __func__, tab_len);

for (i = 0, j = 0; i < tab_len; i++) {
buf[j] = tab[i].val;

Expand Down
2 changes: 1 addition & 1 deletion drivers/media/dvb-frontends/cxd2820r_c.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ int cxd2820r_set_frontend_c(struct dvb_frontend *fe)

num = if_freq / 1000; /* Hz => kHz */
num *= 0x4000;
if_ctl = cxd2820r_div_u64_round_closest(num, 41000);
if_ctl = 0x4000 - cxd2820r_div_u64_round_closest(num, 41000);
buf[0] = (if_ctl >> 8) & 0x3f;
buf[1] = (if_ctl >> 0) & 0xff;

Expand Down
4 changes: 2 additions & 2 deletions drivers/media/dvb-frontends/dib8000.c
Original file line number Diff line number Diff line change
Expand Up @@ -3048,7 +3048,7 @@ static int dib8000_tune(struct dvb_frontend *fe)
dib8000_set_diversity_in(state->fe[0], state->diversity_onoff);

locks = (dib8000_read_word(state, 180) >> 6) & 0x3f; /* P_coff_winlen ? */
/* coff should lock over P_coff_winlen ofdm symbols : give 3 times this lenght to lock */
/* coff should lock over P_coff_winlen ofdm symbols : give 3 times this length to lock */
*timeout = dib8000_get_timeout(state, 2 * locks, SYMBOL_DEPENDENT_ON);
*tune_state = CT_DEMOD_STEP_5;
break;
Expand Down Expand Up @@ -3115,7 +3115,7 @@ static int dib8000_tune(struct dvb_frontend *fe)

case CT_DEMOD_STEP_9: /* 39 */
if ((state->revision == 0x8090) || ((dib8000_read_word(state, 1291) >> 9) & 0x1)) { /* fe capable of deinterleaving : esram */
/* defines timeout for mpeg lock depending on interleaver lenght of longest layer */
/* defines timeout for mpeg lock depending on interleaver length of longest layer */
for (i = 0; i < 3; i++) {
if (c->layer[i].interleaving >= deeper_interleaver) {
dprintk("layer%i: time interleaver = %d ", i, c->layer[i].interleaving);
Expand Down
18 changes: 9 additions & 9 deletions drivers/media/dvb-frontends/drxk_hard.c
Original file line number Diff line number Diff line change
Expand Up @@ -1191,7 +1191,7 @@ static int mpegts_configure_pins(struct drxk_state *state, bool mpeg_enable)
goto error;

if (state->m_enable_parallel == true) {
/* paralel -> enable MD1 to MD7 */
/* parallel -> enable MD1 to MD7 */
status = write16(state, SIO_PDR_MD1_CFG__A,
sio_pdr_mdx_cfg);
if (status < 0)
Expand Down Expand Up @@ -1428,7 +1428,7 @@ static int mpegts_stop(struct drxk_state *state)

dprintk(1, "\n");

/* Gracefull shutdown (byte boundaries) */
/* Graceful shutdown (byte boundaries) */
status = read16(state, FEC_OC_SNC_MODE__A, &fec_oc_snc_mode);
if (status < 0)
goto error;
Expand Down Expand Up @@ -2021,7 +2021,7 @@ static int mpegts_dto_setup(struct drxk_state *state,
fec_oc_dto_burst_len = 204;
}

/* Check serial or parrallel output */
/* Check serial or parallel output */
fec_oc_reg_ipr_mode &= (~(FEC_OC_IPR_MODE_SERIAL__M));
if (state->m_enable_parallel == false) {
/* MPEG data output is serial -> set ipr_mode[0] */
Expand Down Expand Up @@ -2908,7 +2908,7 @@ static int adc_synchronization(struct drxk_state *state)
goto error;

if (count == 1) {
/* Try sampling on a diffrent edge */
/* Try sampling on a different edge */
u16 clk_neg = 0;

status = read16(state, IQM_AF_CLKNEG__A, &clk_neg);
Expand Down Expand Up @@ -3306,7 +3306,7 @@ static int dvbt_sc_command(struct drxk_state *state,
if (status < 0)
goto error;

/* Retreive results parameters from SC */
/* Retrieve results parameters from SC */
switch (cmd) {
/* All commands yielding 5 results */
/* All commands yielding 4 results */
Expand Down Expand Up @@ -3849,7 +3849,7 @@ static int set_dvbt(struct drxk_state *state, u16 intermediate_freqk_hz,
break;
}
#if 0
/* No hierachical channels support in BDA */
/* No hierarchical channels support in BDA */
/* Priority (only for hierarchical channels) */
switch (channel->priority) {
case DRX_PRIORITY_LOW:
Expand Down Expand Up @@ -4081,7 +4081,7 @@ static int set_dvbt(struct drxk_state *state, u16 intermediate_freqk_hz,
/*============================================================================*/

/**
* \brief Retreive lock status .
* \brief Retrieve lock status .
* \param demod Pointer to demodulator instance.
* \param lockStat Pointer to lock status structure.
* \return DRXStatus_t.
Expand Down Expand Up @@ -6174,7 +6174,7 @@ static int init_drxk(struct drxk_state *state)
goto error;

/* Stamp driver version number in SCU data RAM in BCD code
Done to enable field application engineers to retreive drxdriver version
Done to enable field application engineers to retrieve drxdriver version
via I2C from SCU RAM.
Not using SCU command interface for SCU register access since no
microcode may be present.
Expand Down Expand Up @@ -6399,7 +6399,7 @@ static int drxk_set_parameters(struct dvb_frontend *fe)
fe->ops.tuner_ops.get_if_frequency(fe, &IF);
start(state, 0, IF);

/* After set_frontend, stats aren't avaliable */
/* After set_frontend, stats aren't available */
p->strength.stat[0].scale = FE_SCALE_RELATIVE;
p->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
p->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
Expand Down
1 change: 1 addition & 0 deletions drivers/media/dvb-frontends/rtl2830.c
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,7 @@ struct dvb_frontend *rtl2830_attach(const struct rtl2830_config *cfg,
sizeof(priv->tuner_i2c_adapter.name));
priv->tuner_i2c_adapter.algo = &rtl2830_tuner_i2c_algo;
priv->tuner_i2c_adapter.algo_data = NULL;
priv->tuner_i2c_adapter.dev.parent = &i2c->dev;
i2c_set_adapdata(&priv->tuner_i2c_adapter, priv);
if (i2c_add_adapter(&priv->tuner_i2c_adapter) < 0) {
dev_err(&i2c->dev,
Expand Down
6 changes: 3 additions & 3 deletions drivers/media/i2c/adv7183_regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@
#define ADV7183_VS_FIELD_CTRL_1 0x31 /* Vsync field control 1 */
#define ADV7183_VS_FIELD_CTRL_2 0x32 /* Vsync field control 2 */
#define ADV7183_VS_FIELD_CTRL_3 0x33 /* Vsync field control 3 */
#define ADV7183_HS_POS_CTRL_1 0x34 /* Hsync positon control 1 */
#define ADV7183_HS_POS_CTRL_2 0x35 /* Hsync positon control 2 */
#define ADV7183_HS_POS_CTRL_3 0x36 /* Hsync positon control 3 */
#define ADV7183_HS_POS_CTRL_1 0x34 /* Hsync position control 1 */
#define ADV7183_HS_POS_CTRL_2 0x35 /* Hsync position control 2 */
#define ADV7183_HS_POS_CTRL_3 0x36 /* Hsync position control 3 */
#define ADV7183_POLARITY 0x37 /* Polarity */
#define ADV7183_NTSC_COMB_CTRL 0x38 /* NTSC comb control */
#define ADV7183_PAL_COMB_CTRL 0x39 /* PAL comb control */
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/adv7604.c
Original file line number Diff line number Diff line change
Expand Up @@ -877,7 +877,7 @@ static void configure_custom_video_timings(struct v4l2_subdev *sd,
break;
case ADV7604_MODE_HDMI:
/* set default prim_mode/vid_std for HDMI
accoring to [REF_03, c. 4.2] */
according to [REF_03, c. 4.2] */
io_write(sd, 0x00, 0x02); /* video std */
io_write(sd, 0x01, 0x06); /* prim mode */
break;
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/adv7842.c
Original file line number Diff line number Diff line change
Expand Up @@ -1013,7 +1013,7 @@ static void configure_custom_video_timings(struct v4l2_subdev *sd,
break;
case ADV7842_MODE_HDMI:
/* set default prim_mode/vid_std for HDMI
accoring to [REF_03, c. 4.2] */
according to [REF_03, c. 4.2] */
io_write(sd, 0x00, 0x02); /* video std */
io_write(sd, 0x01, 0x06); /* prim mode */
break;
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/ir-kbd-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)

if (!rc) {
/*
* If platform_data doesn't specify rc_dev, initilize it
* If platform_data doesn't specify rc_dev, initialize it
* internally
*/
rc = rc_allocate_device();
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/m5mols/m5mols_controls.c
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,7 @@ int m5mols_init_controls(struct v4l2_subdev *sd)
u16 zoom_step;
int ret;

/* Determine the firmware dependant control range and step values */
/* Determine the firmware dependent control range and step values */
ret = m5mols_read_u16(sd, AE_MAX_GAIN_MON, &exposure_max);
if (ret < 0)
return ret;
Expand Down
1 change: 1 addition & 0 deletions drivers/media/i2c/mt9p031.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <linux/i2c.h>
#include <linux/log2.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
#include <linux/pm.h>
#include <linux/regulator/consumer.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/s5c73m3/s5c73m3-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1460,7 +1460,7 @@ static int s5c73m3_oif_registered(struct v4l2_subdev *sd)
mutex_unlock(&state->lock);

v4l2_dbg(1, s5c73m3_dbg, sd, "%s: Booting %s (%d)\n",
__func__, ret ? "failed" : "succeded", ret);
__func__, ret ? "failed" : "succeeded", ret);

return ret;
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/s5c73m3/s5c73m3.h
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ struct s5c73m3 {

/* External master clock frequency */
u32 mclk_frequency;
/* Video bus type - MIPI-CSI2/paralell */
/* Video bus type - MIPI-CSI2/parallel */
enum v4l2_mbus_type bus_type;

const struct s5c73m3_frame_size *sensor_pix_size[2];
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/saa7115.c
Original file line number Diff line number Diff line change
Expand Up @@ -1699,7 +1699,7 @@ static void saa711x_write_platform_data(struct saa711x_state *state,
* the analog demod.
* If the tuner is not found, it returns -ENODEV.
* If auto-detection is disabled and the tuner doesn't match what it was
* requred, it returns -EINVAL and fills 'name'.
* required, it returns -EINVAL and fills 'name'.
* If the chip is found, it returns the chip ID and fills 'name'.
*/
static int saa711x_detect_chip(struct i2c_client *client,
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/i2c/soc_camera/ov5642.c
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ static const struct ov5642_datafmt
static int reg_read(struct i2c_client *client, u16 reg, u8 *val)
{
int ret;
/* We have 16-bit i2c addresses - care for endianess */
/* We have 16-bit i2c addresses - care for endianness */
unsigned char data[2] = { reg >> 8, reg & 0xff };

ret = i2c_master_send(client, data, 2);
Expand Down
3 changes: 2 additions & 1 deletion drivers/media/i2c/ths7303.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ static int ths7303_write(struct v4l2_subdev *sd, u8 reg, u8 val)
}

/* following function is used to set ths7303 */
int ths7303_setval(struct v4l2_subdev *sd, enum ths7303_filter_mode mode)
static int ths7303_setval(struct v4l2_subdev *sd,
enum ths7303_filter_mode mode)
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct ths7303_state *state = to_state(sd);
Expand Down
4 changes: 1 addition & 3 deletions drivers/media/i2c/wm8775.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,12 +130,10 @@ static int wm8775_s_routing(struct v4l2_subdev *sd,
return -EINVAL;
}
state->input = input;
if (!v4l2_ctrl_g_ctrl(state->mute))
if (v4l2_ctrl_g_ctrl(state->mute))
return 0;
if (!v4l2_ctrl_g_ctrl(state->vol))
return 0;
if (!v4l2_ctrl_g_ctrl(state->bal))
return 0;
wm8775_set_audio(sd, 1);
return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion drivers/media/pci/bt8xx/bttv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -4182,7 +4182,8 @@ static int bttv_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)
}
btv->std = V4L2_STD_PAL;
init_irqreg(btv);
v4l2_ctrl_handler_setup(hdl);
if (!bttv_tvcards[btv->c.type].no_video)
v4l2_ctrl_handler_setup(hdl);
if (hdl->error) {
result = hdl->error;
goto fail2;
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/pci/cx18/cx18-driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ struct cx18_options {
};

/* per-mdl bit flags */
#define CX18_F_M_NEED_SWAP 0 /* mdl buffer data must be endianess swapped */
#define CX18_F_M_NEED_SWAP 0 /* mdl buffer data must be endianness swapped */

/* per-stream, s_flags */
#define CX18_F_S_CLAIMED 3 /* this stream is claimed */
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/pci/cx23885/cx23885-417.c
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ int mc417_register_read(struct cx23885_dev *dev, u16 address, u32 *value)
cx_write(MC417_RWD, regval);

/* Transition RD to effect read transaction across bus.
* Transtion 0x5000 -> 0x9000 correct (RD/RDY -> WR/RDY)?
* Transition 0x5000 -> 0x9000 correct (RD/RDY -> WR/RDY)?
* Should it be 0x9000 -> 0xF000 (also why is RDY being set, its
* input only...)
*/
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/pci/pluto2/pluto2.c
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ static int pluto_hw_init(struct pluto *pluto)
/* set automatic LED control by FPGA */
pluto_rw(pluto, REG_MISC, MISC_ALED, MISC_ALED);

/* set data endianess */
/* set data endianness */
#ifdef __LITTLE_ENDIAN
pluto_rw(pluto, REG_PIDn(0), PID0_END, PID0_END);
#else
Expand Down
4 changes: 3 additions & 1 deletion drivers/media/pci/saa7164/saa7164-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1354,9 +1354,11 @@ static int saa7164_initdev(struct pci_dev *pci_dev,
if (fw_debug) {
dev->kthread = kthread_run(saa7164_thread_function, dev,
"saa7164 debug");
if (!dev->kthread)
if (IS_ERR(dev->kthread)) {
dev->kthread = NULL;
printk(KERN_ERR "%s() Failed to create "
"debug kernel thread\n", __func__);
}
}

} /* != BOARD_UNKNOWN */
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/platform/coda.c
Original file line number Diff line number Diff line change
Expand Up @@ -1434,7 +1434,7 @@ static void coda_buf_queue(struct vb2_buffer *vb)
if (q_data->fourcc == V4L2_PIX_FMT_H264 &&
vb->vb2_queue->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
/*
* For backwards compatiblity, queuing an empty buffer marks
* For backwards compatibility, queuing an empty buffer marks
* the stream end
*/
if (vb2_get_plane_payload(vb, 0) == 0)
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/platform/exynos4-is/fimc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1039,7 +1039,7 @@ static int fimc_runtime_resume(struct device *dev)

dbg("fimc%d: state: 0x%lx", fimc->id, fimc->state);

/* Enable clocks and perform basic initalization */
/* Enable clocks and perform basic initialization */
clk_enable(fimc->clock[CLK_GATE]);
fimc_hw_reset(fimc);

Expand Down
Loading

0 comments on commit 846f29a

Please sign in to comment.