/linux/virt/lib/ |
H A D | irqbypass.c | 87 struct irq_bypass_consumer *consumer; in irq_bypass_register_producer() local 107 list_for_each_entry(consumer, &consumers, node) { in irq_bypass_register_producer() 108 if (consumer->token == producer->token) { in irq_bypass_register_producer() 109 ret = __connect(producer, consumer); in irq_bypass_register_producer() 133 * and disconnect it from any connected IRQ consumer. 138 struct irq_bypass_consumer *consumer; in irq_bypass_unregister_producer() local 154 list_for_each_entry(consumer, &consumers, node) { in irq_bypass_unregister_producer() 155 if (consumer->token == producer->token) { in irq_bypass_unregister_producer() 156 __disconnect(producer, consumer); in irq_bypass_unregister_producer() 173 * irq_bypass_register_consumer - register IRQ bypass consumer [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-devlink | 7 denoted as ... above, is of the form <supplier>--<consumer> 8 where <supplier> is the supplier bus:device name and <consumer> 9 is the consumer bus:device name. 16 automatically removed by the driver core when the consumer and 21 - 'consumer unbind' 25 'consumer unbind' means the device link will be removed when 26 the consumer's driver is unbound from the consumer device. 32 when as long as the supplier and consumer devices themselves 35 What: /sys/class/devlink/.../consumer 39 This file is a symlink to the consumer device's sysfs directory. [all …]
|
H A D | sysfs-devices-consumer | 1 What: /sys/devices/.../consumer:<consumer> 5 The /sys/devices/.../consumer:<consumer> are symlinks to device 6 links where this device is the supplier. <consumer> denotes the 7 name of the consumer in that device link and is of the form
|
/linux/drivers/pps/ |
H A D | kc.c | 3 * PPS kernel consumer API 23 /* state variables to bind kernel consumer */ 25 /* PPS API (RFC 2783): current source and mode for kernel consumer */ 27 static int pps_kc_hardpps_mode; /* mode bits for kernel consumer */ 29 /* pps_kc_bind - control PPS kernel consumer binding 31 * @bind_args: kernel consumer bind parameters 33 * This function is used to bind or unbind PPS kernel consumer according to 38 /* Check if another consumer is already bound */ in pps_kc_bind() 47 " consumer\n"); in pps_kc_bind() 50 dev_err(pps->dev, "selected kernel consumer" in pps_kc_bind() [all …]
|
/linux/Documentation/driver-api/iio/ |
H A D | hw-consumer.rst | 2 HW consumer 5 case the buffers between IIO provider and IIO consumer are handled by hardware. 6 The Industrial I/O HW consumer offers a way to bond these IIO devices without 8 :file:`drivers/iio/buffer/hw-consumer.c` 11 * struct iio_hw_consumer — Hardware consumer structure 12 * :c:func:`iio_hw_consumer_alloc` — Allocate IIO hardware consumer 13 * :c:func:`iio_hw_consumer_free` — Free IIO hardware consumer 14 * :c:func:`iio_hw_consumer_enable` — Enable IIO hardware consumer 15 * :c:func:`iio_hw_consumer_disable` — Disable IIO hardware consumer 18 HW consumer setup [all …]
|
/linux/Documentation/power/regulator/ |
H A D | overview.rst | 39 - Consumer 43 Static: consumer does not change its supply voltage or 48 Dynamic: consumer needs to change its supply voltage or 59 Regulator -+-> Switch-1 -+-> Switch-2 --> [Consumer A] 61 | +-> [Consumer B], [Consumer C] 63 +-> [Consumer D], [Consumer E] 69 - Domain 3: Consumer A. 78 Regulator-1 -+-> Regulator-2 -+-> [Consumer A] 80 +-> [Consumer B] 84 - Domain 1: Regulator-2, Consumer B. [all …]
|
H A D | consumer.rst | 2 Regulator Consumer Driver Interface 5 This text describes the regulator interface for consumer device drivers. 9 1. Consumer Regulator Access (static & dynamic drivers) 12 A consumer driver can get access to its supply regulator by calling :: 16 The consumer passes in its struct device pointer and power supply ID. The core 19 regulator that supplies this consumer. 21 To release the regulator the consumer driver should call :: 25 Consumers can be supplied by more than one regulator e.g. codec consumer with 39 A consumer can enable its power supply by calling:: 45 This may happen if the consumer shares the regulator or the regulator has been [all …]
|
H A D | machine.rst | 10 Regulator-1 -+-> Regulator-2 --> [Consumer A @ 1.8 - 2.0V] 12 +-> [Consumer B @ 3.3V] 20 const char *dev_name; /* consumer dev_name() */ 21 const char *supply; /* consumer supply - e.g. "vcc" */ 27 REGULATOR_SUPPLY("Vcc", "consumer B"), 31 REGULATOR_SUPPLY("Vcc", "consumer A"), 34 This maps Regulator-1 to the 'Vcc' supply for Consumer B and maps Regulator-2 35 to the 'Vcc' supply for Consumer A. 59 with the core so that Regulator-1 is also enabled when Consumer A enables its
|
/linux/Documentation/admin-guide/gpio/ |
H A D | gpio-virtuser.rst | 3 Virtual GPIO Consumer 6 The virtual GPIO Consumer module allows users to instantiate virtual devices 8 consumer devices can be instantiated from device-tree or over configfs. 10 A virtual consumer uses the driver-facing GPIO APIs and allows to cover it with 17 The gpio-consumer module registers a configfs subsystem called 22 values of exposed attributes. Once the consumer is instantiated, this hierarchy 27 This is the top directory of the gpio-consumer configfs tree. 29 **Group:** ``/config/gpio-consumer/example-name`` 31 **Attribute:** ``/config/gpio-consumer/example-name/live`` 33 **Attribute:** ``/config/gpio-consumer/example-name/dev_name`` [all …]
|
/linux/Documentation/driver-api/ |
H A D | device_link.rst | 29 "supplier" device and its "consumer" devices, and it guarantees driver 30 presence on the supplier. The consumer devices are not probed before the 42 whenever and for as long as the consumer is runtime resumed. 49 :c:func:`device_initialize()` has been called for the consumer. 60 represents a driver presence dependency, yet is added from the consumer's 63 consumer in the first place. The onus is thus on the consumer to check 65 non-presence. [Note that it is valid to create a link from the consumer's 66 ``->probe`` callback while the supplier is still probing, but the consumer must 68 the case, for instance, if the consumer has just acquired some resources that 72 is added in the ``->probe`` callback of the supplier or consumer driver, it is [all …]
|
H A D | reset.rst | 13 the `consumer driver interface <#consumer-driver-interface>`__ (`API reference 14 <#reset-consumer-api>`__), which allows peripheral drivers to request control 49 Reset consumer 54 Consumer driver interface 58 Consumer drivers use get and put operations to acquire and release reset 94 Consumer drivers use the reset_control_assert() and reset_control_deassert() 101 Consumer drivers using shared reset controls should assume that the reset line 104 consumer has requested it to be deasserted. 109 Consumer drivers use reset_control_reset() to trigger a reset pulse on a 112 requesting a pulse from any consumer driver will reset all connected [all …]
|
H A D | pwrseq.rst | 36 dependencies) that a consumer selects by its name when requesting a handle 43 A handle passed by the pwrseq core to every consumer that serves as the 47 Consumer interface 50 The consumer API is aimed to be as simple as possible. The driver interested in 54 the consumer can request the powering down of its target with 72 Dynamic consumer matching 82 client device is indeed its consumer. For example: if the provider binds to the 84 consumer driver controls one of its modules, the provider driver may parse the 86 the PMU to the consumer.
|
/linux/Documentation/networking/ |
H A D | tls-handshake.rst | 31 kernel consumer might require a TLS handshake. Handshake agents listen 46 A kernel TLS consumer initiates a client-side TLS handshake on an open 65 The @ta_sock field references an open and connected socket. The consumer 67 while the handshake is in progress. The consumer must also have 75 The consumer can provide a NUL-terminated hostname in the @ta_peername 79 The consumer can fill in the @ta_timeout_ms field to force the servicing 86 that are instantiated by the consumer before making the handshake 87 request. The consumer can provide a private keyring that is linked into 91 To request an x.509-authenticated TLS session, the consumer fills in 113 However, in this case, the consumer fills in the @ta_my_peerids array [all …]
|
/linux/Documentation/core-api/ |
H A D | circular-buffers.rst | 15 (2) Memory barriers for when the producer and the consumer of objects in the 19 producer and just one consumer. It is possible to handle multiple producers by 31 - The consumer. 44 (2) A 'tail' index - the point at which the consumer finds the next item in 115 but the consumer may still be depleting the buffer on another CPU and 118 To the consumer it will show an upper bound as the producer may be busy 121 (2) CIRC_CNT*() are intended to be used in the consumer. To the consumer they 122 will return a lower bound as the consumer controls the tail index, but the 126 To the producer it will show an upper bound as the consumer may be busy 130 producer and consumer become visible cannot be guaranteed as they are [all …]
|
/linux/net/xdp/ |
H A D | xsk_queue.h | 18 /* Hinder the adjacent cache prefetcher to prefetch the consumer 22 u32 consumer ____cacheline_aligned_in_smp; 60 * consumer. For the Tx and fill rings, the kernel is the consumer and 63 * producer consumer 65 * if (LOAD ->consumer) { (A) LOAD.acq ->producer (C) 67 * STORE.rel ->producer (B) STORE.rel ->consumer (D) 73 * the producer pointer. If this barrier was missing, the consumer 75 * before the producer has written the new data. The consumer would in 78 * (C) protects the consumer from speculatively loading the data before 84 * (A) is a control dependency that separates the load of ->consumer [all …]
|
/linux/include/linux/ |
H A D | clk.h | 80 * @id: clock consumer ID 114 * @dev: device for clock "consumer" 192 * provider. It prevents any other consumer to execute, even indirectly, 374 * @dev: device for clock "consumer" 375 * @id: clock consumer ID 379 * uses @dev and @id to determine the clock consumer, and thereby 391 * @dev: device for clock "consumer" 393 * @clks: the clk_bulk_data table of consumer 402 * clock consumer, and thereby the clock producer. 414 * @dev: device for clock "consumer" [all …]
|
H A D | irqbypass.h | 27 * callbacks. Match tokens must be unique per producer/consumer, 1:N pairings 34 * @token: opaque token to match between producer and consumer (non-NULL) 36 * @add_consumer: Connect the IRQ producer to an IRQ consumer (optional) 37 * @del_consumer: Disconnect the IRQ producer from an IRQ consumer (optional) 58 * struct irq_bypass_consumer - IRQ bypass consumer definition 60 * @token: opaque token to match between producer and consumer (non-NULL) 61 * @add_producer: Connect the IRQ consumer to an IRQ producer 62 * @del_producer: Disconnect the IRQ consumer from an IRQ producer 66 * The IRQ bypass consumer structure represents an interrupt sink for
|
/linux/drivers/staging/iio/Documentation/ |
H A D | inkernel.txt | 20 consumer_dev_name allows identification of the consumer device. 21 This are then used to find the channel mapping from the consumer device (see 24 Finally consumer_channel is a string identifying the channel to the consumer. 37 to associate a given channel with the consumer requesting it. 39 Acting as an IIO consumer (consumer.h) 41 The consumer first has to obtain an iio_channel structure from the core 55 with a given consumer. This is useful for generic drivers such as 57 consumer driver. To do this, use iio_channel_get_all.
|
/linux/kernel/trace/ |
H A D | ring_buffer_benchmark.c | 34 static struct task_struct *consumer; variable 55 MODULE_PARM_DESC(consumer_nice, "nice prio for consumer"); 61 MODULE_PARM_DESC(consumer_fifo, "use fifo for consumer: 0 - disabled, 1 - low prio, 2 - fifo"); 269 if (consumer && !(cnt % wakeup_interval)) in ring_buffer_producer() 270 wake_up_process(consumer); in ring_buffer_producer() 288 if (consumer) { in ring_buffer_producer() 295 wake_up_process(consumer); in ring_buffer_producer() 309 trace_printk("Running Consumer at SCHED_FIFO %s\n", in ring_buffer_producer() 312 trace_printk("Running Consumer at nice: %d\n", in ring_buffer_producer() 408 if (consumer) { in ring_buffer_producer_thread() [all …]
|
/linux/drivers/gpio/ |
H A D | gpiolib-devres.c | 15 #include <linux/gpio/consumer.h> 52 * @dev: GPIO consumer 53 * @con_id: function within the GPIO consumer 75 * @dev: GPIO consumer 76 * @con_id: function within the GPIO consumer 98 * @dev: GPIO consumer 99 * @con_id: function within the GPIO consumer 100 * @idx: index of the GPIO to obtain in the consumer 153 * @dev: GPIO consumer 155 * @con_id: function within the GPIO consumer [all …]
|
/linux/arch/arm/mach-sti/ |
H A D | Kconfig | 3 bool "STMicroelectronics Consumer Electronics SOCs" 30 bool "STiH415 STMicroelectronics Consumer Electronics family" 33 This enables support for STMicroelectronics Digital Consumer 39 bool "STiH416 STMicroelectronics Consumer Electronics family" 42 This enables support for STMicroelectronics Digital Consumer 48 bool "STiH407 STMicroelectronics Consumer Electronics family" 52 This enables support for STMicroelectronics Digital Consumer
|
/linux/drivers/iio/buffer/ |
H A D | industrialio-hw-consumer.c | 13 #include <linux/iio/consumer.h> 14 #include <linux/iio/hw-consumer.h> 18 * struct iio_hw_consumer - IIO hw consumer block 78 * iio_hw_consumer_alloc() - Allocate IIO hardware consumer 79 * @dev: Pointer to consumer device. 126 * iio_hw_consumer_free() - Free IIO hardware consumer 127 * @hwc: hw consumer to free. 147 * @dev: Pointer to consumer device. 173 * iio_hw_consumer_enable() - Enable IIO hardware consumer 199 * iio_hw_consumer_disable() - Disable IIO hardware consumer [all …]
|
/linux/include/linux/iio/ |
H A D | consumer.h | 3 * Industrial I/O in kernel consumer interface 19 * struct iio_channel - everything needed for a consumer to use a channel 22 * @data: Data about the channel used by consumer. 32 * @dev: Pointer to consumer device. Device name must match 34 * with which the desired provider to consumer mapping 36 * @consumer_channel: Unique name to identify the channel on the consumer 38 * the consumer. E.g. 'battery_voltage' 51 * @dev: Pointer to consumer device. Device name must match 53 * with which the desired provider to consumer mapping 55 * @consumer_channel: Unique name to identify the channel on the consumer [all …]
|
/linux/drivers/gpu/drm/panel/ |
H A D | panel-boe-bf060y8m-aj0.c | 11 #include <linux/gpio/consumer.h> 14 #include <linux/regulator/consumer.h> 136 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_EL_VDD].consumer); in boe_bf060y8m_aj0_prepare() 139 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_EL_VSS].consumer); in boe_bf060y8m_aj0_prepare() 143 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VCC].consumer); in boe_bf060y8m_aj0_prepare() 147 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VDDIO].consumer); in boe_bf060y8m_aj0_prepare() 151 ret = regulator_enable(boe->vregs[BF060Y8M_VREG_VCI].consumer); in boe_bf060y8m_aj0_prepare() 168 regulator_disable(boe->vregs[BF060Y8M_VREG_VDDIO].consumer); in boe_bf060y8m_aj0_prepare() 170 regulator_disable(boe->vregs[BF060Y8M_VREG_VCC].consumer); in boe_bf060y8m_aj0_prepare() 172 regulator_disable(boe->vregs[BF060Y8M_VREG_EL_VSS].consumer); in boe_bf060y8m_aj0_prepare() [all …]
|
/linux/drivers/md/dm-vdo/ |
H A D | funnel-queue.h | 14 * (multi-producer) and delivers them to a single thread (single-consumer). "Funnel" is an attempt 16 * consumer. 37 * later producers, and only if the queue is short enough or the consumer fast enough for it to 40 * The consumer function, vdo_funnel_queue_poll(), will return NULL when the queue is empty. To 53 * producer and consumer fields in the structure will land on separate cache lines. This should be 63 /* The consumer's end of the queue, which is owned by the consumer and never NULL. */ in __aligned() 90 * consumer. Also, the entry's "next" field initialization to NULL must happen before any in vdo_funnel_queue_put() 98 * Preemptions between these two statements hide the rest of the queue from the consumer, in vdo_funnel_queue_put()
|