On 03/09/2025 15:41, Rafael J. Wysocki wrote: >>> em_cpufreq_update_efficiencies(struct device *dev, struct em_perf_state >>> *table) >>> { >>> struct em_perf_domain *pd = dev->em_pd; >>> - struct cpufreq_policy *policy; >>> + struct cpufreq_policy *policy __free(put_cpufreq_policy) = NULL; >> >> This is not really correct coding style. Please read how to use >> cleanup.h expressed in that header. You should have here proper >> constructor or this should be moved. Or this should not be __free()... > > I gather that this is what you mean (quoted verbatim from cleanup.h) > > * Given that the "__free(...) = NULL" pattern for variables defined at > * the top of the function poses this potential interdependency problem > * the recommendation is to always define and assign variables in one > * statement and not group variable definitions at the top of the > * function when __free() is used. > > and thanks for pointing this out!
... and the only exception would be if there is no single constructor, but multiple (in if() block). That's not the case here, I think. Best regards, Krzysztof