Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19695ec0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  acpi-wmi: unsigned cannot be less than 0
  thinkpad-acpi: fix module autoloading for older models
  acer-wmi: Unmark as 'experimental'
  acpi-wmi: Unmark as 'experimental'
  acer-wmi: double free in acer_rfkill_exit()
  platform/x86: depends instead of select for laptop platform drivers
  asus-laptop: use select instead of depends on
  eeepc-laptop: restore acpi_generate_proc_event()
  asus-laptop: restore acpi_generate_proc_event()
  acpi: check for pxm_to_node_map overflow
  ACPI: remove doubled status checking
  ACPI suspend: Blacklist Toshiba Satellite L300 that requires to set SCI_EN directly on resume
  Revert "ACPI: make some IO ports off-limits to AML"
  suspend: switch the Asus Pundit P1-AH2 to old ACPI sleep ordering
parents 8e91f178 1b958a3e
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -758,8 +758,7 @@ static int __init acpi_bus_init(void)
	acpi_status status = AE_OK;
	extern acpi_status acpi_os_initialize1(void);


	status = acpi_os_initialize1();
	acpi_os_initialize1();

	status =
	    acpi_enable_subsystem(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE);
@@ -769,12 +768,6 @@ static int __init acpi_bus_init(void)
		goto error1;
	}

	if (ACPI_FAILURE(status)) {
		printk(KERN_ERR PREFIX
		       "Unable to initialize ACPI OS objects\n");
		goto error1;
	}

	/*
	 * ACPI 2.0 requires the EC driver to be loaded and work before
	 * the EC device is found in the namespace (i.e. before acpi_initialize_objects()
+1 −1
Original line number Diff line number Diff line
@@ -277,7 +277,7 @@ int acpi_get_node(acpi_handle *handle)
	int pxm, node = -1;

	pxm = acpi_get_pxm(handle);
	if (pxm >= 0)
	if (pxm >= 0 && pxm < MAX_PXM_DOMAINS)
		node = acpi_map_pxm_to_node(pxm);

	return node;
+0 −50
Original line number Diff line number Diff line
@@ -1317,54 +1317,6 @@ acpi_os_validate_interface (char *interface)
	return AE_SUPPORT;
}

#ifdef	CONFIG_X86

struct aml_port_desc {
	uint	start;
	uint	end;
	char*   name;
	char	warned;
};

static struct aml_port_desc aml_invalid_port_list[] = {
	{0x20, 0x21, "PIC0", 0},
	{0xA0, 0xA1, "PIC1", 0},
	{0x4D0, 0x4D1, "ELCR", 0}
};

/*
 * valid_aml_io_address()
 *
 * if valid, return true
 * else invalid, warn once, return false
 */
static bool valid_aml_io_address(uint address, uint length)
{
	int i;
	int entries = sizeof(aml_invalid_port_list) / sizeof(struct aml_port_desc);

	for (i = 0; i < entries; ++i) {
		if ((address >= aml_invalid_port_list[i].start &&
			address <= aml_invalid_port_list[i].end) ||
			(address + length >= aml_invalid_port_list[i].start &&
			address  + length <= aml_invalid_port_list[i].end))
		{
			if (!aml_invalid_port_list[i].warned)
			{
				printk(KERN_ERR "ACPI: Denied BIOS AML access"
					" to invalid port 0x%x+0x%x (%s)\n",
					address, length,
					aml_invalid_port_list[i].name);
				aml_invalid_port_list[i].warned = 1;
			}
			return false;	/* invalid */
		}
	}
	return true;	/* valid */
}
#else
static inline bool valid_aml_io_address(uint address, uint length) { return true; }
#endif
/******************************************************************************
 *
 * FUNCTION:    acpi_os_validate_address
@@ -1394,8 +1346,6 @@ acpi_os_validate_address (

	switch (space_id) {
	case ACPI_ADR_SPACE_SYSTEM_IO:
		if (!valid_aml_io_address(address, length))
			return AE_AML_ILLEGAL_ADDRESS;
	case ACPI_ADR_SPACE_SYSTEM_MEMORY:
		/* Only interference checks against SystemIO and SytemMemory
		   are needed */
+16 −0
Original line number Diff line number Diff line
@@ -378,6 +378,22 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
		DMI_MATCH(DMI_PRODUCT_NAME, "Macmini1,1"),
		},
	},
	{
	.callback = init_old_suspend_ordering,
	.ident = "Asus Pundit P1-AH2 (M2N8L motherboard)",
	.matches = {
		DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTek Computer INC."),
		DMI_MATCH(DMI_BOARD_NAME, "M2N8L"),
		},
	},
	{
	.callback = init_set_sci_en_on_resume,
	.ident = "Toshiba Satellite L300",
	.matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
		DMI_MATCH(DMI_PRODUCT_NAME, "Satellite L300"),
		},
	},
	{},
};
#endif /* CONFIG_SUSPEND */
+6 −8
Original line number Diff line number Diff line
@@ -15,8 +15,7 @@ menuconfig X86_PLATFORM_DEVICES
if X86_PLATFORM_DEVICES

config ACER_WMI
	tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	tristate "Acer WMI Laptop Extras"
	depends on ACPI
	depends on LEDS_CLASS
	depends on NEW_LEDS
@@ -39,9 +38,9 @@ config ASUS_LAPTOP
	tristate "Asus Laptop Extras (EXPERIMENTAL)"
	depends on ACPI
	depends on EXPERIMENTAL && !ACPI_ASUS
	depends on LEDS_CLASS
	depends on NEW_LEDS
	depends on BACKLIGHT_CLASS_DEVICE
	select LEDS_CLASS
	select NEW_LEDS
	select BACKLIGHT_CLASS_DEVICE
	depends on INPUT
	---help---
	  This is the new Linux driver for Asus laptops. It may also support some
@@ -185,11 +184,11 @@ config SONYPI_COMPAT
config THINKPAD_ACPI
	tristate "ThinkPad ACPI Laptop Extras"
	depends on ACPI
	depends on INPUT
	select BACKLIGHT_LCD_SUPPORT
	select BACKLIGHT_CLASS_DEVICE
	select HWMON
	select NVRAM
	select INPUT
	select NEW_LEDS
	select LEDS_CLASS
	select NET
@@ -315,9 +314,8 @@ config EEEPC_LAPTOP


config ACPI_WMI
	tristate "WMI (EXPERIMENTAL)"
	tristate "WMI"
	depends on ACPI
	depends on EXPERIMENTAL
	help
	  This driver adds support for the ACPI-WMI (Windows Management
	  Instrumentation) mapper device (PNP0C14) found on some systems.
Loading