4 .. kernel-doc:: include/linux/parport.h
7 .. kernel-doc:: drivers/parport/ieee1284.c
10 .. kernel-doc:: drivers/parport/share.c
13 .. kernel-doc:: drivers/parport/daisy.c
19 .. kernel-doc:: drivers/tty/serial/8250/8250_core.c
22 See serial/driver.rst for related APIs.
24 Pulse-Width Modulation (PWM)
25 ============================
27 Pulse-width modulation is a modulation technique primarily used to
28 control power supplied to electrical devices.
30 The PWM framework provides an abstraction for providers and consumers of
31 PWM signals. A controller that provides one or more PWM signals is
32 registered as :c:type:`struct pwm_chip <pwm_chip>`. Providers
33 are expected to embed this structure in a driver-specific structure.
34 This structure contains fields that describe a particular chip.
36 A chip exposes one or more PWM signal sources, each of which exposed as
37 a :c:type:`struct pwm_device <pwm_device>`. Operations can be
38 performed on PWM devices to control the period, duty cycle, polarity and
39 active state of the signal.
41 Note that PWM devices are exclusive resources: they can always only be
42 used by one consumer at a time.
44 .. kernel-doc:: include/linux/pwm.h
47 .. kernel-doc:: drivers/pwm/core.c