26
26
})
27
27
28
28
struct ftm_quaddec {
29
- struct counter_device counter ;
30
29
struct platform_device * pdev ;
31
30
void __iomem * ftm_base ;
32
31
bool big_endian ;
@@ -259,15 +258,17 @@ static struct counter_count ftm_quaddec_counts = {
259
258
260
259
static int ftm_quaddec_probe (struct platform_device * pdev )
261
260
{
261
+ struct counter_device * counter ;
262
262
struct ftm_quaddec * ftm ;
263
263
264
264
struct device_node * node = pdev -> dev .of_node ;
265
265
struct resource * io ;
266
266
int ret ;
267
267
268
- ftm = devm_kzalloc (& pdev -> dev , sizeof (* ftm ), GFP_KERNEL );
269
- if (!ftm )
268
+ counter = devm_counter_alloc (& pdev -> dev , sizeof (* ftm ));
269
+ if (!counter )
270
270
return - ENOMEM ;
271
+ ftm = counter_priv (counter );
271
272
272
273
io = platform_get_resource (pdev , IORESOURCE_MEM , 0 );
273
274
if (!io ) {
@@ -283,14 +284,13 @@ static int ftm_quaddec_probe(struct platform_device *pdev)
283
284
dev_err (& pdev -> dev , "Failed to map memory region\n" );
284
285
return - EINVAL ;
285
286
}
286
- ftm -> counter .name = dev_name (& pdev -> dev );
287
- ftm -> counter .parent = & pdev -> dev ;
288
- ftm -> counter .ops = & ftm_quaddec_cnt_ops ;
289
- ftm -> counter .counts = & ftm_quaddec_counts ;
290
- ftm -> counter .num_counts = 1 ;
291
- ftm -> counter .signals = ftm_quaddec_signals ;
292
- ftm -> counter .num_signals = ARRAY_SIZE (ftm_quaddec_signals );
293
- ftm -> counter .priv = ftm ;
287
+ counter -> name = dev_name (& pdev -> dev );
288
+ counter -> parent = & pdev -> dev ;
289
+ counter -> ops = & ftm_quaddec_cnt_ops ;
290
+ counter -> counts = & ftm_quaddec_counts ;
291
+ counter -> num_counts = 1 ;
292
+ counter -> signals = ftm_quaddec_signals ;
293
+ counter -> num_signals = ARRAY_SIZE (ftm_quaddec_signals );
294
294
295
295
mutex_init (& ftm -> ftm_quaddec_mutex );
296
296
@@ -300,9 +300,9 @@ static int ftm_quaddec_probe(struct platform_device *pdev)
300
300
if (ret )
301
301
return ret ;
302
302
303
- ret = devm_counter_register (& pdev -> dev , & ftm -> counter );
303
+ ret = devm_counter_add (& pdev -> dev , counter );
304
304
if (ret )
305
- return ret ;
305
+ return dev_err_probe ( & pdev -> dev , ret , "Failed to add counter\n" ) ;
306
306
307
307
return 0 ;
308
308
}
0 commit comments