aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-08-14 16:39:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-08-14 16:39:52 -0400
commit2c20443ec221dcb76484b30933593e8ecd836bbd (patch)
tree870ba518b23cfe2f190e52688440e2e4d72f0545 /include/linux
parentb018fc9800557bd14a40d69501e19c340eb2c521 (diff)
parent76f7d6c07acd7a694ccc97355d37637f6677de51 (diff)
Merge tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI updates from Rafael Wysocki: "These revert two ACPICA commits that are not needed any more, rework the property graphs support in ACPI to be more aligned with the analogous DT code, add some new quirks and remove one that isn't needed any more, add a special platform driver to enumerate multiple I2C devices hooked up to the same device object in the ACPI tables and update the battery and button drivers. Specifics: - Revert two ACPICA commits that are not needed any more (Erik Schmauss). - Rework property graph support in the ACPI device properties framework to make it behave more like the analogous DT code and update the documentation of it (Sakari Ailus). - Change the default ACPI device status after initialization to ACPI_STA_DEFAULT instead of 0 (Hans de Goede). - Add a special platform driver for enumerating multiple I2C devices hooked up to the same object in the ACPI tables (Hans de Goede). - Fix the ACPI battery driver to avoid reporting full capacity on systems without support for that and clean it up (Hans de Goede, Dmitry Rozhkov, Lucas Rangit Magasweran). - Add two system wakeup quirks to the ACPI EC driver (Aaron Ma, Mika Westerberg). - Add the touchscreen on Dell Venue Pro 7139 to the list of "always present" devices to make it work (Tristian Celestin). - Revert a special tables handling quirk for Dell XPS 9570 and Precision M5530 which is not needed any more (Kai Heng Feng). - Add support for a new OEM _OSI string to allow system vendors to work around issues with NVidia HDMI audio (Alex Hung). - Prevent the ACPI button driver from reporting excessive system wakeup events and clean it up (Ravi Chandra Sadineni, Randy Dunlap). - Clean up two minor code style issues in the ACPI core and GHES handling on ARM64 (Dongjiu Geng, John Garry, Tom Todd)" * tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (34 commits) platform/x86: Add ACPI i2c-multi-instantiate pseudo driver ACPI / x86: utils: Remove status workaround from acpi_device_always_present() ACPI / scan: Create platform device for fwnodes with multiple i2c devices ACPI / scan: Initialize status to ACPI_STA_DEFAULT ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th ACPI: bus: Fix a pointer coding style issue arm64 / ACPI: clean the additional checks before calling ghes_notify_sea() ACPI / scan: Add static attribute to indirect_io_hosts[] ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd ACPI / battery: get rid of negations in conditions ACPI / battery: use specialized print macros ACPI / battery: reorder headers alphabetically ACPI / battery: drop inclusion of init.h ACPI: battery: remove redundant old_present check on insertion ACPI: property: graph: Update graph documentation to use generic references ACPI: property: graph: Improve graph documentation for port/ep numbering ACPI: property: graph: Fix graph documentation ACPI: property: Update documentation for hierarchical data extension 1.1 ACPI: property: Document key numbering for hierarchical data extension refs ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/acpi.h25
-rw-r--r--include/linux/fwnode.h2
2 files changed, 6 insertions, 21 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index e54f40974eb0..de8d3d3fa651 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -1058,27 +1058,20 @@ static inline int acpi_dev_gpio_irq_get(struct acpi_device *adev, int index)
1058 1058
1059/* Device properties */ 1059/* Device properties */
1060 1060
1061#define MAX_ACPI_REFERENCE_ARGS 8
1062struct acpi_reference_args {
1063 struct acpi_device *adev;
1064 size_t nargs;
1065 u64 args[MAX_ACPI_REFERENCE_ARGS];
1066};
1067
1068#ifdef CONFIG_ACPI 1061#ifdef CONFIG_ACPI
1069int acpi_dev_get_property(const struct acpi_device *adev, const char *name, 1062int acpi_dev_get_property(const struct acpi_device *adev, const char *name,
1070 acpi_object_type type, const union acpi_object **obj); 1063 acpi_object_type type, const union acpi_object **obj);
1071int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode, 1064int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
1072 const char *name, size_t index, size_t num_args, 1065 const char *name, size_t index, size_t num_args,
1073 struct acpi_reference_args *args); 1066 struct fwnode_reference_args *args);
1074 1067
1075static inline int acpi_node_get_property_reference( 1068static inline int acpi_node_get_property_reference(
1076 const struct fwnode_handle *fwnode, 1069 const struct fwnode_handle *fwnode,
1077 const char *name, size_t index, 1070 const char *name, size_t index,
1078 struct acpi_reference_args *args) 1071 struct fwnode_reference_args *args)
1079{ 1072{
1080 return __acpi_node_get_property_reference(fwnode, name, index, 1073 return __acpi_node_get_property_reference(fwnode, name, index,
1081 MAX_ACPI_REFERENCE_ARGS, args); 1074 NR_FWNODE_REFERENCE_ARGS, args);
1082} 1075}
1083 1076
1084int acpi_node_prop_get(const struct fwnode_handle *fwnode, const char *propname, 1077int acpi_node_prop_get(const struct fwnode_handle *fwnode, const char *propname,
@@ -1096,14 +1089,6 @@ struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
1096 struct fwnode_handle *child); 1089 struct fwnode_handle *child);
1097struct fwnode_handle *acpi_node_get_parent(const struct fwnode_handle *fwnode); 1090struct fwnode_handle *acpi_node_get_parent(const struct fwnode_handle *fwnode);
1098 1091
1099struct fwnode_handle *
1100acpi_graph_get_next_endpoint(const struct fwnode_handle *fwnode,
1101 struct fwnode_handle *prev);
1102int acpi_graph_get_remote_endpoint(const struct fwnode_handle *fwnode,
1103 struct fwnode_handle **remote,
1104 struct fwnode_handle **port,
1105 struct fwnode_handle **endpoint);
1106
1107struct acpi_probe_entry; 1092struct acpi_probe_entry;
1108typedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *, 1093typedef bool (*acpi_probe_entry_validate_subtbl)(struct acpi_subtable_header *,
1109 struct acpi_probe_entry *); 1094 struct acpi_probe_entry *);
@@ -1169,7 +1154,7 @@ static inline int acpi_dev_get_property(struct acpi_device *adev,
1169static inline int 1154static inline int
1170__acpi_node_get_property_reference(const struct fwnode_handle *fwnode, 1155__acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
1171 const char *name, size_t index, size_t num_args, 1156 const char *name, size_t index, size_t num_args,
1172 struct acpi_reference_args *args) 1157 struct fwnode_reference_args *args)
1173{ 1158{
1174 return -ENXIO; 1159 return -ENXIO;
1175} 1160}
@@ -1177,7 +1162,7 @@ __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
1177static inline int 1162static inline int
1178acpi_node_get_property_reference(const struct fwnode_handle *fwnode, 1163acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
1179 const char *name, size_t index, 1164 const char *name, size_t index,
1180 struct acpi_reference_args *args) 1165 struct fwnode_reference_args *args)
1181{ 1166{
1182 return -ENXIO; 1167 return -ENXIO;
1183} 1168}
diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
index 4fe8f289b3f6..faebf0ca0686 100644
--- a/include/linux/fwnode.h
+++ b/include/linux/fwnode.h
@@ -45,7 +45,7 @@ struct fwnode_endpoint {
45struct fwnode_reference_args { 45struct fwnode_reference_args {
46 struct fwnode_handle *fwnode; 46 struct fwnode_handle *fwnode;
47 unsigned int nargs; 47 unsigned int nargs;
48 unsigned int args[NR_FWNODE_REFERENCE_ARGS]; 48 u64 args[NR_FWNODE_REFERENCE_ARGS];
49}; 49};
50 50
51/** 51/**