mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
Merge branches 'acpi-battery', 'acpi-ec', 'acpi-pfr' and 'acpi-osl'
Merge updates of the ACPI battery and EC drivers, an ACPI Platform Firmware Runtime (PFR) telemetry driver update and an ACPI OS support layer change for 6.13-rc1: - Use DEFINE_SIMPLE_DEV_PM_OPS in the ACPI battery driver, make it use devm_ for initializing mutexes and allocating driver data, and make it check the register_pm_notifier() return value (Thomas Weißschuh, Andy Shevchenko). - Make the ACPI EC driver support compile-time conditional and allow ACPI to be built without CONFIG_HAS_IOPORT (Arnd Bergmann). - Remove a redundant error check from the pfr_telemetry driver (Colin Ian King). * acpi-battery: ACPI: battery: Check for error code from devm_mutex_init() call ACPI: battery: use DEFINE_SIMPLE_DEV_PM_OPS ACPI: battery: initialize mutexes through devm_ APIs ACPI: battery: allocate driver data through devm_ APIs ACPI: battery: check result of register_pm_notifier() * acpi-ec: ACPI: EC: make EC support compile-time conditional * acpi-pfr: ACPI: pfr_telemetry: remove redundant error check on ret * acpi-osl: ACPI: allow building without CONFIG_HAS_IOPORT
This commit is contained in:
commit
1c58e3a528
@ -132,8 +132,17 @@ config ACPI_REV_OVERRIDE_POSSIBLE
|
|||||||
makes it possible to force the kernel to return "5" as the supported
|
makes it possible to force the kernel to return "5" as the supported
|
||||||
ACPI revision via the "acpi_rev_override" command line switch.
|
ACPI revision via the "acpi_rev_override" command line switch.
|
||||||
|
|
||||||
|
config ACPI_EC
|
||||||
|
bool "Embedded Controller"
|
||||||
|
depends on HAS_IOPORT
|
||||||
|
default X86
|
||||||
|
help
|
||||||
|
This driver handles communication with the microcontroller
|
||||||
|
on many x86 laptops and other machines.
|
||||||
|
|
||||||
config ACPI_EC_DEBUGFS
|
config ACPI_EC_DEBUGFS
|
||||||
tristate "EC read/write access through /sys/kernel/debug/ec"
|
tristate "EC read/write access through /sys/kernel/debug/ec"
|
||||||
|
depends on ACPI_EC
|
||||||
help
|
help
|
||||||
Say N to disable Embedded Controller /sys/kernel/debug interface
|
Say N to disable Embedded Controller /sys/kernel/debug interface
|
||||||
|
|
||||||
@ -433,7 +442,7 @@ config ACPI_HOTPLUG_IOAPIC
|
|||||||
|
|
||||||
config ACPI_SBS
|
config ACPI_SBS
|
||||||
tristate "Smart Battery System"
|
tristate "Smart Battery System"
|
||||||
depends on X86
|
depends on X86 && ACPI_EC
|
||||||
select POWER_SUPPLY
|
select POWER_SUPPLY
|
||||||
help
|
help
|
||||||
This driver supports the Smart Battery System, another
|
This driver supports the Smart Battery System, another
|
||||||
|
@ -41,7 +41,7 @@ acpi-y += resource.o
|
|||||||
acpi-y += acpi_processor.o
|
acpi-y += acpi_processor.o
|
||||||
acpi-y += processor_core.o
|
acpi-y += processor_core.o
|
||||||
acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o
|
acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o
|
||||||
acpi-y += ec.o
|
acpi-$(CONFIG_ACPI_EC) += ec.o
|
||||||
acpi-$(CONFIG_ACPI_DOCK) += dock.o
|
acpi-$(CONFIG_ACPI_DOCK) += dock.o
|
||||||
acpi-$(CONFIG_PCI) += pci_root.o pci_link.o pci_irq.o
|
acpi-$(CONFIG_PCI) += pci_root.o pci_link.o pci_irq.o
|
||||||
obj-$(CONFIG_ACPI_MCFG) += pci_mcfg.o
|
obj-$(CONFIG_ACPI_MCFG) += pci_mcfg.o
|
||||||
|
@ -1218,15 +1218,21 @@ static int acpi_battery_add(struct acpi_device *device)
|
|||||||
if (device->dep_unmet)
|
if (device->dep_unmet)
|
||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
|
|
||||||
battery = kzalloc(sizeof(struct acpi_battery), GFP_KERNEL);
|
battery = devm_kzalloc(&device->dev, sizeof(*battery), GFP_KERNEL);
|
||||||
if (!battery)
|
if (!battery)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
battery->device = device;
|
battery->device = device;
|
||||||
strscpy(acpi_device_name(device), ACPI_BATTERY_DEVICE_NAME);
|
strscpy(acpi_device_name(device), ACPI_BATTERY_DEVICE_NAME);
|
||||||
strscpy(acpi_device_class(device), ACPI_BATTERY_CLASS);
|
strscpy(acpi_device_class(device), ACPI_BATTERY_CLASS);
|
||||||
device->driver_data = battery;
|
device->driver_data = battery;
|
||||||
mutex_init(&battery->lock);
|
result = devm_mutex_init(&device->dev, &battery->lock);
|
||||||
mutex_init(&battery->sysfs_lock);
|
if (result)
|
||||||
|
return result;
|
||||||
|
|
||||||
|
result = devm_mutex_init(&device->dev, &battery->sysfs_lock);
|
||||||
|
if (result)
|
||||||
|
return result;
|
||||||
|
|
||||||
if (acpi_has_method(battery->device->handle, "_BIX"))
|
if (acpi_has_method(battery->device->handle, "_BIX"))
|
||||||
set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags);
|
set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags);
|
||||||
|
|
||||||
@ -1238,7 +1244,9 @@ static int acpi_battery_add(struct acpi_device *device)
|
|||||||
device->status.battery_present ? "present" : "absent");
|
device->status.battery_present ? "present" : "absent");
|
||||||
|
|
||||||
battery->pm_nb.notifier_call = battery_notify;
|
battery->pm_nb.notifier_call = battery_notify;
|
||||||
register_pm_notifier(&battery->pm_nb);
|
result = register_pm_notifier(&battery->pm_nb);
|
||||||
|
if (result)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
device_init_wakeup(&device->dev, 1);
|
device_init_wakeup(&device->dev, 1);
|
||||||
|
|
||||||
@ -1254,9 +1262,6 @@ fail_pm:
|
|||||||
unregister_pm_notifier(&battery->pm_nb);
|
unregister_pm_notifier(&battery->pm_nb);
|
||||||
fail:
|
fail:
|
||||||
sysfs_remove_battery(battery);
|
sysfs_remove_battery(battery);
|
||||||
mutex_destroy(&battery->lock);
|
|
||||||
mutex_destroy(&battery->sysfs_lock);
|
|
||||||
kfree(battery);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -1276,13 +1281,8 @@ static void acpi_battery_remove(struct acpi_device *device)
|
|||||||
device_init_wakeup(&device->dev, 0);
|
device_init_wakeup(&device->dev, 0);
|
||||||
unregister_pm_notifier(&battery->pm_nb);
|
unregister_pm_notifier(&battery->pm_nb);
|
||||||
sysfs_remove_battery(battery);
|
sysfs_remove_battery(battery);
|
||||||
|
|
||||||
mutex_destroy(&battery->lock);
|
|
||||||
mutex_destroy(&battery->sysfs_lock);
|
|
||||||
kfree(battery);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM_SLEEP
|
|
||||||
/* this is needed to learn about changes made in suspended state */
|
/* this is needed to learn about changes made in suspended state */
|
||||||
static int acpi_battery_resume(struct device *dev)
|
static int acpi_battery_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
@ -1299,11 +1299,8 @@ static int acpi_battery_resume(struct device *dev)
|
|||||||
acpi_battery_update(battery, true);
|
acpi_battery_update(battery, true);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
#define acpi_battery_resume NULL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static SIMPLE_DEV_PM_OPS(acpi_battery_pm, NULL, acpi_battery_resume);
|
static DEFINE_SIMPLE_DEV_PM_OPS(acpi_battery_pm, NULL, acpi_battery_resume);
|
||||||
|
|
||||||
static struct acpi_driver acpi_battery_driver = {
|
static struct acpi_driver acpi_battery_driver = {
|
||||||
.name = "battery",
|
.name = "battery",
|
||||||
@ -1313,7 +1310,7 @@ static struct acpi_driver acpi_battery_driver = {
|
|||||||
.add = acpi_battery_add,
|
.add = acpi_battery_add,
|
||||||
.remove = acpi_battery_remove,
|
.remove = acpi_battery_remove,
|
||||||
},
|
},
|
||||||
.drv.pm = &acpi_battery_pm,
|
.drv.pm = pm_sleep_ptr(&acpi_battery_pm),
|
||||||
.drv.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
.drv.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1011,7 +1011,8 @@ static int cpc_read(int cpu, struct cpc_register_resource *reg_res, u64 *val)
|
|||||||
*val = 0;
|
*val = 0;
|
||||||
size = GET_BIT_WIDTH(reg);
|
size = GET_BIT_WIDTH(reg);
|
||||||
|
|
||||||
if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
|
if (IS_ENABLED(CONFIG_HAS_IOPORT) &&
|
||||||
|
reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
|
||||||
u32 val_u32;
|
u32 val_u32;
|
||||||
acpi_status status;
|
acpi_status status;
|
||||||
|
|
||||||
@ -1085,7 +1086,8 @@ static int cpc_write(int cpu, struct cpc_register_resource *reg_res, u64 val)
|
|||||||
|
|
||||||
size = GET_BIT_WIDTH(reg);
|
size = GET_BIT_WIDTH(reg);
|
||||||
|
|
||||||
if (reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
|
if (IS_ENABLED(CONFIG_HAS_IOPORT) &&
|
||||||
|
reg->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
|
||||||
acpi_status status;
|
acpi_status status;
|
||||||
|
|
||||||
status = acpi_os_write_port((acpi_io_address)reg->address,
|
status = acpi_os_write_port((acpi_io_address)reg->address,
|
||||||
|
@ -215,6 +215,8 @@ extern struct acpi_ec *first_ec;
|
|||||||
/* External interfaces use first EC only, so remember */
|
/* External interfaces use first EC only, so remember */
|
||||||
typedef int (*acpi_ec_query_func) (void *data);
|
typedef int (*acpi_ec_query_func) (void *data);
|
||||||
|
|
||||||
|
#ifdef CONFIG_ACPI_EC
|
||||||
|
|
||||||
void acpi_ec_init(void);
|
void acpi_ec_init(void);
|
||||||
void acpi_ec_ecdt_probe(void);
|
void acpi_ec_ecdt_probe(void);
|
||||||
void acpi_ec_dsdt_probe(void);
|
void acpi_ec_dsdt_probe(void);
|
||||||
@ -231,6 +233,29 @@ void acpi_ec_flush_work(void);
|
|||||||
bool acpi_ec_dispatch_gpe(void);
|
bool acpi_ec_dispatch_gpe(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline void acpi_ec_init(void) {}
|
||||||
|
static inline void acpi_ec_ecdt_probe(void) {}
|
||||||
|
static inline void acpi_ec_dsdt_probe(void) {}
|
||||||
|
static inline void acpi_ec_block_transactions(void) {}
|
||||||
|
static inline void acpi_ec_unblock_transactions(void) {}
|
||||||
|
static inline int acpi_ec_add_query_handler(struct acpi_ec *ec, u8 query_bit,
|
||||||
|
acpi_handle handle, acpi_ec_query_func func,
|
||||||
|
void *data)
|
||||||
|
{
|
||||||
|
return -ENXIO;
|
||||||
|
}
|
||||||
|
static inline void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit) {}
|
||||||
|
static inline void acpi_ec_register_opregions(struct acpi_device *adev) {}
|
||||||
|
|
||||||
|
static inline void acpi_ec_flush_work(void) {}
|
||||||
|
static inline bool acpi_ec_dispatch_gpe(void)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------
|
||||||
Suspend/Resume
|
Suspend/Resume
|
||||||
|
@ -642,6 +642,15 @@ acpi_status acpi_os_read_port(acpi_io_address port, u32 *value, u32 width)
|
|||||||
{
|
{
|
||||||
u32 dummy;
|
u32 dummy;
|
||||||
|
|
||||||
|
if (!IS_ENABLED(CONFIG_HAS_IOPORT)) {
|
||||||
|
/*
|
||||||
|
* set all-1 result as if reading from non-existing
|
||||||
|
* I/O port
|
||||||
|
*/
|
||||||
|
*value = GENMASK(width, 0);
|
||||||
|
return AE_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
*value = 0;
|
*value = 0;
|
||||||
else
|
else
|
||||||
@ -665,6 +674,9 @@ EXPORT_SYMBOL(acpi_os_read_port);
|
|||||||
|
|
||||||
acpi_status acpi_os_write_port(acpi_io_address port, u32 value, u32 width)
|
acpi_status acpi_os_write_port(acpi_io_address port, u32 value, u32 width)
|
||||||
{
|
{
|
||||||
|
if (!IS_ENABLED(CONFIG_HAS_IOPORT))
|
||||||
|
return AE_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
if (width <= 8) {
|
if (width <= 8) {
|
||||||
outb(value, port);
|
outb(value, port);
|
||||||
} else if (width <= 16) {
|
} else if (width <= 16) {
|
||||||
|
@ -272,9 +272,6 @@ static long pfrt_log_ioctl(struct file *file, unsigned int cmd, unsigned long ar
|
|||||||
|
|
||||||
case PFRT_LOG_IOC_GET_INFO:
|
case PFRT_LOG_IOC_GET_INFO:
|
||||||
info.log_level = get_pfrt_log_level(pfrt_log_dev);
|
info.log_level = get_pfrt_log_level(pfrt_log_dev);
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
info.log_type = pfrt_log_dev->info.log_type;
|
info.log_type = pfrt_log_dev->info.log_type;
|
||||||
info.log_revid = pfrt_log_dev->info.log_revid;
|
info.log_revid = pfrt_log_dev->info.log_revid;
|
||||||
if (copy_to_user(p, &info, sizeof(info)))
|
if (copy_to_user(p, &info, sizeof(info)))
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include "sbshc.h"
|
#include "sbshc.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
#define ACPI_SMB_HC_CLASS "smbus_host_ctl"
|
#define ACPI_SMB_HC_CLASS "smbus_host_ctl"
|
||||||
#define ACPI_SMB_HC_DEVICE_NAME "ACPI SMBus HC"
|
#define ACPI_SMB_HC_DEVICE_NAME "ACPI SMBus HC"
|
||||||
@ -236,12 +237,6 @@ static int smbus_alarm(void *context)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef int (*acpi_ec_query_func) (void *data);
|
|
||||||
|
|
||||||
extern int acpi_ec_add_query_handler(struct acpi_ec *ec, u8 query_bit,
|
|
||||||
acpi_handle handle, acpi_ec_query_func func,
|
|
||||||
void *data);
|
|
||||||
|
|
||||||
static int acpi_smbus_hc_add(struct acpi_device *device)
|
static int acpi_smbus_hc_add(struct acpi_device *device)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
@ -278,8 +273,6 @@ static int acpi_smbus_hc_add(struct acpi_device *device)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit);
|
|
||||||
|
|
||||||
static void acpi_smbus_hc_remove(struct acpi_device *device)
|
static void acpi_smbus_hc_remove(struct acpi_device *device)
|
||||||
{
|
{
|
||||||
struct acpi_smb_hc *hc;
|
struct acpi_smb_hc *hc;
|
||||||
|
@ -238,6 +238,7 @@ config APPLICOM
|
|||||||
config SONYPI
|
config SONYPI
|
||||||
tristate "Sony Vaio Programmable I/O Control Device support"
|
tristate "Sony Vaio Programmable I/O Control Device support"
|
||||||
depends on X86_32 && PCI && INPUT
|
depends on X86_32 && PCI && INPUT
|
||||||
|
depends on ACPI_EC || !ACPI
|
||||||
help
|
help
|
||||||
This driver enables access to the Sony Programmable I/O Control
|
This driver enables access to the Sony Programmable I/O Control
|
||||||
Device which can be found in many (all ?) Sony Vaio laptops.
|
Device which can be found in many (all ?) Sony Vaio laptops.
|
||||||
|
@ -1752,7 +1752,7 @@ source "drivers/hwmon/occ/Kconfig"
|
|||||||
|
|
||||||
config SENSORS_OXP
|
config SENSORS_OXP
|
||||||
tristate "OneXPlayer EC fan control"
|
tristate "OneXPlayer EC fan control"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on X86
|
depends on X86
|
||||||
help
|
help
|
||||||
If you say yes here you get support for fan readings and control over
|
If you say yes here you get support for fan readings and control over
|
||||||
@ -2592,6 +2592,7 @@ config SENSORS_ASUS_WMI
|
|||||||
config SENSORS_ASUS_EC
|
config SENSORS_ASUS_EC
|
||||||
tristate "ASUS EC Sensors"
|
tristate "ASUS EC Sensors"
|
||||||
depends on X86
|
depends on X86
|
||||||
|
depends on ACPI_EC
|
||||||
help
|
help
|
||||||
If you say yes here you get support for the ACPI embedded controller
|
If you say yes here you get support for the ACPI embedded controller
|
||||||
hardware monitoring interface found in ASUS motherboards. The driver
|
hardware monitoring interface found in ASUS motherboards. The driver
|
||||||
|
@ -52,6 +52,7 @@ config WMI_BMOF
|
|||||||
config HUAWEI_WMI
|
config HUAWEI_WMI
|
||||||
tristate "Huawei WMI laptop extras driver"
|
tristate "Huawei WMI laptop extras driver"
|
||||||
depends on ACPI_BATTERY
|
depends on ACPI_BATTERY
|
||||||
|
depends on ACPI_EC
|
||||||
depends on ACPI_WMI
|
depends on ACPI_WMI
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
select INPUT_SPARSEKMAP
|
select INPUT_SPARSEKMAP
|
||||||
@ -147,7 +148,7 @@ config YT2_1380
|
|||||||
|
|
||||||
config ACERHDF
|
config ACERHDF
|
||||||
tristate "Acer Aspire One temperature and fan driver"
|
tristate "Acer Aspire One temperature and fan driver"
|
||||||
depends on ACPI && THERMAL
|
depends on ACPI_EC && THERMAL
|
||||||
select THERMAL_GOV_BANG_BANG
|
select THERMAL_GOV_BANG_BANG
|
||||||
help
|
help
|
||||||
This is a driver for Acer Aspire One netbooks. It allows to access
|
This is a driver for Acer Aspire One netbooks. It allows to access
|
||||||
@ -186,6 +187,7 @@ config ACER_WMI
|
|||||||
depends on SERIO_I8042
|
depends on SERIO_I8042
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
depends on RFKILL || RFKILL = n
|
depends on RFKILL || RFKILL = n
|
||||||
|
depends on ACPI_EC
|
||||||
depends on ACPI_WMI
|
depends on ACPI_WMI
|
||||||
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
||||||
depends on HWMON
|
depends on HWMON
|
||||||
@ -334,7 +336,7 @@ config MERAKI_MX100
|
|||||||
|
|
||||||
config EEEPC_LAPTOP
|
config EEEPC_LAPTOP
|
||||||
tristate "Eee PC Hotkey Driver"
|
tristate "Eee PC Hotkey Driver"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
depends on RFKILL || RFKILL = n
|
depends on RFKILL || RFKILL = n
|
||||||
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
||||||
@ -503,7 +505,7 @@ config SENSORS_HDAPS
|
|||||||
|
|
||||||
config THINKPAD_ACPI
|
config THINKPAD_ACPI
|
||||||
tristate "ThinkPad ACPI Laptop Extras"
|
tristate "ThinkPad ACPI Laptop Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on ACPI_BATTERY
|
depends on ACPI_BATTERY
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
depends on RFKILL || RFKILL = n
|
depends on RFKILL || RFKILL = n
|
||||||
@ -682,7 +684,7 @@ config MEEGOPAD_ANX7428
|
|||||||
|
|
||||||
config MSI_EC
|
config MSI_EC
|
||||||
tristate "MSI EC Extras"
|
tristate "MSI EC Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on ACPI_BATTERY
|
depends on ACPI_BATTERY
|
||||||
help
|
help
|
||||||
This driver allows various MSI laptops' functionalities to be
|
This driver allows various MSI laptops' functionalities to be
|
||||||
@ -690,7 +692,7 @@ config MSI_EC
|
|||||||
|
|
||||||
config MSI_LAPTOP
|
config MSI_LAPTOP
|
||||||
tristate "MSI Laptop Extras"
|
tristate "MSI Laptop Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on BACKLIGHT_CLASS_DEVICE
|
depends on BACKLIGHT_CLASS_DEVICE
|
||||||
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
||||||
depends on RFKILL
|
depends on RFKILL
|
||||||
@ -796,7 +798,7 @@ config SAMSUNG_LAPTOP
|
|||||||
|
|
||||||
config SAMSUNG_Q10
|
config SAMSUNG_Q10
|
||||||
tristate "Samsung Q10 Extras"
|
tristate "Samsung Q10 Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
select BACKLIGHT_CLASS_DEVICE
|
select BACKLIGHT_CLASS_DEVICE
|
||||||
help
|
help
|
||||||
This driver provides support for backlight control on Samsung Q10
|
This driver provides support for backlight control on Samsung Q10
|
||||||
@ -804,7 +806,7 @@ config SAMSUNG_Q10
|
|||||||
|
|
||||||
config ACPI_TOSHIBA
|
config ACPI_TOSHIBA
|
||||||
tristate "Toshiba Laptop Extras"
|
tristate "Toshiba Laptop Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on ACPI_BATTERY
|
depends on ACPI_BATTERY
|
||||||
depends on ACPI_WMI
|
depends on ACPI_WMI
|
||||||
select LEDS_CLASS
|
select LEDS_CLASS
|
||||||
@ -904,7 +906,7 @@ config ACPI_CMPC
|
|||||||
|
|
||||||
config COMPAL_LAPTOP
|
config COMPAL_LAPTOP
|
||||||
tristate "Compal (and others) Laptop Extras"
|
tristate "Compal (and others) Laptop Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on BACKLIGHT_CLASS_DEVICE
|
depends on BACKLIGHT_CLASS_DEVICE
|
||||||
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
||||||
depends on RFKILL
|
depends on RFKILL
|
||||||
@ -949,7 +951,7 @@ config PANASONIC_LAPTOP
|
|||||||
|
|
||||||
config SONY_LAPTOP
|
config SONY_LAPTOP
|
||||||
tristate "Sony Laptop Extras"
|
tristate "Sony Laptop Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
depends on ACPI_VIDEO || ACPI_VIDEO = n
|
||||||
depends on BACKLIGHT_CLASS_DEVICE
|
depends on BACKLIGHT_CLASS_DEVICE
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
@ -972,7 +974,7 @@ config SONYPI_COMPAT
|
|||||||
|
|
||||||
config SYSTEM76_ACPI
|
config SYSTEM76_ACPI
|
||||||
tristate "System76 ACPI Driver"
|
tristate "System76 ACPI Driver"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on ACPI_BATTERY
|
depends on ACPI_BATTERY
|
||||||
depends on HWMON
|
depends on HWMON
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
|
@ -194,6 +194,7 @@ config DELL_WMI
|
|||||||
config DELL_WMI_PRIVACY
|
config DELL_WMI_PRIVACY
|
||||||
bool "Dell WMI Hardware Privacy Support"
|
bool "Dell WMI Hardware Privacy Support"
|
||||||
depends on DELL_WMI
|
depends on DELL_WMI
|
||||||
|
depends on ACPI_EC
|
||||||
help
|
help
|
||||||
This option adds integration with the "Dell Hardware Privacy"
|
This option adds integration with the "Dell Hardware Privacy"
|
||||||
feature of Dell laptops to the dell-wmi driver.
|
feature of Dell laptops to the dell-wmi driver.
|
||||||
|
@ -37,6 +37,7 @@ config HP_ACCEL
|
|||||||
config HP_WMI
|
config HP_WMI
|
||||||
tristate "HP WMI extras"
|
tristate "HP WMI extras"
|
||||||
default m
|
default m
|
||||||
|
depends on ACPI_EC
|
||||||
depends on ACPI_WMI
|
depends on ACPI_WMI
|
||||||
depends on INPUT
|
depends on INPUT
|
||||||
depends on RFKILL || RFKILL = n
|
depends on RFKILL || RFKILL = n
|
||||||
|
@ -62,7 +62,7 @@ config INTEL_INT0002_VGPIO
|
|||||||
|
|
||||||
config INTEL_OAKTRAIL
|
config INTEL_OAKTRAIL
|
||||||
tristate "Intel Oaktrail Platform Extras"
|
tristate "Intel Oaktrail Platform Extras"
|
||||||
depends on ACPI
|
depends on ACPI_EC
|
||||||
depends on ACPI_VIDEO || ACPI_VIDEO=n
|
depends on ACPI_VIDEO || ACPI_VIDEO=n
|
||||||
depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
|
depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
|
||||||
help
|
help
|
||||||
|
@ -1164,8 +1164,6 @@ int acpi_subsys_suspend_noirq(struct device *dev);
|
|||||||
int acpi_subsys_suspend(struct device *dev);
|
int acpi_subsys_suspend(struct device *dev);
|
||||||
int acpi_subsys_freeze(struct device *dev);
|
int acpi_subsys_freeze(struct device *dev);
|
||||||
int acpi_subsys_poweroff(struct device *dev);
|
int acpi_subsys_poweroff(struct device *dev);
|
||||||
void acpi_ec_mark_gpe_for_wake(void);
|
|
||||||
void acpi_ec_set_gpe_wake_mask(u8 action);
|
|
||||||
int acpi_subsys_restore_early(struct device *dev);
|
int acpi_subsys_restore_early(struct device *dev);
|
||||||
#else
|
#else
|
||||||
static inline int acpi_subsys_prepare(struct device *dev) { return 0; }
|
static inline int acpi_subsys_prepare(struct device *dev) { return 0; }
|
||||||
@ -1176,6 +1174,12 @@ static inline int acpi_subsys_suspend(struct device *dev) { return 0; }
|
|||||||
static inline int acpi_subsys_freeze(struct device *dev) { return 0; }
|
static inline int acpi_subsys_freeze(struct device *dev) { return 0; }
|
||||||
static inline int acpi_subsys_poweroff(struct device *dev) { return 0; }
|
static inline int acpi_subsys_poweroff(struct device *dev) { return 0; }
|
||||||
static inline int acpi_subsys_restore_early(struct device *dev) { return 0; }
|
static inline int acpi_subsys_restore_early(struct device *dev) { return 0; }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_ACPI_EC) && defined(CONFIG_PM_SLEEP)
|
||||||
|
void acpi_ec_mark_gpe_for_wake(void);
|
||||||
|
void acpi_ec_set_gpe_wake_mask(u8 action);
|
||||||
|
#else
|
||||||
static inline void acpi_ec_mark_gpe_for_wake(void) {}
|
static inline void acpi_ec_mark_gpe_for_wake(void) {}
|
||||||
static inline void acpi_ec_set_gpe_wake_mask(u8 action) {}
|
static inline void acpi_ec_set_gpe_wake_mask(u8 action) {}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user