Lines Matching refs:mdev
68 static struct media_entity *find_entity(struct media_device *mdev, u32 id) in find_entity() argument
75 spin_lock(&mdev->lock); in find_entity()
77 media_device_for_each_entity(entity, mdev) { in find_entity()
80 spin_unlock(&mdev->lock); in find_entity()
85 spin_unlock(&mdev->lock); in find_entity()
90 static long media_device_enum_entities(struct media_device *mdev, in media_device_enum_entities() argument
100 ent = find_entity(mdev, u_ent.id); in media_device_enum_entities()
128 static long __media_device_enum_links(struct media_device *mdev, in __media_device_enum_links() argument
133 entity = find_entity(mdev, links->entity); in __media_device_enum_links()
176 static long media_device_enum_links(struct media_device *mdev, in media_device_enum_links() argument
185 rval = __media_device_enum_links(mdev, &links); in media_device_enum_links()
195 static long media_device_setup_link(struct media_device *mdev, in media_device_setup_link() argument
209 source = find_entity(mdev, ulink.source.entity); in media_device_setup_link()
210 sink = find_entity(mdev, ulink.sink.entity); in media_device_setup_link()
281 static long media_device_enum_links32(struct media_device *mdev, in media_device_enum_links32() argument
297 return __media_device_enum_links(mdev, &links); in media_device_enum_links32()
347 struct media_device *mdev = to_media_device(to_media_devnode(cd)); in show_model() local
349 return sprintf(buf, "%.*s\n", (int)sizeof(mdev->model), mdev->model); in show_model()
358 static void media_device_release(struct media_devnode *mdev) in media_device_release() argument
372 int __must_check __media_device_register(struct media_device *mdev, in __media_device_register() argument
377 if (WARN_ON(mdev->dev == NULL || mdev->model[0] == 0)) in __media_device_register()
380 mdev->entity_id = 1; in __media_device_register()
381 INIT_LIST_HEAD(&mdev->entities); in __media_device_register()
382 spin_lock_init(&mdev->lock); in __media_device_register()
383 mutex_init(&mdev->graph_mutex); in __media_device_register()
386 mdev->devnode.fops = &media_device_fops; in __media_device_register()
387 mdev->devnode.parent = mdev->dev; in __media_device_register()
388 mdev->devnode.release = media_device_release; in __media_device_register()
389 ret = media_devnode_register(&mdev->devnode, owner); in __media_device_register()
393 ret = device_create_file(&mdev->devnode.dev, &dev_attr_model); in __media_device_register()
395 media_devnode_unregister(&mdev->devnode); in __media_device_register()
408 void media_device_unregister(struct media_device *mdev) in media_device_unregister() argument
413 list_for_each_entry_safe(entity, next, &mdev->entities, list) in media_device_unregister()
416 device_remove_file(&mdev->devnode.dev, &dev_attr_model); in media_device_unregister()
417 media_devnode_unregister(&mdev->devnode); in media_device_unregister()
426 int __must_check media_device_register_entity(struct media_device *mdev, in media_device_register_entity() argument
431 entity->parent = mdev; in media_device_register_entity()
433 spin_lock(&mdev->lock); in media_device_register_entity()
435 entity->id = mdev->entity_id++; in media_device_register_entity()
437 mdev->entity_id = max(entity->id + 1, mdev->entity_id); in media_device_register_entity()
438 list_add_tail(&entity->list, &mdev->entities); in media_device_register_entity()
439 spin_unlock(&mdev->lock); in media_device_register_entity()
454 struct media_device *mdev = entity->parent; in media_device_unregister_entity() local
456 if (mdev == NULL) in media_device_unregister_entity()
459 spin_lock(&mdev->lock); in media_device_unregister_entity()
461 spin_unlock(&mdev->lock); in media_device_unregister_entity()