History

Merge tag 'pwm/for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm

Pull pwm updates from Thierry Reding: "There's quite a few changes this time around. Most of these are fixes and cleanups, but there's also new chip support for some drivers and a bit of rework" * tag 'pwm/for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (33 commits) pwm: pca9685: Fix PWM/GPIO inter-operation pwm: Make pwm_apply_state_debug() static pwm: meson: Remove redundant assignment to variable fin_freq pwm: jz4740: Allow selection of PWM channels 0 and 1 pwm: jz4740: Obtain regmap from parent node pwm: jz4740: Improve algorithm of clock calculation pwm: jz4740: Use clocks from TCU driver pwm: sun4i: Remove redundant needs_delay pwm: omap-dmtimer: Implement .apply callback pwm: omap-dmtimer: Do not disable PWM before changing period/duty_cycle pwm: omap-dmtimer: Fix PWM enabling sequence pwm: omap-dmtimer: Update description for PWM OMAP DM timer pwm: omap-dmtimer: Drop unused header file pwm: renesas-tpu: Drop confusing registered message pwm: renesas-tpu: Fix late Runtime PM enablement pwm: rcar: Fix late Runtime PM enablement dt-bindings: pwm: renesas-tpu: Document more R-Car Gen2 support pwm: meson: Fix confusing indentation pwm: pca9685: Use gpio core provided macro GPIO_LINE_DIRECTION_OUT pwm: pca9685: Replace CONFIG_PM with __maybe_unused ...

Linus Torvalds committed 6 years ago

Commit 75bdc922 parents 6900433 9cc5f2320 files · +563 −349Browse files

Showing the changes to include/linux (2 of 20 files). Show all

Unified · Split

2 files
  1. include/linux/platform_data/pwm_omap_dmtimer.h +0 −90
  2. include/linux/pwm.h +3 −1
include/linux/platform_data/pwm_omap_dmtimer.h+0−90
@@ -1,90 +0,0 @@
1−/*
2− * include/linux/platform_data/pwm_omap_dmtimer.h
3− *
4− * OMAP Dual-Mode Timer PWM platform data
5− *
6− * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
7− * Tarun Kanti DebBarma <tarun.kanti@ti.com>
8− * Thara Gopinath <thara@ti.com>
9− *
10− * Platform device conversion and hwmod support.
11− *
12− * Copyright (C) 2005 Nokia Corporation
13− * Author: Lauri Leukkunen <lauri.leukkunen@nokia.com>
14− * PWM and clock framework support by Timo Teras.
15− *
16− * This program is free software; you can redistribute it and/or modify it
17− * under the terms of the GNU General Public License as published by the
18− * Free Software Foundation; either version 2 of the License, or (at your
19− * option) any later version.
20− *
21− * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
22− * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23− * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
24− * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25− * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26− * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27− * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28− * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29− *
30− * You should have received a copy of the GNU General Public License along
31− * with this program; if not, write to the Free Software Foundation, Inc.,
32− * 675 Mass Ave, Cambridge, MA 02139, USA.
33− */
34−
35−#ifndef __PWM_OMAP_DMTIMER_PDATA_H
36−#define __PWM_OMAP_DMTIMER_PDATA_H
37−
38−/* clock sources */
39−#define PWM_OMAP_DMTIMER_SRC_SYS_CLK 0x00
40−#define PWM_OMAP_DMTIMER_SRC_32_KHZ 0x01
41−#define PWM_OMAP_DMTIMER_SRC_EXT_CLK 0x02
42−
43−/* timer interrupt enable bits */
44−#define PWM_OMAP_DMTIMER_INT_CAPTURE (1 << 2)
45−#define PWM_OMAP_DMTIMER_INT_OVERFLOW (1 << 1)
46−#define PWM_OMAP_DMTIMER_INT_MATCH (1 << 0)
47−
48−/* trigger types */
49−#define PWM_OMAP_DMTIMER_TRIGGER_NONE 0x00
50−#define PWM_OMAP_DMTIMER_TRIGGER_OVERFLOW 0x01
51−#define PWM_OMAP_DMTIMER_TRIGGER_OVERFLOW_AND_COMPARE 0x02
52−
53−struct omap_dm_timer;
54−typedef struct omap_dm_timer pwm_omap_dmtimer;
55−
56−struct pwm_omap_dmtimer_pdata {
57− pwm_omap_dmtimer *(*request_by_node)(struct device_node *np);
58− pwm_omap_dmtimer *(*request_specific)(int timer_id);
59− pwm_omap_dmtimer *(*request)(void);
60−
61− int (*free)(pwm_omap_dmtimer *timer);
62−
63− void (*enable)(pwm_omap_dmtimer *timer);
64− void (*disable)(pwm_omap_dmtimer *timer);
65−
66− int (*get_irq)(pwm_omap_dmtimer *timer);
67− int (*set_int_enable)(pwm_omap_dmtimer *timer, unsigned int value);
68− int (*set_int_disable)(pwm_omap_dmtimer *timer, u32 mask);
69−
70− struct clk *(*get_fclk)(pwm_omap_dmtimer *timer);
71−
72− int (*start)(pwm_omap_dmtimer *timer);
73− int (*stop)(pwm_omap_dmtimer *timer);
74− int (*set_source)(pwm_omap_dmtimer *timer, int source);
75−
76− int (*set_load)(pwm_omap_dmtimer *timer, int autoreload,
77− unsigned int value);
78− int (*set_match)(pwm_omap_dmtimer *timer, int enable,
79− unsigned int match);
80− int (*set_pwm)(pwm_omap_dmtimer *timer, int def_on,
81− int toggle, int trigger);
82− int (*set_prescaler)(pwm_omap_dmtimer *timer, int prescaler);
83−
84− unsigned int (*read_counter)(pwm_omap_dmtimer *timer);
85− int (*write_counter)(pwm_omap_dmtimer *timer, unsigned int value);
86− unsigned int (*read_status)(pwm_omap_dmtimer *timer);
87− int (*write_status)(pwm_omap_dmtimer *timer, unsigned int value);
88−};
89−
90−#endif /* __PWM_OMAP_DMTIMER_PDATA_H */
include/linux/pwm.h+3−1
@@ -71,7 +71,8 @@ struct pwm_state { · 70 unmodified lines
7171 * @chip: PWM chip providing this PWM device
7272 * @chip_data: chip-private data associated with the PWM device
7373 * @args: PWM arguments
74− * @state: curent PWM channel state
74+ * @state: last applied state
75+ * @last: last implemented state (for PWM_DEBUG)
7576 */
7677 struct pwm_device {
7778 const char *label;
@@ -83,6 +84,7 @@ struct pwm_device { · 5 unmodified lines
8384
8485 struct pwm_args args;
8586 struct pwm_state state;
87+ struct pwm_state last;
8688 };
8789
8890 /**