@@ -62,64 +62,64 @@ struct axi_pwmgen {
62
62
unsigned int ch_period [AXI_PWMGEN_N_MAX_PWMS ];
63
63
};
64
64
65
- static inline unsigned int axi_pwmgen_read (struct axi_pwmgen * pwm ,
65
+ static inline unsigned int axi_pwmgen_read (struct axi_pwmgen * pwmgen ,
66
66
unsigned int reg )
67
67
{
68
- return readl (pwm -> base + reg );
68
+ return readl (pwmgen -> base + reg );
69
69
}
70
70
71
- static inline void axi_pwmgen_write (struct axi_pwmgen * pwm ,
71
+ static inline void axi_pwmgen_write (struct axi_pwmgen * pwmgen ,
72
72
unsigned int reg ,
73
73
unsigned int value )
74
74
{
75
- writel (value , pwm -> base + reg );
75
+ writel (value , pwmgen -> base + reg );
76
76
}
77
77
78
- static void axi_pwmgen_write_mask (struct axi_pwmgen * pwm ,
78
+ static void axi_pwmgen_write_mask (struct axi_pwmgen * pwmgen ,
79
79
unsigned int reg ,
80
80
unsigned int mask ,
81
81
unsigned int value )
82
82
{
83
83
unsigned int temp ;
84
84
85
- temp = axi_pwmgen_read (pwm , reg );
86
- axi_pwmgen_write (pwm , reg , (temp & ~mask ) | value );
85
+ temp = axi_pwmgen_read (pwmgen , reg );
86
+ axi_pwmgen_write (pwmgen , reg , (temp & ~mask ) | value );
87
87
}
88
88
89
89
static inline struct axi_pwmgen * to_axi_pwmgen (struct pwm_chip * chip )
90
90
{
91
91
return container_of (chip , struct axi_pwmgen , chip );
92
92
}
93
93
94
- static int axi_pwmgen_apply (struct pwm_chip * chip , struct pwm_device * device ,
94
+ static int axi_pwmgen_apply (struct pwm_chip * chip , struct pwm_device * pwm ,
95
95
const struct pwm_state * state )
96
96
{
97
97
unsigned long rate ;
98
98
unsigned long long clk_period_ps , target , cnt ;
99
- unsigned int ch = device -> hwpwm ;
100
- struct axi_pwmgen * pwm ;
99
+ unsigned int ch = pwm -> hwpwm ;
100
+ struct axi_pwmgen * pwmgen ;
101
101
102
- pwm = to_axi_pwmgen (chip );
103
- rate = clk_get_rate (pwm -> clk );
102
+ pwmgen = to_axi_pwmgen (chip );
103
+ rate = clk_get_rate (pwmgen -> clk );
104
104
clk_period_ps = DIV_ROUND_CLOSEST_ULL (AXI_PWMGEN_PSEC_PER_SEC , rate );
105
105
106
106
target = state -> period * axi_pwmgen_scales [state -> time_unit ];
107
107
cnt = target ? DIV_ROUND_CLOSEST_ULL (target , clk_period_ps ) : 0 ;
108
- pwm -> ch_period [ch ] = cnt ;
109
- axi_pwmgen_write (pwm , AXI_PWMGEN_CHX_PERIOD (pwm , ch ),
110
- state -> enabled ? pwm -> ch_period [ch ] : 0 );
108
+ pwmgen -> ch_period [ch ] = cnt ;
109
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_CHX_PERIOD (pwmgen , ch ),
110
+ state -> enabled ? pwmgen -> ch_period [ch ] : 0 );
111
111
112
112
target = state -> duty_cycle * axi_pwmgen_scales [state -> time_unit ];
113
113
cnt = target ? DIV_ROUND_CLOSEST_ULL (target , clk_period_ps ) : 0 ;
114
- axi_pwmgen_write (pwm , AXI_PWMGEN_CHX_DUTY (pwm , ch ), cnt );
114
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_CHX_DUTY (pwmgen , ch ), cnt );
115
115
116
116
target = state -> phase * axi_pwmgen_scales [state -> time_unit ];
117
117
cnt = target ? DIV_ROUND_CLOSEST_ULL (target , clk_period_ps ) : 0 ;
118
- axi_pwmgen_write (pwm , AXI_PWMGEN_CHX_PHASE (pwm , ch ), cnt );
118
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_CHX_PHASE (pwmgen , ch ), cnt );
119
119
120
120
/* Apply the new config */
121
- axi_pwmgen_write (pwm , AXI_PWMGEN_REG_CONFIG , AXI_PWMGEN_LOAD_CONIG );
122
- device -> state .time_unit = state -> time_unit ;
121
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_REG_CONFIG , AXI_PWMGEN_LOAD_CONIG );
122
+ pwm -> state .time_unit = state -> time_unit ;
123
123
124
124
return 0 ;
125
125
}
@@ -165,42 +165,42 @@ MODULE_DEVICE_TABLE(of, axi_pwmgen_ids);
165
165
166
166
static int axi_pwmgen_setup (struct pwm_chip * chip )
167
167
{
168
- struct axi_pwmgen * pwm ;
168
+ struct axi_pwmgen * pwmgen ;
169
169
unsigned int reg ;
170
170
int idx ;
171
171
172
- pwm = to_axi_pwmgen (chip );
173
- axi_pwmgen_write (pwm , AXI_PWMGEN_REG_SCRATCHPAD , AXI_PWMGEN_TEST_DATA );
174
- reg = axi_pwmgen_read (pwm , AXI_PWMGEN_REG_SCRATCHPAD );
172
+ pwmgen = to_axi_pwmgen (chip );
173
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_REG_SCRATCHPAD , AXI_PWMGEN_TEST_DATA );
174
+ reg = axi_pwmgen_read (pwmgen , AXI_PWMGEN_REG_SCRATCHPAD );
175
175
if (reg != AXI_PWMGEN_TEST_DATA ) {
176
176
dev_err (chip -> dev , "failed to access the device registers\n" );
177
177
return - EIO ;
178
178
}
179
179
180
- reg = axi_pwmgen_read (pwm , AXI_PWMGEN_REG_CORE_VERSION );
181
- pwm -> hw_maj_ver = AXI_PWMGEN_VERSION_MAJOR (reg );
180
+ reg = axi_pwmgen_read (pwmgen , AXI_PWMGEN_REG_CORE_VERSION );
181
+ pwmgen -> hw_maj_ver = AXI_PWMGEN_VERSION_MAJOR (reg );
182
182
183
- if (pwm -> hw_maj_ver != 1 && pwm -> hw_maj_ver != 2 ) {
183
+ if (pwmgen -> hw_maj_ver != 1 && pwmgen -> hw_maj_ver != 2 ) {
184
184
dev_err (chip -> dev , "Unsupported peripheral version %u.%u.%u\n" ,
185
185
AXI_PWMGEN_VERSION_MAJOR (reg ),
186
186
AXI_PWMGEN_VERSION_MINOR (reg ),
187
187
AXI_PWMGEN_VERSION_PATCH (reg ));
188
188
return - ENODEV ;
189
189
}
190
190
191
- pwm -> chip .npwm = axi_pwmgen_read (pwm , AXI_PWMGEN_REG_NPWM );
192
- if (pwm -> chip .npwm > AXI_PWMGEN_N_MAX_PWMS )
191
+ pwmgen -> chip .npwm = axi_pwmgen_read (pwmgen , AXI_PWMGEN_REG_NPWM );
192
+ if (pwmgen -> chip .npwm > AXI_PWMGEN_N_MAX_PWMS )
193
193
return - EINVAL ;
194
194
195
195
/* Disable all the outputs */
196
- for (idx = 0 ; idx < pwm -> chip .npwm ; idx ++ ) {
197
- axi_pwmgen_write (pwm , AXI_PWMGEN_CHX_PERIOD (pwm , idx ), 0 );
198
- axi_pwmgen_write (pwm , AXI_PWMGEN_CHX_DUTY (pwm , idx ), 0 );
199
- axi_pwmgen_write (pwm , AXI_PWMGEN_CHX_PHASE (pwm , idx ), 0 );
196
+ for (idx = 0 ; idx < pwmgen -> chip .npwm ; idx ++ ) {
197
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_CHX_PERIOD (pwmgen , idx ), 0 );
198
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_CHX_DUTY (pwmgen , idx ), 0 );
199
+ axi_pwmgen_write (pwmgen , AXI_PWMGEN_CHX_PHASE (pwmgen , idx ), 0 );
200
200
}
201
201
202
202
/* Enable the core */
203
- axi_pwmgen_write_mask (pwm , AXI_PWMGEN_REG_CONFIG , AXI_PWMGEN_RESET , 0 );
203
+ axi_pwmgen_write_mask (pwmgen , AXI_PWMGEN_REG_CONFIG , AXI_PWMGEN_RESET , 0 );
204
204
205
205
return 0 ;
206
206
}
@@ -212,40 +212,40 @@ static void axi_pwmgen_clk_disable(void *data)
212
212
213
213
static int axi_pwmgen_probe (struct platform_device * pdev )
214
214
{
215
- struct axi_pwmgen * pwm ;
215
+ struct axi_pwmgen * pwmgen ;
216
216
struct resource * mem ;
217
217
int ret ;
218
218
219
- pwm = devm_kzalloc (& pdev -> dev , sizeof (* pwm ), GFP_KERNEL );
220
- if (!pwm )
219
+ pwmgen = devm_kzalloc (& pdev -> dev , sizeof (* pwmgen ), GFP_KERNEL );
220
+ if (!pwmgen )
221
221
return - ENOMEM ;
222
222
223
223
mem = platform_get_resource (pdev , IORESOURCE_MEM , 0 );
224
- pwm -> base = devm_ioremap_resource (& pdev -> dev , mem );
225
- if (IS_ERR (pwm -> base ))
226
- return PTR_ERR (pwm -> base );
224
+ pwmgen -> base = devm_ioremap_resource (& pdev -> dev , mem );
225
+ if (IS_ERR (pwmgen -> base ))
226
+ return PTR_ERR (pwmgen -> base );
227
227
228
- pwm -> clk = devm_clk_get (& pdev -> dev , NULL );
229
- if (IS_ERR (pwm -> clk ))
230
- return PTR_ERR (pwm -> clk );
228
+ pwmgen -> clk = devm_clk_get (& pdev -> dev , NULL );
229
+ if (IS_ERR (pwmgen -> clk ))
230
+ return PTR_ERR (pwmgen -> clk );
231
231
232
- ret = clk_prepare_enable (pwm -> clk );
232
+ ret = clk_prepare_enable (pwmgen -> clk );
233
233
if (ret )
234
234
return ret ;
235
235
ret = devm_add_action_or_reset (& pdev -> dev , axi_pwmgen_clk_disable ,
236
- pwm -> clk );
236
+ pwmgen -> clk );
237
237
if (ret )
238
238
return ret ;
239
239
240
- pwm -> chip .dev = & pdev -> dev ;
241
- pwm -> chip .ops = & axi_pwmgen_pwm_ops ;
242
- pwm -> chip .base = -1 ;
240
+ pwmgen -> chip .dev = & pdev -> dev ;
241
+ pwmgen -> chip .ops = & axi_pwmgen_pwm_ops ;
242
+ pwmgen -> chip .base = -1 ;
243
243
244
- ret = axi_pwmgen_setup (& pwm -> chip );
244
+ ret = axi_pwmgen_setup (& pwmgen -> chip );
245
245
if (ret < 0 )
246
246
return ret ;
247
247
248
- return devm_pwmchip_add (& pdev -> dev , & pwm -> chip );
248
+ return devm_pwmchip_add (& pdev -> dev , & pwmgen -> chip );
249
249
}
250
250
251
251
static struct platform_driver axi_pwmgen_driver = {
0 commit comments