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/serial_core.c
22 .. kernel-doc:: drivers/tty/serial/8250/8250_core.c
25 Pulse-Width Modulation (PWM)
26 ============================
28 Pulse-width modulation is a modulation technique primarily used to
29 control power supplied to electrical devices.
31 The PWM framework provides an abstraction for providers and consumers of
32 PWM signals. A controller that provides one or more PWM signals is
33 registered as :c:type:`struct pwm_chip <pwm_chip>`. Providers
34 are expected to embed this structure in a driver-specific structure.
35 This structure contains fields that describe a particular chip.
37 A chip exposes one or more PWM signal sources, each of which exposed as
38 a :c:type:`struct pwm_device <pwm_device>`. Operations can be
39 performed on PWM devices to control the period, duty cycle, polarity and
40 active state of the signal.
42 Note that PWM devices are exclusive resources: they can always only be
43 used by one consumer at a time.
45 .. kernel-doc:: include/linux/pwm.h
48 .. kernel-doc:: drivers/pwm/core.c