Unverified Commit c416a3fe authored by Ilpo Järvinen's avatar Ilpo Järvinen
Browse files

Merge branch 'platform-drivers-x86-platform-profile' into for-next

parents 03f8e0e0 b651ea8a
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -519,6 +519,35 @@ int platform_profile_remove(struct platform_profile_handler *pprof)
}
EXPORT_SYMBOL_GPL(platform_profile_remove);

static void devm_platform_profile_release(struct device *dev, void *res)
{
	struct platform_profile_handler **pprof = res;

	platform_profile_remove(*pprof);
}

int devm_platform_profile_register(struct platform_profile_handler *pprof)
{
	struct platform_profile_handler **dr;
	int ret;

	dr = devres_alloc(devm_platform_profile_release, sizeof(*dr), GFP_KERNEL);
	if (!dr)
		return -ENOMEM;

	ret = platform_profile_register(pprof);
	if (ret) {
		devres_free(dr);
		return ret;
	}

	*dr = pprof;
	devres_add(pprof->dev, dr);

	return 0;
}
EXPORT_SYMBOL_GPL(devm_platform_profile_register);

static int __init platform_profile_init(void)
{
	int err;
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ struct platform_profile_handler {

int platform_profile_register(struct platform_profile_handler *pprof);
int platform_profile_remove(struct platform_profile_handler *pprof);
int devm_platform_profile_register(struct platform_profile_handler *pprof);
int platform_profile_cycle(void);
void platform_profile_notify(struct platform_profile_handler *pprof);