OpenCloudOS-Kernel/drivers/pwm
Paul Cercueil 47096d702c pwm: jz4740: Let the pinctrl driver configure the pins
Now that the JZ4740 and similar SoCs have a pinctrl driver, we rely on
the pins being properly configured before the driver probes.

One inherent problem of this new approach is that the pinctrl framework
does not allow us to configure each pin on demand, when the various PWM
channels are requested or released. For instance, the PWM channels can
be configured from sysfs, which would require all PWM pins to be configured
properly beforehand for the PWM function, eventually causing conflicts
with other platform or board drivers.

The proper solution here would be to modify the pwm-jz4740 driver to
handle only one PWM channel, and create an instance of this driver
for each one of the 8 PWM channels. Then, it could use the pinctrl
framework to dynamically configure the PWM pin it controls.

Until this can be done, the only jz4740 board supported upstream
(Qi lb60) can configure all of its connected PWM pins in PWM function
mode, since those are not used by other drivers nor by GPIOs on the
board.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-22 17:21:06 +02:00
..
Kconfig pwm: Add MediaTek PWM support 2017-04-06 17:45:04 +02:00
Makefile pwm: Add MediaTek PWM support 2017-04-06 17:45:04 +02:00
core.c pwm: Try to load modules during pwm_get() 2017-01-30 09:36:42 +01:00
pwm-ab8500.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Implement the suspend/resume hooks 2017-04-06 17:45:02 +02:00
pwm-atmel-tcb.c misc: atmel_tclib: get and use slow clock 2015-10-06 12:33:14 +02:00
pwm-atmel.c pwm: atmel: Enable PWM on sama5d2 2017-04-06 17:45:03 +02:00
pwm-bcm-iproc.c pwm: Add support for Broadcom iProc PWM controller 2016-07-11 12:49:25 +02:00
pwm-bcm-kona.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-bcm2835.c pwm: bcm2835: Fix email address specification 2015-12-16 16:45:32 +01:00
pwm-berlin.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-bfin.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-brcmstb.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-clps711x.c pwm: clps711x: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:17 +02:00
pwm-crc.c pwm: Use pwm_get/set_xxx() helpers where appropriate 2016-05-17 14:44:59 +02:00
pwm-cros-ec.c pwm: cros-ec: Add __packed to prevent padding 2016-09-06 10:48:54 +02:00
pwm-ep93xx.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-fsl-ftm.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-hibvt.c pwm: Add PWM driver for HiSilicon BVT SOCs 2016-11-29 16:50:12 +01:00
pwm-img.c pwm: img: Test clock rate to avoid division by 0 2016-03-23 17:11:02 +01:00
pwm-imx.c Merge branch 'for-4.11/drivers' into for-next 2017-02-10 15:15:56 +01:00
pwm-jz4740.c pwm: jz4740: Let the pinctrl driver configure the pins 2017-05-22 17:21:06 +02:00
pwm-lp3943.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-lpc18xx-sct.c pwm: lpc-18xx: use pwm_set_chip_data 2016-09-08 10:55:05 +02:00
pwm-lpc32xx.c pwm: lpc32xx: Set PWM_PIN_LEVEL bit to default value 2016-07-11 12:49:29 +02:00
pwm-lpss-pci.c pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss-platform.c pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss.c pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss.h pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-mediatek.c pwm: mediatek: Don't explicitly set .owner 2017-04-13 17:35:00 +02:00
pwm-meson.c pwm: Changes for v4.10-rc1 2016-12-15 11:45:13 -08:00
pwm-mtk-disp.c pwm: Add MediaTek MT2701 display PWM driver support 2016-09-06 10:48:53 +02:00
pwm-mxs.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Allow for setting dmtimer clock source 2016-06-29 21:54:00 -07:00
pwm-pca9685.c pwm: pca9685: Fix GPIO-only operation 2017-04-13 17:35:01 +02:00
pwm-puv3.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-pxa.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-rcar.c pwm: rcar: Make use of pwm_is_enabled() 2016-05-17 14:44:57 +02:00
pwm-renesas-tpu.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-rockchip.c pwm: rockchip: State of PWM clock should synchronize with PWM enabled state 2017-04-06 15:08:52 +02:00
pwm-samsung.c pwm: samsung: Fix to use lowest div for large enough modulation bits 2016-09-06 10:48:55 +02:00
pwm-spear.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-sti.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-stm32.c pwm: Add driver for STM32 plaftorm 2017-01-25 16:11:55 +00:00
pwm-stmpe.c pwm: Add a driver for the STMPE PWM 2016-07-11 12:49:29 +02:00
pwm-sun4i.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-tegra.c pwm: tegra: Read PWM clock source rate in driver init 2017-04-13 17:35:40 +02:00
pwm-tiecap.c pwm: pwm-ti*: Remove support for local clock gating 2016-07-11 12:07:18 +02:00
pwm-tiehrpwm.c pwm: pwm-ti*: Remove support for local clock gating 2016-07-11 12:07:18 +02:00
pwm-tipwmss.c pwm: pwm-tipwmss: Remove all runtime PM gets/puts 2016-09-06 10:48:54 +02:00
pwm-twl-led.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-twl.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-vt8500.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
sysfs.c pwm: Fix device reference leak 2016-11-29 16:43:24 +01:00