Commit f32309c4 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

Merge branches 'acpi-video', 'acpi-misc' and 'acpi-docs'

Merge ACPI backlight driver changes, miscellaneous ACPI-related changes
and ACPI-related documentation updates for 6.3-rc1:

 - Fix Lenovo Ideapad Z570 DMI match in the ACPI backlight driver (Hans
   de Goede).

 - Silence missing prototype warnings in some places in the ACPI-related
   code (Ammar Faizi).

 - Make kobj_type structures used in the ACPI code constant (Thomas
   Weißschuh).

 - Correct spelling in firmware-guide/ACPI (Randy Dunlap).

 - Clarify the meaning of Explicit and Implicit in the _DSD GPIO
   properties documentation (Andy Shevchenko).

* acpi-video:
  ACPI: video: Fix Lenovo Ideapad Z570 DMI match

* acpi-misc:
  ACPI: make kobj_type structures constant
  ACPI: Silence missing prototype warnings

* acpi-docs:
  Documentation: firmware-guide: gpio-properties: Clarify Explicit and Implicit
  Documentation: firmware-guide/ACPI: correct spelling
...@@ -34,7 +34,7 @@ state upon the last _LID evaluation. There won't be difference when the ...@@ -34,7 +34,7 @@ state upon the last _LID evaluation. There won't be difference when the
_LID control method is evaluated during the runtime, the problem is its _LID control method is evaluated during the runtime, the problem is its
initial returning value. When the AML tables implement this control method initial returning value. When the AML tables implement this control method
with cached value, the initial returning value is likely not reliable. with cached value, the initial returning value is likely not reliable.
There are platforms always retun "closed" as initial lid state. There are platforms always return "closed" as initial lid state.
Restrictions of the lid state change notifications Restrictions of the lid state change notifications
================================================== ==================================================
......
...@@ -67,17 +67,30 @@ state of the output pin which driver should use during its initialization. ...@@ -67,17 +67,30 @@ state of the output pin which driver should use during its initialization.
Linux tries to use common sense here and derives the state from the bias Linux tries to use common sense here and derives the state from the bias
and polarity settings. The table below shows the expectations: and polarity settings. The table below shows the expectations:
========= ============= ============== +-------------+-------------+-----------------------------------------------+
Pull Bias Polarity Requested... | Pull Bias | Polarity | Requested... |
========= ============= ============== +=============+=============+===============================================+
Implicit x AS IS (assumed firmware configured for us) | Implicit |
Explicit x (no _DSD) as Pull Bias (Up == High, Down == Low), +-------------+-------------+-----------------------------------------------+
assuming non-active (Polarity = !Pull Bias) | **Default** | x | AS IS (assumed firmware configured it for us) |
Down Low as low, assuming active +-------------+-------------+-----------------------------------------------+
Down High as low, assuming non-active | Explicit |
Up Low as high, assuming non-active +-------------+-------------+-----------------------------------------------+
Up High as high, assuming active | **None** | x | AS IS (assumed firmware configured it for us) |
========= ============= ============== | | | with no Pull Bias |
+-------------+-------------+-----------------------------------------------+
| **Up** | x (no _DSD) | |
| +-------------+ as high, assuming non-active |
| | Low | |
| +-------------+-----------------------------------------------+
| | High | as high, assuming active |
+-------------+-------------+-----------------------------------------------+
| **Down** | x (no _DSD) | |
| +-------------+ as low, assuming non-active |
| | High | |
| +-------------+-----------------------------------------------+
| | Low | as low, assuming active |
+-------------+-------------+-----------------------------------------------+
That said, for our above example the both GPIOs, since the bias setting That said, for our above example the both GPIOs, since the bias setting
is explicit and _DSD is present, will be treated as active with a high is explicit and _DSD is present, will be treated as active with a high
......
...@@ -31,7 +31,7 @@ Description Table). The XSDT always points to the FADT (Fixed ACPI ...@@ -31,7 +31,7 @@ Description Table). The XSDT always points to the FADT (Fixed ACPI
Description Table) using its first entry, the data within the FADT Description Table) using its first entry, the data within the FADT
includes various fixed-length entries that describe fixed ACPI features includes various fixed-length entries that describe fixed ACPI features
of the hardware. The FADT contains a pointer to the DSDT of the hardware. The FADT contains a pointer to the DSDT
(Differentiated System Descripition Table). The XSDT also contains (Differentiated System Description Table). The XSDT also contains
entries pointing to possibly multiple SSDTs (Secondary System entries pointing to possibly multiple SSDTs (Secondary System
Description Table). Description Table).
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/acpi.h> #include <linux/acpi.h>
#include <asm/msr.h> #include <asm/msr.h>
#include <asm/tsc.h> #include <asm/tsc.h>
#include "internal.h"
struct lpit_residency_info { struct lpit_residency_info {
struct acpi_generic_address gaddr; struct acpi_generic_address gaddr;
......
...@@ -193,7 +193,7 @@ static struct attribute *cppc_attrs[] = { ...@@ -193,7 +193,7 @@ static struct attribute *cppc_attrs[] = {
}; };
ATTRIBUTE_GROUPS(cppc); ATTRIBUTE_GROUPS(cppc);
static struct kobj_type cppc_ktype = { static const struct kobj_type cppc_ktype = {
.sysfs_ops = &kobj_sysfs_ops, .sysfs_ops = &kobj_sysfs_ops,
.default_groups = cppc_groups, .default_groups = cppc_groups,
}; };
......
...@@ -78,7 +78,7 @@ static void acpi_data_node_release(struct kobject *kobj) ...@@ -78,7 +78,7 @@ static void acpi_data_node_release(struct kobject *kobj)
complete(&dn->kobj_done); complete(&dn->kobj_done);
} }
static struct kobj_type acpi_data_node_ktype = { static const struct kobj_type acpi_data_node_ktype = {
.sysfs_ops = &acpi_data_node_sysfs_ops, .sysfs_ops = &acpi_data_node_sysfs_ops,
.default_groups = acpi_data_node_default_groups, .default_groups = acpi_data_node_default_groups,
.release = acpi_data_node_release, .release = acpi_data_node_release,
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <acpi/acpi.h> #include <acpi/acpi.h>
#include "internal.h"
struct acpi_pci_ioapic { struct acpi_pci_ioapic {
acpi_handle root_handle; acpi_handle root_handle;
......
...@@ -953,7 +953,7 @@ static struct attribute *hotplug_profile_attrs[] = { ...@@ -953,7 +953,7 @@ static struct attribute *hotplug_profile_attrs[] = {
}; };
ATTRIBUTE_GROUPS(hotplug_profile); ATTRIBUTE_GROUPS(hotplug_profile);
static struct kobj_type acpi_hotplug_profile_ktype = { static const struct kobj_type acpi_hotplug_profile_ktype = {
.sysfs_ops = &kobj_sysfs_ops, .sysfs_ops = &kobj_sysfs_ops,
.default_groups = hotplug_profile_groups, .default_groups = hotplug_profile_groups,
}; };
......
...@@ -434,7 +434,7 @@ static const struct dmi_system_id video_detect_dmi_table[] = { ...@@ -434,7 +434,7 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
/* Lenovo Ideapad Z570 */ /* Lenovo Ideapad Z570 */
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_NAME, "102434U"), DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"),
}, },
}, },
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment