Lines Matching full:button

3  *  button.c - ACPI Button Driver
9 #define pr_fmt(fmt) "ACPI: button: " fmt
22 #include <acpi/button.h>
24 #define ACPI_BUTTON_CLASS "button"
30 #define ACPI_BUTTON_DEVICE_NAME_POWER "Power Button"
34 #define ACPI_BUTTON_DEVICE_NAME_SLEEP "Sleep Button"
56 MODULE_DESCRIPTION("ACPI Button Driver");
141 .name = "button",
188 struct acpi_button *button = acpi_driver_data(device); in acpi_lid_notify_state() local
200 button->last_state != !!state) in acpi_lid_notify_state()
205 next_report = ktime_add(button->last_time, in acpi_lid_notify_state()
207 if (button->last_state == !!state && in acpi_lid_notify_state()
249 input_report_switch(button->input, in acpi_lid_notify_state()
251 input_sync(button->input); in acpi_lid_notify_state()
259 input_report_switch(button->input, SW_LID, !state); in acpi_lid_notify_state()
260 input_sync(button->input); in acpi_lid_notify_state()
261 button->last_state = !!state; in acpi_lid_notify_state()
262 button->last_time = ktime_get(); in acpi_lid_notify_state()
282 struct acpi_button *button = acpi_driver_data(device); in acpi_button_add_fs() local
287 if (button->type != ACPI_BUTTON_TYPE_LID) in acpi_button_add_fs()
295 /* create /proc/acpi/button */ in acpi_button_add_fs()
300 /* create /proc/acpi/button/lid */ in acpi_button_add_fs()
307 /* create /proc/acpi/button/lid/LID/ */ in acpi_button_add_fs()
314 /* create /proc/acpi/button/lid/LID/state */ in acpi_button_add_fs()
341 struct acpi_button *button = acpi_driver_data(device); in acpi_button_remove_fs() local
343 if (button->type != ACPI_BUTTON_TYPE_LID) in acpi_button_remove_fs()
386 struct acpi_button *button = acpi_driver_data(device); in acpi_lid_initialize_state() local
400 button->lid_state_initialized = true; in acpi_lid_initialize_state()
405 struct acpi_button *button = acpi_driver_data(device); in acpi_button_notify() local
413 input = button->input; in acpi_button_notify()
414 if (button->type == ACPI_BUTTON_TYPE_LID) { in acpi_button_notify()
415 if (button->lid_state_initialized) in acpi_button_notify()
421 if (button->suspended) in acpi_button_notify()
434 event, ++button->pushed); in acpi_button_notify()
448 struct acpi_button *button = acpi_driver_data(device); in acpi_button_suspend() local
450 button->suspended = true; in acpi_button_suspend()
457 struct acpi_button *button = acpi_driver_data(device); in acpi_button_resume() local
459 button->suspended = false; in acpi_button_resume()
460 if (button->type == ACPI_BUTTON_TYPE_LID) { in acpi_button_resume()
461 button->last_state = !!acpi_lid_evaluate_state(device); in acpi_button_resume()
462 button->last_time = ktime_get(); in acpi_button_resume()
472 struct acpi_button *button = acpi_driver_data(device); in acpi_lid_input_open() local
474 button->last_state = !!acpi_lid_evaluate_state(device); in acpi_lid_input_open()
475 button->last_time = ktime_get(); in acpi_lid_input_open()
483 struct acpi_button *button; in acpi_button_add() local
493 button = kzalloc(sizeof(struct acpi_button), GFP_KERNEL); in acpi_button_add()
494 if (!button) in acpi_button_add()
497 device->driver_data = button; in acpi_button_add()
499 button->input = input = input_allocate_device(); in acpi_button_add()
510 button->type = ACPI_BUTTON_TYPE_POWER; in acpi_button_add()
516 button->type = ACPI_BUTTON_TYPE_SLEEP; in acpi_button_add()
521 button->type = ACPI_BUTTON_TYPE_LID; in acpi_button_add()
536 snprintf(button->phys, sizeof(button->phys), "%s/button/input0", hid); in acpi_button_add()
539 input->phys = button->phys; in acpi_button_add()
541 input->id.product = button->type; in acpi_button_add()
544 switch (button->type) { in acpi_button_add()
562 if (button->type == ACPI_BUTTON_TYPE_LID) { in acpi_button_add()
579 kfree(button); in acpi_button_add()
585 struct acpi_button *button = acpi_driver_data(device); in acpi_button_remove() local
588 input_unregister_device(button->input); in acpi_button_remove()
589 kfree(button); in acpi_button_remove()