#include <linux/platform_profile.h>
 #include <linux/sysfs.h>
 
-static struct platform_profile_handler *cur_profile;
 static DEFINE_MUTEX(profile_lock);
 
 static const char * const profile_names[] = {
 
 void platform_profile_notify(struct platform_profile_handler *pprof)
 {
-       if (!cur_profile)
-               return;
        scoped_cond_guard(mutex_intr, return, &profile_lock) {
                _notify_class_profile(pprof->class_dev, NULL);
        }
        }
 
        guard(mutex)(&profile_lock);
-       /* We can only have one active profile */
-       if (cur_profile)
-               return -EEXIST;
 
        /* create class interface for individual handler */
        pprof->minor = ida_alloc(&platform_profile_ida, GFP_KERNEL);
 
        sysfs_notify(acpi_kobj, NULL, "platform_profile");
 
-       cur_profile = pprof;
-
        err = sysfs_update_group(acpi_kobj, &platform_profile_group);
        if (err)
                goto cleanup_cur;
        return 0;
 
 cleanup_cur:
-       cur_profile = NULL;
        device_unregister(pprof->class_dev);
 
 cleanup_ida:
        int id;
        guard(mutex)(&profile_lock);
 
-       cur_profile = NULL;
-
        id = pprof->minor;
        device_unregister(pprof->class_dev);
        ida_free(&platform_profile_ida, id);