0c2498f166
This patch adds framework support for PWM (pulse width modulation) devices. The is a barebone PWM API already in the kernel under include/linux/pwm.h, but it does not allow for multiple drivers as each of them implements the pwm_*() functions. There are other PWM framework patches around from Bill Gatliff. Unlike his framework this one does not change the existing API for PWMs so that this framework can act as a drop in replacement for the existing API. Why another framework? Several people argue that there should not be another framework for PWMs but they should be integrated into one of the existing frameworks like led or hwmon. Unlike these frameworks the PWM framework is agnostic to the purpose of the PWM. In fact, a PWM can drive a LED, but this makes the LED framework a user of a PWM, like already done in leds-pwm.c. The gpio framework also is not suitable for PWMs. Every gpio could be turned into a PWM using timer based toggling, but on the other hand not every PWM hardware device can be turned into a gpio due to the lack of hardware capabilities. This patch does not try to improve the PWM API yet, this could be done in subsequent patches. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Kurt Van Dijck <kurt.van.dijck@eia.be> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Matthias Kaehlcke <matthias@kaehlcke.net> Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reviewed-by: Shawn Guo <shawn.guo@linaro.org> [thierry.reding@avionic-design.de: fixup typos, kerneldoc comments] Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
153 lines
2.4 KiB
Text
153 lines
2.4 KiB
Text
menu "Device Drivers"
|
|
|
|
source "drivers/base/Kconfig"
|
|
|
|
source "drivers/connector/Kconfig"
|
|
|
|
source "drivers/mtd/Kconfig"
|
|
|
|
source "drivers/of/Kconfig"
|
|
|
|
source "drivers/parport/Kconfig"
|
|
|
|
source "drivers/pnp/Kconfig"
|
|
|
|
source "drivers/block/Kconfig"
|
|
|
|
# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
|
|
|
|
source "drivers/misc/Kconfig"
|
|
|
|
source "drivers/ide/Kconfig"
|
|
|
|
source "drivers/scsi/Kconfig"
|
|
|
|
source "drivers/ata/Kconfig"
|
|
|
|
source "drivers/md/Kconfig"
|
|
|
|
source "drivers/target/Kconfig"
|
|
|
|
source "drivers/message/fusion/Kconfig"
|
|
|
|
source "drivers/firewire/Kconfig"
|
|
|
|
source "drivers/message/i2o/Kconfig"
|
|
|
|
source "drivers/macintosh/Kconfig"
|
|
|
|
source "drivers/net/Kconfig"
|
|
|
|
source "drivers/isdn/Kconfig"
|
|
|
|
# input before char - char/joystick depends on it. As does USB.
|
|
|
|
source "drivers/input/Kconfig"
|
|
|
|
source "drivers/char/Kconfig"
|
|
|
|
source "drivers/i2c/Kconfig"
|
|
|
|
source "drivers/spi/Kconfig"
|
|
|
|
source "drivers/hsi/Kconfig"
|
|
|
|
source "drivers/pps/Kconfig"
|
|
|
|
source "drivers/ptp/Kconfig"
|
|
|
|
source "drivers/pinctrl/Kconfig"
|
|
|
|
source "drivers/gpio/Kconfig"
|
|
|
|
source "drivers/w1/Kconfig"
|
|
|
|
source "drivers/power/Kconfig"
|
|
|
|
source "drivers/hwmon/Kconfig"
|
|
|
|
source "drivers/thermal/Kconfig"
|
|
|
|
source "drivers/watchdog/Kconfig"
|
|
|
|
source "drivers/ssb/Kconfig"
|
|
|
|
source "drivers/bcma/Kconfig"
|
|
|
|
source "drivers/mfd/Kconfig"
|
|
|
|
source "drivers/regulator/Kconfig"
|
|
|
|
source "drivers/media/Kconfig"
|
|
|
|
source "drivers/video/Kconfig"
|
|
|
|
source "sound/Kconfig"
|
|
|
|
source "drivers/hid/Kconfig"
|
|
|
|
source "drivers/usb/Kconfig"
|
|
|
|
source "drivers/uwb/Kconfig"
|
|
|
|
source "drivers/mmc/Kconfig"
|
|
|
|
source "drivers/memstick/Kconfig"
|
|
|
|
source "drivers/leds/Kconfig"
|
|
|
|
source "drivers/accessibility/Kconfig"
|
|
|
|
source "drivers/infiniband/Kconfig"
|
|
|
|
source "drivers/edac/Kconfig"
|
|
|
|
source "drivers/rtc/Kconfig"
|
|
|
|
source "drivers/dma/Kconfig"
|
|
|
|
source "drivers/dca/Kconfig"
|
|
|
|
source "drivers/auxdisplay/Kconfig"
|
|
|
|
source "drivers/uio/Kconfig"
|
|
|
|
source "drivers/vlynq/Kconfig"
|
|
|
|
source "drivers/virtio/Kconfig"
|
|
|
|
source "drivers/hv/Kconfig"
|
|
|
|
source "drivers/xen/Kconfig"
|
|
|
|
source "drivers/staging/Kconfig"
|
|
|
|
source "drivers/platform/Kconfig"
|
|
|
|
source "drivers/clk/Kconfig"
|
|
|
|
source "drivers/hwspinlock/Kconfig"
|
|
|
|
source "drivers/clocksource/Kconfig"
|
|
|
|
source "drivers/iommu/Kconfig"
|
|
|
|
source "drivers/remoteproc/Kconfig"
|
|
|
|
source "drivers/rpmsg/Kconfig"
|
|
|
|
source "drivers/virt/Kconfig"
|
|
|
|
source "drivers/devfreq/Kconfig"
|
|
|
|
source "drivers/extcon/Kconfig"
|
|
|
|
source "drivers/memory/Kconfig"
|
|
|
|
source "drivers/iio/Kconfig"
|
|
|
|
source "drivers/vme/Kconfig"
|
|
|
|
source "drivers/pwm/Kconfig"
|
|
|
|
endmenu
|