[PATCH 2/9] ACPI / hotplug: Add .fixup() callback to struct acpi_hotplug_context

From: Rafael J. Wysocki
Date: Tue Feb 18 2014 - 20:19:12 EST


From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

In order for the ACPI dock station code to be able to use the
callbacks pointed to by the ACPI device objects' hotplug contexts
add a .fixup() callback pointer to struct acpi_hotplug_context.
That callback will be useful to handle PCI devices located in
dock stations.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
---
drivers/pci/hotplug/acpiphp_glue.c | 2 +-
include/acpi/acpi_bus.h | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)

Index: linux-pm/include/acpi/acpi_bus.h
===================================================================
--- linux-pm.orig/include/acpi/acpi_bus.h
+++ linux-pm/include/acpi/acpi_bus.h
@@ -146,6 +146,7 @@ struct acpi_scan_handler {
struct acpi_hotplug_context {
struct acpi_device *self;
int (*event)(struct acpi_device *, u32);
+ void (*fixup)(struct acpi_device *);
};

/*
@@ -368,10 +369,12 @@ static inline void acpi_set_device_statu

static inline void acpi_set_hp_context(struct acpi_device *adev,
struct acpi_hotplug_context *hp,
- int (*event)(struct acpi_device *, u32))
+ int (*event)(struct acpi_device *, u32),
+ void (*fixup)(struct acpi_device *))
{
hp->self = adev;
hp->event = event;
+ hp->fixup = fixup;
adev->hp = hp;
}

Index: linux-pm/drivers/pci/hotplug/acpiphp_glue.c
===================================================================
--- linux-pm.orig/drivers/pci/hotplug/acpiphp_glue.c
+++ linux-pm/drivers/pci/hotplug/acpiphp_glue.c
@@ -80,7 +80,7 @@ static struct acpiphp_context *acpiphp_i
return NULL;

context->refcount = 1;
- acpi_set_hp_context(adev, &context->hp, acpiphp_hotplug_event);
+ acpi_set_hp_context(adev, &context->hp, acpiphp_hotplug_event, NULL);
return context;
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/