Lines Matching refs:dev

50 	struct mei_device *dev;  in mei_open()  local
55 dev = container_of(inode->i_cdev, struct mei_device, cdev); in mei_open()
56 if (!dev) in mei_open()
59 mutex_lock(&dev->device_lock); in mei_open()
61 if (dev->dev_state != MEI_DEV_ENABLED) { in mei_open()
62 dev_dbg(dev->dev, "dev_state != MEI_ENABLED dev_state = %s\n", in mei_open()
63 mei_dev_state_str(dev->dev_state)); in mei_open()
68 cl = mei_cl_alloc_linked(dev, MEI_HOST_CLIENT_ID_ANY); in mei_open()
76 mutex_unlock(&dev->device_lock); in mei_open()
81 mutex_unlock(&dev->device_lock); in mei_open()
96 struct mei_device *dev; in mei_release() local
99 if (WARN_ON(!cl || !cl->dev)) in mei_release()
102 dev = cl->dev; in mei_release()
104 mutex_lock(&dev->device_lock); in mei_release()
105 if (cl == &dev->iamthif_cl) { in mei_release()
106 rets = mei_amthif_release(dev, file); in mei_release()
111 cl_dbg(dev, cl, "disconnecting\n"); in mei_release()
115 cl_dbg(dev, cl, "removing\n"); in mei_release()
123 mutex_unlock(&dev->device_lock); in mei_release()
142 struct mei_device *dev; in mei_read() local
148 if (WARN_ON(!cl || !cl->dev)) in mei_read()
151 dev = cl->dev; in mei_read()
154 mutex_lock(&dev->device_lock); in mei_read()
155 if (dev->dev_state != MEI_DEV_ENABLED) { in mei_read()
165 if (cl == &dev->iamthif_cl) { in mei_read()
166 rets = mei_amthif_read(dev, file, ubuf, length, offset); in mei_read()
189 dev_dbg(dev->dev, in mei_read()
201 mutex_unlock(&dev->device_lock); in mei_read()
212 mutex_lock(&dev->device_lock); in mei_read()
229 dev_dbg(dev->dev, "read operation failed %d\n", rets); in mei_read()
233 dev_dbg(dev->dev, "buf.size = %d buf.idx= %ld\n", in mei_read()
245 dev_dbg(dev->dev, "failed to copy data to userland\n"); in mei_read()
259 dev_dbg(dev->dev, "end mei read rets= %d\n", rets); in mei_read()
260 mutex_unlock(&dev->device_lock); in mei_read()
279 struct mei_device *dev; in mei_write() local
283 if (WARN_ON(!cl || !cl->dev)) in mei_write()
286 dev = cl->dev; in mei_write()
288 mutex_lock(&dev->device_lock); in mei_write()
290 if (dev->dev_state != MEI_DEV_ENABLED) { in mei_write()
295 me_cl = mei_me_cl_by_uuid_id(dev, &cl->cl_uuid, cl->me_client_id); in mei_write()
312 cl_err(dev, cl, "is not connected"); in mei_write()
316 if (cl == &dev->iamthif_cl) { in mei_write()
317 write_cb = mei_amthif_find_read_list_entry(dev, file); in mei_write()
340 dev_dbg(dev->dev, "failed to copy data from userland\n"); in mei_write()
345 if (cl == &dev->iamthif_cl) { in mei_write()
349 dev_err(dev->dev, in mei_write()
354 mutex_unlock(&dev->device_lock); in mei_write()
361 mutex_unlock(&dev->device_lock); in mei_write()
380 struct mei_device *dev; in mei_ioctl_connect_client() local
387 dev = cl->dev; in mei_ioctl_connect_client()
389 if (dev->dev_state != MEI_DEV_ENABLED) in mei_ioctl_connect_client()
397 me_cl = mei_me_cl_by_uuid(dev, &data->in_client_uuid); in mei_ioctl_connect_client()
399 dev_dbg(dev->dev, "Cannot connect to FW Client UUID = %pUl\n", in mei_ioctl_connect_client()
407 dev_dbg(dev->dev, "Connect to FW Client ID = %d\n", in mei_ioctl_connect_client()
409 dev_dbg(dev->dev, "FW Client - Protocol Version = %d\n", in mei_ioctl_connect_client()
411 dev_dbg(dev->dev, "FW Client - Max Msg Len = %d\n", in mei_ioctl_connect_client()
418 dev_dbg(dev->dev, "FW Client is amthi\n"); in mei_ioctl_connect_client()
419 if (!mei_cl_is_connected(&dev->iamthif_cl)) { in mei_ioctl_connect_client()
427 dev->iamthif_open_count++; in mei_ioctl_connect_client()
428 file->private_data = &dev->iamthif_cl; in mei_ioctl_connect_client()
433 rets = dev->iamthif_cl.status; in mei_ioctl_connect_client()
442 dev_dbg(dev->dev, "Can connect?\n"); in mei_ioctl_connect_client()
462 struct mei_device *dev; in mei_ioctl() local
468 if (WARN_ON(!cl || !cl->dev)) in mei_ioctl()
471 dev = cl->dev; in mei_ioctl()
473 dev_dbg(dev->dev, "IOCTL cmd = 0x%x", cmd); in mei_ioctl()
475 mutex_lock(&dev->device_lock); in mei_ioctl()
476 if (dev->dev_state != MEI_DEV_ENABLED) { in mei_ioctl()
483 dev_dbg(dev->dev, ": IOCTL_MEI_CONNECT_CLIENT.\n"); in mei_ioctl()
486 dev_dbg(dev->dev, "failed to copy data from userland\n"); in mei_ioctl()
498 dev_dbg(dev->dev, "failed to copy data to userland\n"); in mei_ioctl()
506 dev_err(dev->dev, ": unsupported ioctl %d.\n", cmd); in mei_ioctl()
511 mutex_unlock(&dev->device_lock); in mei_ioctl()
545 struct mei_device *dev; in mei_poll() local
548 if (WARN_ON(!cl || !cl->dev)) in mei_poll()
551 dev = cl->dev; in mei_poll()
553 mutex_lock(&dev->device_lock); in mei_poll()
556 if (dev->dev_state != MEI_DEV_ENABLED || in mei_poll()
562 if (cl == &dev->iamthif_cl) { in mei_poll()
563 mask = mei_amthif_poll(dev, file, wait); in mei_poll()
577 mutex_unlock(&dev->device_lock); in mei_poll()
593 struct mei_device *dev = dev_get_drvdata(device); in fw_status_show() local
598 mutex_lock(&dev->device_lock); in fw_status_show()
599 err = mei_fw_status(dev, &fw_status); in fw_status_show()
600 mutex_unlock(&dev->device_lock); in fw_status_show()
649 static int mei_minor_get(struct mei_device *dev) in mei_minor_get() argument
654 ret = idr_alloc(&mei_idr, dev, 0, MEI_MAX_DEVS, GFP_KERNEL); in mei_minor_get()
656 dev->minor = ret; in mei_minor_get()
658 dev_err(dev->dev, "too many mei devices\n"); in mei_minor_get()
669 static void mei_minor_free(struct mei_device *dev) in mei_minor_free() argument
672 idr_remove(&mei_idr, dev->minor); in mei_minor_free()
676 int mei_register(struct mei_device *dev, struct device *parent) in mei_register() argument
681 ret = mei_minor_get(dev); in mei_register()
686 devno = MKDEV(MAJOR(mei_devt), dev->minor); in mei_register()
687 cdev_init(&dev->cdev, &mei_fops); in mei_register()
688 dev->cdev.owner = parent->driver->owner; in mei_register()
691 ret = cdev_add(&dev->cdev, devno, 1); in mei_register()
694 MAJOR(mei_devt), dev->minor); in mei_register()
699 dev, mei_groups, in mei_register()
700 "mei%d", dev->minor); in mei_register()
704 MAJOR(mei_devt), dev->minor); in mei_register()
709 ret = mei_dbgfs_register(dev, dev_name(clsdev)); in mei_register()
720 cdev_del(&dev->cdev); in mei_register()
722 mei_minor_free(dev); in mei_register()
727 void mei_deregister(struct mei_device *dev) in mei_deregister() argument
731 devno = dev->cdev.dev; in mei_deregister()
732 cdev_del(&dev->cdev); in mei_deregister()
734 mei_dbgfs_deregister(dev); in mei_deregister()
738 mei_minor_free(dev); in mei_deregister()