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
53struct omap_dm_timer;
54typedef struct omap_dm_timer pwm_omap_dmtimer;
55
56struct 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
71 * @chip: PWM chip providing this PWM device71 * @chip: PWM chip providing this PWM device
72 * @chip_data: chip-private data associated with the PWM device72 * @chip_data: chip-private data associated with the PWM device
73 * @args: PWM arguments73 * @args: PWM arguments
74 * @state: curent PWM channel state74 * @state: last applied state
75 * @last: last implemented state (for PWM_DEBUG)
75 */76 */
76struct pwm_device {77struct pwm_device {
77 const char *label;78 const char *label;
@@ -83,6 +84,7 @@ struct pwm_device { · 5 unmodified lines
83 84
84 struct pwm_args args;85 struct pwm_args args;
85 struct pwm_state state;86 struct pwm_state state;
87 struct pwm_state last;
86};88};
87 89
88/**90/**