63
63
#define INTEL_QEP_CLK_PERIOD_NS 10
64
64
65
65
struct intel_qep {
66
- struct counter_device counter ;
67
66
struct mutex lock ;
68
67
struct device * dev ;
69
68
void __iomem * regs ;
@@ -392,14 +391,16 @@ static struct counter_count intel_qep_counter_count[] = {
392
391
393
392
static int intel_qep_probe (struct pci_dev * pci , const struct pci_device_id * id )
394
393
{
394
+ struct counter_device * counter ;
395
395
struct intel_qep * qep ;
396
396
struct device * dev = & pci -> dev ;
397
397
void __iomem * regs ;
398
398
int ret ;
399
399
400
- qep = devm_kzalloc (dev , sizeof (* qep ), GFP_KERNEL );
401
- if (!qep )
400
+ counter = devm_counter_alloc (dev , sizeof (* qep ));
401
+ if (!counter )
402
402
return - ENOMEM ;
403
+ qep = counter_priv (counter );
403
404
404
405
ret = pcim_enable_device (pci );
405
406
if (ret )
@@ -422,20 +423,23 @@ static int intel_qep_probe(struct pci_dev *pci, const struct pci_device_id *id)
422
423
intel_qep_init (qep );
423
424
pci_set_drvdata (pci , qep );
424
425
425
- qep -> counter .name = pci_name (pci );
426
- qep -> counter .parent = dev ;
427
- qep -> counter .ops = & intel_qep_counter_ops ;
428
- qep -> counter .counts = intel_qep_counter_count ;
429
- qep -> counter .num_counts = ARRAY_SIZE (intel_qep_counter_count );
430
- qep -> counter .signals = intel_qep_signals ;
431
- qep -> counter .num_signals = ARRAY_SIZE (intel_qep_signals );
432
- qep -> counter .priv = qep ;
426
+ counter -> name = pci_name (pci );
427
+ counter -> parent = dev ;
428
+ counter -> ops = & intel_qep_counter_ops ;
429
+ counter -> counts = intel_qep_counter_count ;
430
+ counter -> num_counts = ARRAY_SIZE (intel_qep_counter_count );
431
+ counter -> signals = intel_qep_signals ;
432
+ counter -> num_signals = ARRAY_SIZE (intel_qep_signals );
433
433
qep -> enabled = false;
434
434
435
435
pm_runtime_put (dev );
436
436
pm_runtime_allow (dev );
437
437
438
- return devm_counter_register (& pci -> dev , & qep -> counter );
438
+ ret = devm_counter_add (& pci -> dev , counter );
439
+ if (ret < 0 )
440
+ return dev_err_probe (& pci -> dev , ret , "Failed to add counter\n" );
441
+
442
+ return 0 ;
439
443
}
440
444
441
445
static void intel_qep_remove (struct pci_dev * pci )
0 commit comments