Lines Matching refs:sd

129 	struct v4l2_subdev sd;  member
134 static inline struct saa7706h_state *to_state(struct v4l2_subdev *sd) in to_state() argument
136 return container_of(sd, struct saa7706h_state, sd); in to_state()
156 static int saa7706h_set_reg24(struct v4l2_subdev *sd, u16 reg, u32 val) in saa7706h_set_reg24() argument
158 struct i2c_client *client = v4l2_get_subdevdata(sd); in saa7706h_set_reg24()
171 static int saa7706h_set_reg24_err(struct v4l2_subdev *sd, u16 reg, u32 val, in saa7706h_set_reg24_err() argument
174 return *err ? *err : saa7706h_set_reg24(sd, reg, val); in saa7706h_set_reg24_err()
177 static int saa7706h_set_reg16(struct v4l2_subdev *sd, u16 reg, u16 val) in saa7706h_set_reg16() argument
179 struct i2c_client *client = v4l2_get_subdevdata(sd); in saa7706h_set_reg16()
191 static int saa7706h_set_reg16_err(struct v4l2_subdev *sd, u16 reg, u16 val, in saa7706h_set_reg16_err() argument
194 return *err ? *err : saa7706h_set_reg16(sd, reg, val); in saa7706h_set_reg16_err()
197 static int saa7706h_get_reg16(struct v4l2_subdev *sd, u16 reg) in saa7706h_get_reg16() argument
199 struct i2c_client *client = v4l2_get_subdevdata(sd); in saa7706h_get_reg16()
224 static int saa7706h_unmute(struct v4l2_subdev *sd) in saa7706h_unmute() argument
226 struct saa7706h_state *state = to_state(sd); in saa7706h_unmute()
229 err = saa7706h_set_reg16_err(sd, SAA7706H_REG_CTRL, in saa7706h_unmute()
236 err = saa7706h_set_reg16_err(sd, SAA7706H_REG_CTRL, in saa7706h_unmute()
239 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_EVALUATION, 0, &err); in saa7706h_unmute()
241 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_CL_GEN1, 0x040022, &err); in saa7706h_unmute()
243 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_CL_GEN2, in saa7706h_unmute()
246 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_CL_GEN4, 0x024080, &err); in saa7706h_unmute()
248 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_SEL, 0x200080, &err); in saa7706h_unmute()
250 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_IAC, 0xf4caed, &err); in saa7706h_unmute()
252 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_CLK_SET, 0x124334, &err); in saa7706h_unmute()
254 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_CLK_COEFF, 0x004a1a, in saa7706h_unmute()
257 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_INPUT_SENS, 0x0071c7, in saa7706h_unmute()
260 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_PHONE_NAV_AUDIO, in saa7706h_unmute()
263 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_IO_CONF_DSP2, 0x001ff8, in saa7706h_unmute()
266 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_STATUS_DSP2, 0x080003, in saa7706h_unmute()
269 err = saa7706h_set_reg24_err(sd, SAA7706H_REG_PC_DSP2, 0x000004, &err); in saa7706h_unmute()
271 err = saa7706h_set_reg16_err(sd, SAA7706H_DSP1_MOD0, 0x0c6c, &err); in saa7706h_unmute()
273 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_MPTR0, 0x000b4b, &err); in saa7706h_unmute()
275 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP1_MODPNTR, 0x000600, &err); in saa7706h_unmute()
277 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP1_MODPNTR, 0x0000c0, &err); in saa7706h_unmute()
279 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_XMEM_CONTLLCW, 0x000819, in saa7706h_unmute()
282 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_XMEM_CONTLLCW, 0x00085a, in saa7706h_unmute()
285 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_XMEM_BUSAMP, 0x7fffff, in saa7706h_unmute()
288 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_XMEM_FDACPNTR, 0x2000cb, in saa7706h_unmute()
291 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_XMEM_IIS1PNTR, 0x2000cb, in saa7706h_unmute()
294 err = saa7706h_set_reg16_err(sd, SAA7706H_DSP2_YMEM_PVGA, 0x0f80, &err); in saa7706h_unmute()
296 err = saa7706h_set_reg16_err(sd, SAA7706H_DSP2_YMEM_PVAT1, 0x0800, in saa7706h_unmute()
299 err = saa7706h_set_reg16_err(sd, SAA7706H_DSP2_YMEM_PVAT, 0x0800, &err); in saa7706h_unmute()
301 err = saa7706h_set_reg24_err(sd, SAA7706H_DSP2_XMEM_CONTLLCW, 0x000905, in saa7706h_unmute()
308 static int saa7706h_mute(struct v4l2_subdev *sd) in saa7706h_mute() argument
310 struct saa7706h_state *state = to_state(sd); in saa7706h_mute()
313 err = saa7706h_set_reg16(sd, SAA7706H_REG_CTRL, in saa7706h_mute()
329 return saa7706h_mute(&state->sd); in saa7706h_s_ctrl()
330 return saa7706h_unmute(&state->sd); in saa7706h_s_ctrl()
350 struct v4l2_subdev *sd; in saa7706h_probe() local
363 sd = &state->sd; in saa7706h_probe()
364 v4l2_i2c_subdev_init(sd, client, &empty_ops); in saa7706h_probe()
369 sd->ctrl_handler = &state->hdl; in saa7706h_probe()
375 err = saa7706h_get_reg16(sd, SAA7706H_DSP1_ROM_VER); in saa7706h_probe()
379 v4l2_warn(sd, "Unknown DSP1 ROM code version: 0x%x\n", err); in saa7706h_probe()
383 err = saa7706h_mute(sd); in saa7706h_probe()
390 v4l2_device_unregister_subdev(sd); in saa7706h_probe()
392 kfree(to_state(sd)); in saa7706h_probe()
401 struct v4l2_subdev *sd = i2c_get_clientdata(client); in saa7706h_remove() local
402 struct saa7706h_state *state = to_state(sd); in saa7706h_remove()
404 saa7706h_mute(sd); in saa7706h_remove()
405 v4l2_device_unregister_subdev(sd); in saa7706h_remove()
407 kfree(to_state(sd)); in saa7706h_remove()