Lines Matching full:button
3 * power/home/volume button support for
16 #include <acpi/button.h>
44 MODULE_DESCRIPTION("Surface Pro3 Button Driver");
48 * Power button, Home button, Volume buttons support is supposed to
76 struct surface_button *button = acpi_driver_data(device); in surface_button_notify() local
82 /* Power button press,release handle */ in surface_button_notify()
89 /* Home button press,release handle */ in surface_button_notify()
96 /* Volume up button press,release handle */ in surface_button_notify()
103 /* Volume down button press,release handle */ in surface_button_notify()
118 input = button->input; in surface_button_notify()
122 pm_wakeup_dev_event(&device->dev, 0, button->suspended); in surface_button_notify()
123 if (button->suspended) in surface_button_notify()
133 struct surface_button *button = acpi_driver_data(device); in surface_button_suspend() local
135 button->suspended = true; in surface_button_suspend()
142 struct surface_button *button = acpi_driver_data(device); in surface_button_resume() local
144 button->suspended = false; in surface_button_resume()
189 struct surface_button *button; in surface_button_add() local
202 button = kzalloc(sizeof(struct surface_button), GFP_KERNEL); in surface_button_add()
203 if (!button) in surface_button_add()
206 device->driver_data = button; in surface_button_add()
207 button->input = input = input_allocate_device(); in surface_button_add()
215 snprintf(button->phys, sizeof(button->phys), "%s/buttons", hid); in surface_button_add()
218 input->phys = button->phys; in surface_button_add()
238 kfree(button); in surface_button_add()
244 struct surface_button *button = acpi_driver_data(device); in surface_button_remove() local
246 input_unregister_device(button->input); in surface_button_remove()
247 kfree(button); in surface_button_remove()