• Home
  • Raw
  • Download

Lines Matching +full:device +full:- +full:unique

2  * Media device
25 #include <media/media-devnode.h>
26 #include <media/media-entity.h>
29 struct device;
32 * struct media_entity_notify - Media Entity Notify
39 * registered with the media device. This handler is intended for creating
50 * struct media_device_ops - Media device operations
60 * struct media_device - Media device
61 * @dev: Parent device
62 * @devnode: Media device node
63 * @driver_name: Optional device driver name. If not set, calls to
64 * %MEDIA_IOC_DEVICE_INFO will return ``dev->driver->name``.
67 * @model: Device model name
68 * @serial: Device serial number (optional)
69 * @bus_info: Unique and stable device location identifier
70 * @hw_revision: Hardware device revision
73 * @id: Unique ID used on the last registered graph object
74 * @entity_internal_idx: Unique internal entity ID used by the graph traversal
92 * This structure represents an abstract high-level media device. It allows easy
93 * access to entities and provides basic media device-level support. The
96 * The parent @dev is a physical device. It must be set before registering the
97 * media device.
100 * be unique.
111 * Use-case: find tuner entity connected to the decoder
127 /* dev->driver_data points to this struct. */
128 struct device *dev;
174 * media_entity_enum_init - Initialise an entity enumeration
177 * @mdev: The related media device
185 mdev->entity_internal_idx_max + 1); in media_entity_enum_init()
189 * media_device_init() - Initializes a media device element
193 * This function initializes the media device prior to its registration.
194 * The media device initialization and registration is split in two functions
195 * to avoid race conditions and make the media device available to user-space
198 * So drivers need to first initialize the media device, register any entity
199 * within the media device, create pad to pad links and then finally register
200 * the media device by calling media_device_register() as a final step.
205 * media_device_cleanup() - Cleanups a media device element
215 * __media_device_register() - Registers a media device element
225 * - &media_entity.dev must point to the parent device (usually a &pci_dev,
228 * - &media_entity.model must be filled with the device model name as a
229 * NUL-terminated UTF-8 string. The device/model revision must not be
234 * - &media_entity.serial is a unique serial number stored as a
235 * NUL-terminated ASCII string. The field is big enough to store a GUID
236 * in text form. If the hardware doesn't provide a unique serial number
239 * - &media_entity.bus_info represents the location of the device in the
240 * system as a NUL-terminated ASCII string. For PCI/PCIe devices
246 * - &media_entity.hw_revision is the hardware device revision in a
247 * driver-specific format. When possible the revision should be formatted
252 …* #) Upon successful registration a character device named media[0-9]+ is created. The device m…
254 * #) Unregistering a media device that hasn't been registered is **NOT** safe.
263 * media_device_register() - Registers a media device element
273 * media_device_unregister() - Unregisters a media device element
278 * media device.
283 * media_device_register_entity() - registers a media entity inside a
284 * previously registered media device.
289 * Entities are identified by a unique positive integer ID. The media
297 * calling media_device_register_entity(). Entities embedded in higher-level
298 * standard structures can have some of those fields set by the higher-level
301 * If the device has pads, media_entity_pads_init() should be called before
322 * media_device_unregister_entity() - unregisters a media entity.
332 * When a media device is unregistered, all its entities are unregistered
343 * media_device_register_entity_notify() - Registers a media entity_notify
346 * @mdev: The media device
359 * media_device_unregister_entity_notify() - Unregister a media entity notify
362 * @mdev: The media device
371 list_for_each_entry(entity, &(mdev)->entities, graph_obj.list)
375 list_for_each_entry(intf, &(mdev)->interfaces, graph_obj.list)
379 list_for_each_entry(pad, &(mdev)->pads, graph_obj.list)
383 list_for_each_entry(link, &(mdev)->links, graph_obj.list)
386 * media_device_pci_init() - create and initialize a
387 * struct &media_device from a PCI device.
391 * @name: media device name. If %NULL, the routine will use the default
392 * name for the pci device, given by pci_name() macro.
398 * __media_device_usb_init() - create and initialize a
399 * struct &media_device from a PCI device.
403 * @board_name: media device name. If %NULL, the routine will use the usb
406 * given by ``udev->dev->driver->name``, with is usually the wrong
463 * media_device_usb_init() - create and initialize a
464 * struct &media_device from a PCI device.
468 * @name: media device name. If %NULL, the routine will use the usb