Lines Matching refs:client

114 int msp_reset(struct i2c_client *client)  in msp_reset()  argument
123 .addr = client->addr, in msp_reset()
129 .addr = client->addr, in msp_reset()
137 .addr = client->addr, in msp_reset()
142 .addr = client->addr, in msp_reset()
149 v4l_dbg(3, msp_debug, client, "msp_reset\n"); in msp_reset()
150 if (i2c_transfer(client->adapter, &reset[0], 1) != 1 || in msp_reset()
151 i2c_transfer(client->adapter, &reset[1], 1) != 1 || in msp_reset()
152 i2c_transfer(client->adapter, test, 2) != 2) { in msp_reset()
153 v4l_err(client, "chip reset failed\n"); in msp_reset()
159 static int msp_read(struct i2c_client *client, int dev, int addr) in msp_read() argument
166 .addr = client->addr, in msp_read()
171 .addr = client->addr, in msp_read()
183 if (i2c_transfer(client->adapter, msgs, 2) == 2) in msp_read()
185 v4l_warn(client, "I/O error #%d (read 0x%02x/0x%02x)\n", err, in msp_read()
190 v4l_warn(client, "resetting chip, sound will go off.\n"); in msp_read()
191 msp_reset(client); in msp_read()
195 v4l_dbg(3, msp_debug, client, "msp_read(0x%x, 0x%x): 0x%x\n", in msp_read()
200 int msp_read_dem(struct i2c_client *client, int addr) in msp_read_dem() argument
202 return msp_read(client, I2C_MSP_DEM, addr); in msp_read_dem()
205 int msp_read_dsp(struct i2c_client *client, int addr) in msp_read_dsp() argument
207 return msp_read(client, I2C_MSP_DSP, addr); in msp_read_dsp()
210 static int msp_write(struct i2c_client *client, int dev, int addr, int val) in msp_write() argument
221 v4l_dbg(3, msp_debug, client, "msp_write(0x%x, 0x%x, 0x%x)\n", in msp_write()
224 if (i2c_master_send(client, buffer, 5) == 5) in msp_write()
226 v4l_warn(client, "I/O error #%d (write 0x%02x/0x%02x)\n", err, in msp_write()
231 v4l_warn(client, "resetting chip, sound will go off.\n"); in msp_write()
232 msp_reset(client); in msp_write()
238 int msp_write_dem(struct i2c_client *client, int addr, int val) in msp_write_dem() argument
240 return msp_write(client, I2C_MSP_DEM, addr, val); in msp_write_dem()
243 int msp_write_dsp(struct i2c_client *client, int addr, int val) in msp_write_dsp() argument
245 return msp_write(client, I2C_MSP_DSP, addr, val); in msp_write_dsp()
289 void msp_set_scart(struct i2c_client *client, int in, int out) in msp_set_scart() argument
291 struct msp_state *state = to_state(i2c_get_clientdata(client)); in msp_set_scart()
304 v4l_dbg(1, msp_debug, client, "scart switch: %s => %d (ACB=0x%04x)\n", in msp_set_scart()
306 msp_write_dsp(client, 0x13, state->acb); in msp_set_scart()
310 msp_write_dem(client, 0x40, state->i2s_mode); in msp_set_scart()
315 static void msp_wake_thread(struct i2c_client *client) in msp_wake_thread() argument
317 struct msp_state *state = to_state(i2c_get_clientdata(client)); in msp_wake_thread()
351 struct i2c_client *client = v4l2_get_subdevdata(&state->sd); in msp_s_ctrl() local
362 v4l_dbg(1, msp_debug, client, "mute=%s scanning=%s volume=%d\n", in msp_s_ctrl()
367 msp_write_dsp(client, 0x0000, val); in msp_s_ctrl()
368 msp_write_dsp(client, 0x0007, reallymuted ? 0x1 : (val | 0x1)); in msp_s_ctrl()
370 msp_write_dsp(client, 0x0040, reallymuted ? 0x1 : (val | 0x1)); in msp_s_ctrl()
372 msp_write_dsp(client, 0x0006, val); in msp_s_ctrl()
378 msp_write_dsp(client, 0x0002, val); in msp_s_ctrl()
380 msp_write_dsp(client, 0x0031, val); in msp_s_ctrl()
385 msp_write_dsp(client, 0x0003, val); in msp_s_ctrl()
387 msp_write_dsp(client, 0x0032, val); in msp_s_ctrl()
392 msp_write_dsp(client, 0x0004, val); in msp_s_ctrl()
394 msp_write_dsp(client, 0x0033, val); in msp_s_ctrl()
399 msp_write_dsp(client, 0x0001, val << 8); in msp_s_ctrl()
401 msp_write_dsp(client, 0x0030, val << 8); in msp_s_ctrl()
424 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_s_radio() local
429 v4l_dbg(1, msp_debug, client, "switching to radio mode\n"); in msp_s_radio()
434 msp3400c_set_mode(client, MSP_MODE_FM_RADIO); in msp_s_radio()
435 msp3400c_set_carrier(client, MSP_CARRIER(10.7), in msp_s_radio()
442 msp_wake_thread(client); in msp_s_radio()
450 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_s_frequency() local
453 msp_wake_thread(client); in msp_s_frequency()
460 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_querystd() local
464 v4l_dbg(2, msp_debug, client, in msp_querystd()
474 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_s_std() local
480 msp_wake_thread(client); in msp_s_std()
488 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_s_routing() local
508 msp_set_scart(client, sc_in, 0); in msp_s_routing()
509 msp_set_scart(client, sc1_out, 1); in msp_s_routing()
510 msp_set_scart(client, sc2_out, 2); in msp_s_routing()
511 msp_set_audmode(client); in msp_s_routing()
513 val = msp_read_dem(client, reg); in msp_s_routing()
514 msp_write_dem(client, reg, (val & ~0x100) | (tuner << 8)); in msp_s_routing()
516 msp_wake_thread(client); in msp_s_routing()
523 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_g_tuner() local
529 msp_detect_stereo(client); in msp_g_tuner()
541 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_s_tuner() local
549 msp_set_audmode(client); in msp_s_tuner()
556 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_s_i2s_clock_freq() local
558 v4l_dbg(1, msp_debug, client, "Setting I2S speed to %d\n", freq); in msp_s_i2s_clock_freq()
576 struct i2c_client *client = v4l2_get_subdevdata(sd); in msp_log_status() local
581 msp_detect_stereo(client); in msp_log_status()
582 v4l_info(client, "%s rev1 = 0x%04x rev2 = 0x%04x\n", in msp_log_status()
583 client->name, state->rev1, state->rev2); in msp_log_status()
599 v4l_info(client, "Mode: %s\n", p); in msp_log_status()
601 v4l_info(client, "Mode: %s (%s%s)\n", p, in msp_log_status()
606 v4l_info(client, "Mode: %s\n", p); in msp_log_status()
607 v4l_info(client, "Standard: %s (%s%s)\n", in msp_log_status()
612 v4l_info(client, "Audmode: 0x%04x\n", state->audmode); in msp_log_status()
613 v4l_info(client, "Routing: 0x%08x (input) 0x%08x (output)\n", in msp_log_status()
615 v4l_info(client, "ACB: 0x%04x\n", state->acb); in msp_log_status()
622 struct i2c_client *client = to_i2c_client(dev); in msp_suspend() local
623 v4l_dbg(1, msp_debug, client, "suspend\n"); in msp_suspend()
624 msp_reset(client); in msp_suspend()
630 struct i2c_client *client = to_i2c_client(dev); in msp_resume() local
631 v4l_dbg(1, msp_debug, client, "resume\n"); in msp_resume()
632 msp_wake_thread(client); in msp_resume()
680 static int msp_probe(struct i2c_client *client, const struct i2c_device_id *id) in msp_probe() argument
693 strlcpy(client->name, "msp3400", sizeof(client->name)); in msp_probe()
695 if (msp_reset(client) == -1) { in msp_probe()
696 v4l_dbg(1, msp_debug, client, "msp3400 not found\n"); in msp_probe()
700 state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL); in msp_probe()
705 v4l2_i2c_subdev_init(sd, client, &msp_ops); in msp_probe()
717 state->rev1 = msp_read_dsp(client, 0x1e); in msp_probe()
719 state->rev2 = msp_read_dsp(client, 0x1f); in msp_probe()
720 v4l_dbg(1, msp_debug, client, "rev1=0x%04x, rev2=0x%04x\n", in msp_probe()
723 v4l_dbg(1, msp_debug, client, in msp_probe()
826 v4l_info(client, "MSP%d4%02d%c-%c%d found @ 0x%x (%s)\n", in msp_probe()
829 client->addr << 1, client->adapter->name); in msp_probe()
830 v4l_info(client, "%s ", client->name); in msp_probe()
858 state->kthread = kthread_run(thread_func, client, "msp34xx"); in msp_probe()
861 v4l_warn(client, "kernel_thread() failed\n"); in msp_probe()
862 msp_wake_thread(client); in msp_probe()
867 static int msp_remove(struct i2c_client *client) in msp_remove() argument
869 struct msp_state *state = to_state(i2c_get_clientdata(client)); in msp_remove()
877 msp_reset(client); in msp_remove()