summaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/acpiphp.h
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-07-13 23:27:25 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-07-23 04:00:23 +0200
commitbd4674dfc5fc704837148f36af41e1e0a640dfec (patch)
tree548c1480e87a85372760339053fc72ebeedd6403 /drivers/pci/hotplug/acpiphp.h
parentACPI / hotplug / PCI: Drop flags field from struct acpiphp_bridge (diff)
downloadlinux-bd4674dfc5fc704837148f36af41e1e0a640dfec.tar.xz
linux-bd4674dfc5fc704837148f36af41e1e0a640dfec.zip
ACPI / hotplug / PCI: Embed function struct into struct acpiphp_context
Since there has to be a struct acpiphp_func object for every struct acpiphp_context created by register_slot(), the struct acpiphp_func one can be embedded into the struct acpiphp_context one, which allows some code simplifications to be made. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/pci/hotplug/acpiphp.h')
-rw-r--r--drivers/pci/hotplug/acpiphp.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/pci/hotplug/acpiphp.h b/drivers/pci/hotplug/acpiphp.h
index 990fbfd110f1..31c84bdd2bef 100644
--- a/drivers/pci/hotplug/acpiphp.h
+++ b/drivers/pci/hotplug/acpiphp.h
@@ -116,7 +116,6 @@ struct acpiphp_slot {
* typically 8 objects per slot (i.e. for each PCI function)
*/
struct acpiphp_func {
- struct acpiphp_context *context;
struct acpiphp_slot *slot; /* parent */
struct list_head sibling;
@@ -128,11 +127,16 @@ struct acpiphp_func {
struct acpiphp_context {
acpi_handle handle;
- struct acpiphp_func *func;
+ struct acpiphp_func func;
struct acpiphp_bridge *bridge;
unsigned int refcount;
};
+static inline struct acpiphp_context *func_to_context(struct acpiphp_func *func)
+{
+ return container_of(func, struct acpiphp_context, func);
+}
+
/*
* struct acpiphp_attention_info - device specific attention registration
*