40 for (; len > 0; len--, regs++) {
41 rval = smiapp_write_8(sensor, regs->
reg, regs->
val);
44 "error %d writing reg 0x%4.4x, val 0x%2.2x",
45 rval, regs->
reg, regs->
val);
56 struct i2c_client *client = v4l2_get_subdevdata(&sensor->
src->sd);
58 dev_dbg(&client->
dev,
"quirk: 0x%8.8x \"%s\" = %d, 0x%x\n",
67 struct i2c_client *client = v4l2_get_subdevdata(&sensor->
src->sd);
70 if (!sensor->
minfo.quirk)
73 sreg = sensor->
minfo.quirk->regs;
82 if (sreg->
type != type || sreg->
reg != reg16) {
89 dev_dbg(&client->
dev,
"quirk: 0x%8.8x: 0x%2.2x\n",
93 dev_dbg(&client->
dev,
"quirk: 0x%8.8x: 0x%4.4x\n",
97 dev_dbg(&client->
dev,
"quirk: 0x%8.8x: 0x%8.8x\n",
112 if (sensor->
minfo.revision_number_major < 0x03)
159 return smiapp_write_8s(sensor, regs,
ARRAY_SIZE(regs));
163 .limits = jt8ew9_limits,
164 .post_poweron = jt8ew9_post_poweron,
167 static int imx125es_post_poweron(
struct smiapp_sensor *sensor)
180 return smiapp_write_8s(sensor, regs,
ARRAY_SIZE(regs));
184 .post_poweron = imx125es_post_poweron,
198 struct i2c_client *client = v4l2_get_subdevdata(&sensor->
src->sd);
229 rval = smiapp_write_8s(sensor, regs,
ARRAY_SIZE(regs));
235 return smiapp_write_8s(sensor, regs_96,
238 dev_warn(&client->
dev,
"no MSRs for %d Hz ext_clk\n",
246 return smiapp_write_8(sensor, 0x3328, 0x00);
249 static int jt8ev1_post_streamoff(
struct smiapp_sensor *sensor)
254 rval = smiapp_write_8(sensor, 0x3205, 0x04);
262 rval = smiapp_write_8(sensor, 0x3205, 0x00);
266 return smiapp_write_8(sensor, 0x3328, 0x80);
270 .limits = jt8ev1_limits,
271 .post_poweron = jt8ev1_post_poweron,
272 .pre_streamon = jt8ev1_pre_streamon,
273 .post_streamoff = jt8ev1_post_streamoff,
285 .limits = tcm8500md_limits,