Beispiel #1
0
static void nvhost_pod_exit(struct devfreq *df)
{
	struct podgov_info_rec *podgov = df->data;
	struct platform_device *d = to_platform_device(df->dev.parent);

	blocking_notifier_chain_unregister(&throughput_notifier_list,
					   &podgov->throughput_hint_notifier);
	cancel_delayed_work(&podgov->idle_timer);

	device_remove_file(&d->dev, &dev_attr_enable_3d_scaling);
	device_remove_file(&d->dev, &dev_attr_user);
	device_remove_file(&d->dev, &dev_attr_freq_request);

	nvhost_scale3d_debug_deinit(df);

	kfree(podgov);
}
Beispiel #2
0
static void nvhost_pod_exit(struct devfreq *df)
{
	struct podgov_info_rec *podgov = df->data;
	struct nvhost_device *d = to_nvhost_device(df->dev.parent);

	cancel_work_sync(&podgov->work);
	cancel_delayed_work(&podgov->idle_timer);

	kfree(podgov->freqlist);

	device_remove_file(&d->dev, &dev_attr_enable_3d_scaling);
	device_remove_file(&d->dev, &dev_attr_user);
	device_remove_file(&d->dev, &dev_attr_freq_request);

	nvhost_scale3d_debug_deinit(df);

	kfree(podgov);
	local_podgov = NULL;
}