Lines Matching full:button
2 * power/home/volume button support for
20 #include <acpi/button.h>
41 ACPI_MODULE_NAME("surface pro 3 button");
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()
151 struct surface_button *button; in surface_button_add() local
161 button = kzalloc(sizeof(struct surface_button), GFP_KERNEL); in surface_button_add()
162 if (!button) in surface_button_add()
165 device->driver_data = button; in surface_button_add()
166 button->input = input = input_allocate_device(); in surface_button_add()
174 snprintf(button->phys, sizeof(button->phys), "%s/buttons", hid); in surface_button_add()
177 input->phys = button->phys; in surface_button_add()
197 kfree(button); in surface_button_add()
203 struct surface_button *button = acpi_driver_data(device); in surface_button_remove() local
205 input_unregister_device(button->input); in surface_button_remove()
206 kfree(button); in surface_button_remove()