While adding error handling of genpd's ->attach_dev() callback, I realized that we also had a need to re-structure some of the code which deals with adding/removing devices to genpd. Especially the APIs, __pm_genpd_add_device() and pm_genpd_remove_device() deserved some attention. Patch 1 -> 4, can be considered as more simple cleanups and should not impact the behavior for current clients using the APIs. Patch 5, eliminates a mutex for generic_pm_domain_data by re-order the initialization/cleanup of dev_pm_qos notifiers. Patch 6, move some code around to fix a potenial memory leakage of a struct pm_subsys_data. Patch 7, code restructuring which impacts locking behavior while adding/removing devices. Should improve code readability and decrease critical regions of holding locks. Patch 8, Adds error handling of genpd's ->attach_dev() callback Ulf Hansson (8): PM / Domains: Rename __pm_genpd_alloc|free_dev_data() PM / Domains: Remove reference counting for the generic_pm_domain_data PM / Domains: Don't allow an existing generic_pm_domain_data PM / Domains: Don't check for an existing device when adding a new PM / Domains: Eliminate the mutex for the generic_pm_domain_data PM / Domains: Free pm_subsys_data in error path in __pm_genpd_add_device() PM / Domains: Re-order initialization of generic_pm_domain_data PM / Domains: Handle errors from genpd's ->attach_dev() callback drivers/base/power/domain.c | 137 +++++++++++++++++++++----------------------- include/linux/pm_domain.h | 2 - 2 files changed, 65 insertions(+), 74 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html