xref: /linux/Documentation/driver-api/miscellaneous.rst (revision 9ad28ba1c6f054ef801bcd63c5b73792b4b1d9a4)
1Parallel Port Devices
2=====================
3
4.. kernel-doc:: include/linux/parport.h
5   :internal:
6
7.. kernel-doc:: drivers/parport/ieee1284.c
8   :export:
9
10.. kernel-doc:: drivers/parport/share.c
11   :export:
12
13.. kernel-doc:: drivers/parport/daisy.c
14   :internal:
15
1616x50 UART Driver
17=================
18
19.. kernel-doc:: drivers/tty/serial/8250/8250_core.c
20   :export:
21
22See serial/driver.rst for related APIs.
23
24Pulse-Width Modulation (PWM)
25============================
26
27Pulse-width modulation is a modulation technique primarily used to
28control power supplied to electrical devices.
29
30The PWM framework provides an abstraction for providers and consumers of
31PWM signals. A controller that provides one or more PWM signals is
32registered as :c:type:`struct pwm_chip <pwm_chip>`. Providers
33are expected to embed this structure in a driver-specific structure.
34This structure contains fields that describe a particular chip.
35
36A chip exposes one or more PWM signal sources, each of which exposed as
37a :c:type:`struct pwm_device <pwm_device>`. Operations can be
38performed on PWM devices to control the period, duty cycle, polarity and
39active state of the signal.
40
41Note that PWM devices are exclusive resources: they can always only be
42used by one consumer at a time.
43
44.. kernel-doc:: include/linux/pwm.h
45   :internal:
46
47.. kernel-doc:: drivers/pwm/core.c
48   :export:
49