On 27/05/2020 11:58, Lukasz Luba wrote:
Add support for other devices than CPUs. The registration function does not require a valid cpumask pointer and is ready to handle new devices. Some of the internal structures has been reorganized in order to keep consistent view (like removing per_cpu pd pointers).
Signed-off-by: Lukasz Luba lukasz.luba@arm.com
[ ... ]
} EXPORT_SYMBOL_GPL(em_register_perf_domain);
+/**
- em_dev_unregister_perf_domain() - Unregister Energy Model (EM) for a device
- @dev : Device for which the EM is registered
- Try to unregister the EM for the specified device (but not a CPU).
- */
+void em_dev_unregister_perf_domain(struct device *dev) +{
- if (IS_ERR_OR_NULL(dev) || !dev->em_pd)
return;
- if (_is_cpu_device(dev))
return;
- mutex_lock(&em_pd_mutex);
Is the mutex really needed?
If this function is called that means there is no more user of the em_pd, no?
- em_debug_remove_pd(dev);
- kfree(dev->em_pd->table);
- kfree(dev->em_pd);
- dev->em_pd = NULL;
- mutex_unlock(&em_pd_mutex);
+} +EXPORT_SYMBOL_GPL(em_dev_unregister_perf_domain);