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