if (!rfkill->ops->poll)
                return;
 
-       schedule_work(&rfkill->poll_work.work);
+       queue_delayed_work(system_power_efficient_wq,
+                          &rfkill->poll_work, 0);
 }
 EXPORT_SYMBOL(rfkill_resume_polling);
 
         */
        rfkill->ops->poll(rfkill, rfkill->data);
 
-       schedule_delayed_work(&rfkill->poll_work,
+       queue_delayed_work(system_power_efficient_wq,
+               &rfkill->poll_work,
                round_jiffies_relative(POLL_INTERVAL));
 }
 
        INIT_WORK(&rfkill->sync_work, rfkill_sync_work);
 
        if (rfkill->ops->poll)
-               schedule_delayed_work(&rfkill->poll_work,
+               queue_delayed_work(system_power_efficient_wq,
+                       &rfkill->poll_work,
                        round_jiffies_relative(POLL_INTERVAL));
 
        if (!rfkill->persistent || rfkill_epo_lock_active) {