Lines Matching +full:irq +full:- +full:mirror

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2019-2020 Intel Corporation
5 * Please see Documentation/driver-api/auxiliary_bus.rst for more information.
55 * struct auxiliary_device - auxiliary device object.
62 * @sysfs.irqs: irqs xarray contains irq indices which are used by the device,
63 * @sysfs.lock: Synchronize irq sysfs creation,
74 * Registering an auxiliary_device is a three-step process.
77 * sub-device desired. The name, id, dev.release, and dev.parent fields of
88 * be populated with a non-NULL pointer to successfully register the
106 * .. code-block:: c
115 * my_aux_dev->name = MY_DEVICE_NAME;
116 * my_aux_dev->id = my_unique_id_alloc(xxx);
117 * my_aux_dev->dev.release = my_aux_dev_release;
118 * my_aux_dev->dev.parent = my_dev;
133 * Unregistering an auxiliary_device is a two-step process to mirror the
137 * .. code-block:: c
139 * auxiliary_device_delete(my_dev->my_aux_dev);
140 * auxiliary_device_uninit(my_dev->my_aux_dev);
148 struct mutex lock; /* Synchronize irq sysfs creation */
154 * struct auxiliary_driver - Definition of an auxiliary bus driver
157 * @shutdown: Called at shut-down time to quiesce the device.
173 * .. code-block:: c
202 return dev_get_drvdata(&auxdev->dev); in auxiliary_get_drvdata()
207 dev_set_drvdata(&auxdev->dev, data); in auxiliary_set_drvdata()
225 int auxiliary_device_sysfs_irq_add(struct auxiliary_device *auxdev, int irq);
227 int irq);
230 auxiliary_device_sysfs_irq_add(struct auxiliary_device *auxdev, int irq) in auxiliary_device_sysfs_irq_add() argument
236 auxiliary_device_sysfs_irq_remove(struct auxiliary_device *auxdev, int irq) {} in auxiliary_device_sysfs_irq_remove() argument
241 mutex_destroy(&auxdev->sysfs.lock); in auxiliary_device_uninit()
242 put_device(&auxdev->dev); in auxiliary_device_uninit()
247 device_del(&auxdev->dev); in auxiliary_device_delete()
258 * module_auxiliary_driver() - Helper macro for registering an auxiliary driver
265 * .. code-block:: c