24 #include <linux/module.h>
25 #include <linux/types.h>
26 #include <linux/slab.h>
28 #include <asm/uaccess.h>
29 #include <linux/i2c.h>
30 #include <linux/videodev2.h>
56 u8 data[3] = { 0x00, 0x00, 0x04 };
72 v4l2_err(sd,
"I/O error setting audmode\n");
98 vp27smpx_set_audmode(sd, vt->
audmode);
117 struct i2c_client *client = v4l2_get_subdevdata(sd);
122 static int vp27smpx_log_status(
struct v4l2_subdev *sd)
127 state->
radio ?
" (Radio)" :
"");
134 .log_status = vp27smpx_log_status,
135 .g_chip_ident = vp27smpx_g_chip_ident,
136 .s_std = vp27smpx_s_std,
140 .s_radio = vp27smpx_s_radio,
141 .s_tuner = vp27smpx_s_tuner,
142 .g_tuner = vp27smpx_g_tuner,
146 .core = &vp27smpx_core_ops,
147 .tuner = &vp27smpx_tuner_ops,
159 static int vp27smpx_probe(
struct i2c_client *client,
169 v4l_info(client,
"chip found @ 0x%x (%s)\n",
180 vp27smpx_set_audmode(sd, state->
audmode);
184 static int vp27smpx_remove(
struct i2c_client *client)
186 struct v4l2_subdev *sd = i2c_get_clientdata(client);
206 .probe = vp27smpx_probe,
207 .remove = vp27smpx_remove,
208 .id_table = vp27smpx_id,