Lines Matching refs:dev

50 static int send_control_msg(struct au0828_dev *dev, u16 request, u32 value,
52 static int recv_control_msg(struct au0828_dev *dev, u16 request, u32 value,
59 u32 au0828_readreg(struct au0828_dev *dev, u16 reg) in au0828_readreg() argument
63 recv_control_msg(dev, CMD_REQUEST_IN, 0, reg, &result, 1); in au0828_readreg()
69 u32 au0828_writereg(struct au0828_dev *dev, u16 reg, u32 val) in au0828_writereg() argument
72 return send_control_msg(dev, CMD_REQUEST_OUT, val, reg); in au0828_writereg()
75 static int send_control_msg(struct au0828_dev *dev, u16 request, u32 value, in send_control_msg() argument
80 if (dev->usbdev) { in send_control_msg()
83 status = usb_control_msg(dev->usbdev, in send_control_msg()
84 usb_sndctrlpipe(dev->usbdev, 0), in send_control_msg()
102 static int recv_control_msg(struct au0828_dev *dev, u16 request, u32 value, in recv_control_msg() argument
106 mutex_lock(&dev->mutex); in recv_control_msg()
107 if (dev->usbdev) { in recv_control_msg()
108 status = usb_control_msg(dev->usbdev, in recv_control_msg()
109 usb_rcvctrlpipe(dev->usbdev, 0), in recv_control_msg()
113 dev->ctrlmsg, size, 1000); in recv_control_msg()
124 memcpy(cp, dev->ctrlmsg, size); in recv_control_msg()
126 mutex_unlock(&dev->mutex); in recv_control_msg()
130 static void au0828_usb_release(struct au0828_dev *dev) in au0828_usb_release() argument
133 au0828_i2c_unregister(dev); in au0828_usb_release()
135 kfree(dev); in au0828_usb_release()
141 struct au0828_dev *dev = in au0828_usb_v4l2_release() local
144 v4l2_ctrl_handler_free(&dev->v4l2_ctrl_hdl); in au0828_usb_v4l2_release()
145 v4l2_device_unregister(&dev->v4l2_dev); in au0828_usb_v4l2_release()
146 au0828_usb_release(dev); in au0828_usb_v4l2_release()
152 struct au0828_dev *dev = usb_get_intfdata(interface); in au0828_usb_disconnect() local
162 set_bit(DEV_DISCONNECTED, &dev->dev_state); in au0828_usb_disconnect()
164 au0828_rc_unregister(dev); in au0828_usb_disconnect()
166 au0828_dvb_unregister(dev); in au0828_usb_disconnect()
169 mutex_lock(&dev->mutex); in au0828_usb_disconnect()
170 dev->usbdev = NULL; in au0828_usb_disconnect()
171 mutex_unlock(&dev->mutex); in au0828_usb_disconnect()
174 au0828_analog_unregister(dev); in au0828_usb_disconnect()
175 v4l2_device_disconnect(&dev->v4l2_dev); in au0828_usb_disconnect()
176 v4l2_device_put(&dev->v4l2_dev); in au0828_usb_disconnect()
180 au0828_usb_release(dev); in au0828_usb_disconnect()
189 struct au0828_dev *dev; in au0828_usb_probe() local
213 dev = kzalloc(sizeof(*dev), GFP_KERNEL); in au0828_usb_probe()
214 if (dev == NULL) { in au0828_usb_probe()
219 mutex_init(&dev->lock); in au0828_usb_probe()
220 mutex_lock(&dev->lock); in au0828_usb_probe()
221 mutex_init(&dev->mutex); in au0828_usb_probe()
222 mutex_init(&dev->dvb.lock); in au0828_usb_probe()
223 dev->usbdev = usbdev; in au0828_usb_probe()
224 dev->boardnr = id->driver_info; in au0828_usb_probe()
225 dev->board = au0828_boards[dev->boardnr]; in au0828_usb_probe()
229 dev->v4l2_dev.release = au0828_usb_v4l2_release; in au0828_usb_probe()
232 retval = v4l2_device_register(&interface->dev, &dev->v4l2_dev); in au0828_usb_probe()
236 mutex_unlock(&dev->lock); in au0828_usb_probe()
237 kfree(dev); in au0828_usb_probe()
241 retval = v4l2_ctrl_handler_init(&dev->v4l2_ctrl_hdl, 4); in au0828_usb_probe()
245 mutex_unlock(&dev->lock); in au0828_usb_probe()
246 kfree(dev); in au0828_usb_probe()
249 dev->v4l2_dev.ctrl_handler = &dev->v4l2_ctrl_hdl; in au0828_usb_probe()
253 au0828_write(dev, REG_600, 1 << 4); in au0828_usb_probe()
256 au0828_gpio_setup(dev); in au0828_usb_probe()
259 au0828_i2c_register(dev); in au0828_usb_probe()
262 au0828_card_setup(dev); in au0828_usb_probe()
267 au0828_analog_register(dev, interface); in au0828_usb_probe()
271 retval = au0828_dvb_register(dev); in au0828_usb_probe()
277 au0828_rc_register(dev); in au0828_usb_probe()
283 usb_set_intfdata(interface, dev); in au0828_usb_probe()
286 dev->board.name == NULL ? "Unset" : dev->board.name); in au0828_usb_probe()
288 mutex_unlock(&dev->lock); in au0828_usb_probe()
296 struct au0828_dev *dev = usb_get_intfdata(interface); in au0828_suspend() local
298 if (!dev) in au0828_suspend()
303 au0828_rc_suspend(dev); in au0828_suspend()
304 au0828_v4l2_suspend(dev); in au0828_suspend()
305 au0828_dvb_suspend(dev); in au0828_suspend()
314 struct au0828_dev *dev = usb_get_intfdata(interface); in au0828_resume() local
315 if (!dev) in au0828_resume()
321 au0828_write(dev, REG_600, 1 << 4); in au0828_resume()
324 au0828_gpio_setup(dev); in au0828_resume()
326 au0828_rc_resume(dev); in au0828_resume()
327 au0828_v4l2_resume(dev); in au0828_resume()
328 au0828_dvb_resume(dev); in au0828_resume()