Lines Matching +full:sub +full:- +full:function

1 .. SPDX-License-Identifier: GPL-2.0-only
13 export an interface for another subsystem to drive (e.g. SIOV Physical Function
14 export Virtual Function management). A split of the functionality into child-
15 devices representing sub-domains of functionality makes it possible to
16 compartmentalize, layer, and distribute domain-specific concerns via a Linux
17 device-driver model.
23 allows for the audio core device to be minimal and focused on hardware-specific
28 auxiliary_device within other domain-specific structures and the use of .ops
30 of a communication channel with the parent is domain-specific.
51 One example is a PCI network device that is RDMA-capable and exports a child
54 function on the NIC. The RDMA driver registers an auxiliary_driver that claims
58 Another use case is for the PCI device to be split out into multiple sub
59 functions. For each sub function an auxiliary_device is created. A PCI sub
60 function driver binds to such devices that creates its own one or more class
61 devices. A PCI sub function auxiliary device is likely to be contained in a
62 struct with additional attributes such as user defined sub function number and
72 function devices being physical devices.
82 Registering an auxiliary_device is a two-step process. First call
90 Unregistering an auxiliary_device is also a two-step process to mirror the
94 .. code-block:: c
108 populated with a non-NULL pointer to successfully register the auxiliary_device.
113 ------------------------------------------
126 auxiliary_driver's probe function, up to the parent object, and then have
150 .. code-block:: c
170 Auxiliary devices are created and registered by a subsystem-level core device
172 extend the scope of an auxiliary_device is to encapsulate it within a domain-
179 .. code-block:: c
197 core device's functionality extensible by adding additional domain-specific ops
200 .. code-block:: c
215 .. code-block:: c