/* let's be hotplug friendly. in case of multiple core processors, the first core always takes ownership of shared sysfs dir/files, and rest of the cores will be symlinked to it.  */
static void deallocate_threshold_block(unsigned int cpu, unsigned int bank)
/* let's be hotplug friendly. in case of multiple core processors, the first core always takes ownership of shared sysfs dir/files, and rest of the cores will be symlinked to it.  */
static void deallocate_threshold_block(unsigned int cpu, unsigned int bank)
{
	struct threshold_block *pos = NULL;
	struct threshold_block *tmp = NULL;
	struct threshold_bank *head = per_cpu(threshold_banks, cpu)[bank];
	if (!head)
		return;
	list_for_each_entry_safe(pos, tmp, &head->blocks->miscj, miscj) {
		kobject_put(&pos->kobj);
		list_del(&pos->miscj);
		kfree(pos);
	}
	kfree(per_cpu(threshold_banks, cpu)[bank]->blocks);
	per_cpu(threshold_banks, cpu)[bank]->blocks = NULL;
}