Lines Matching refs:mdev
69 static struct media_entity *find_entity(struct media_device *mdev, u32 id) in find_entity() argument
76 spin_lock(&mdev->lock); in find_entity()
78 media_device_for_each_entity(entity, mdev) { in find_entity()
81 spin_unlock(&mdev->lock); in find_entity()
86 spin_unlock(&mdev->lock); in find_entity()
91 static long media_device_enum_entities(struct media_device *mdev, in media_device_enum_entities() argument
101 ent = find_entity(mdev, u_ent.id); in media_device_enum_entities()
129 static long __media_device_enum_links(struct media_device *mdev, in __media_device_enum_links() argument
134 entity = find_entity(mdev, links->entity); in __media_device_enum_links()
177 static long media_device_enum_links(struct media_device *mdev, in media_device_enum_links() argument
186 rval = __media_device_enum_links(mdev, &links); in media_device_enum_links()
196 static long media_device_setup_link(struct media_device *mdev, in media_device_setup_link() argument
210 source = find_entity(mdev, ulink.source.entity); in media_device_setup_link()
211 sink = find_entity(mdev, ulink.sink.entity); in media_device_setup_link()
282 static long media_device_enum_links32(struct media_device *mdev, in media_device_enum_links32() argument
298 return __media_device_enum_links(mdev, &links); in media_device_enum_links32()
349 struct media_device *mdev = devnode->media_dev; in show_model() local
351 return sprintf(buf, "%.*s\n", (int)sizeof(mdev->model), mdev->model); in show_model()
360 static void media_device_release(struct media_devnode *mdev) in media_device_release() argument
374 int __must_check __media_device_register(struct media_device *mdev, in __media_device_register() argument
380 if (WARN_ON(mdev->dev == NULL || mdev->model[0] == 0)) in __media_device_register()
383 mdev->entity_id = 1; in __media_device_register()
384 INIT_LIST_HEAD(&mdev->entities); in __media_device_register()
385 spin_lock_init(&mdev->lock); in __media_device_register()
386 mutex_init(&mdev->graph_mutex); in __media_device_register()
393 mdev->devnode = devnode; in __media_device_register()
395 devnode->parent = mdev->dev; in __media_device_register()
397 ret = media_devnode_register(mdev, devnode, owner); in __media_device_register()
400 mdev->devnode = NULL; in __media_device_register()
407 mdev->devnode = NULL; in __media_device_register()
422 void media_device_unregister(struct media_device *mdev) in media_device_unregister() argument
428 media_devnode_unregister_prepare(mdev->devnode); in media_device_unregister()
430 list_for_each_entry_safe(entity, next, &mdev->entities, list) in media_device_unregister()
433 device_remove_file(&mdev->devnode->dev, &dev_attr_model); in media_device_unregister()
434 media_devnode_unregister(mdev->devnode); in media_device_unregister()
436 mdev->devnode = NULL; in media_device_unregister()
445 int __must_check media_device_register_entity(struct media_device *mdev, in media_device_register_entity() argument
450 entity->parent = mdev; in media_device_register_entity()
452 spin_lock(&mdev->lock); in media_device_register_entity()
454 entity->id = mdev->entity_id++; in media_device_register_entity()
456 mdev->entity_id = max(entity->id + 1, mdev->entity_id); in media_device_register_entity()
457 list_add_tail(&entity->list, &mdev->entities); in media_device_register_entity()
458 spin_unlock(&mdev->lock); in media_device_register_entity()
473 struct media_device *mdev = entity->parent; in media_device_unregister_entity() local
475 if (mdev == NULL) in media_device_unregister_entity()
478 spin_lock(&mdev->lock); in media_device_unregister_entity()
480 spin_unlock(&mdev->lock); in media_device_unregister_entity()