#include <linux/module.h>
static ssize_t irst_show_wakeup_events(struct device *dev,
struct device_attribute *attr,
struct acpi_device *acpi;
unsigned long long value;
acpi = to_acpi_device(dev);
status = acpi_evaluate_integer(acpi->handle, "GFFS", NULL, &value);
if (ACPI_FAILURE(status))
return sprintf(buf, "%lld\n", value);
static ssize_t irst_store_wakeup_events(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
struct acpi_device *acpi;
acpi = to_acpi_device(dev);
error = kstrtoul(buf, 0, &value);
status = acpi_execute_simple_method(acpi->handle, "SFFS", value);
if (ACPI_FAILURE(status))
static struct device_attribute irst_wakeup_attr = {
.attr = { .name = "wakeup_events", .mode = 0600 },
.show = irst_show_wakeup_events,
.store = irst_store_wakeup_events
static ssize_t irst_show_wakeup_time(struct device *dev,
struct device_attribute *attr, char *buf)
struct acpi_device *acpi;
unsigned long long value;