led_cdev = &led->led_cdev;
        led_cdev->name = led->name;
        led_cdev->brightness_set = xpad_led_set;
+       led_cdev->flags = LED_CORE_SUSPENDRESUME;
 
        error = led_classdev_register(&xpad->udev->dev, led_cdev);
        if (error)
                retval = xpad360w_start_input(xpad);
        } else {
                mutex_lock(&input->mutex);
-               if (input->users)
+               if (input->users) {
                        retval = xpad_start_input(xpad);
+               } else if (xpad->xtype == XTYPE_XBOXONE) {
+                       /*
+                        * Even if there are no users, we'll send Xbox One pads
+                        * the startup sequence so they don't sit there and
+                        * blink until somebody opens the input device again.
+                        */
+                       retval = xpad_start_xbox_one(xpad);
+               }
                mutex_unlock(&input->mutex);
        }