mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
ACPI: scan: Introduce typedef:s for struct acpi_hotplug_context members
Follow the struct acpi_device_ops approach and introduce typedef:s for the members. It makes code less verbose and more particular on what parameters we take or types we use. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
602401e328
commit
f5c519fc36
@ -88,43 +88,29 @@ static void dock_hotplug_event(struct dock_dependent_device *dd, u32 event,
|
||||
enum dock_callback_type cb_type)
|
||||
{
|
||||
struct acpi_device *adev = dd->adev;
|
||||
acpi_hp_fixup fixup = NULL;
|
||||
acpi_hp_uevent uevent = NULL;
|
||||
acpi_hp_notify notify = NULL;
|
||||
|
||||
acpi_lock_hp_context();
|
||||
|
||||
if (!adev->hp)
|
||||
goto out;
|
||||
|
||||
if (cb_type == DOCK_CALL_FIXUP) {
|
||||
void (*fixup)(struct acpi_device *);
|
||||
|
||||
fixup = adev->hp->fixup;
|
||||
if (fixup) {
|
||||
acpi_unlock_hp_context();
|
||||
fixup(adev);
|
||||
return;
|
||||
}
|
||||
} else if (cb_type == DOCK_CALL_UEVENT) {
|
||||
void (*uevent)(struct acpi_device *, u32);
|
||||
|
||||
uevent = adev->hp->uevent;
|
||||
if (uevent) {
|
||||
acpi_unlock_hp_context();
|
||||
uevent(adev, event);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
int (*notify)(struct acpi_device *, u32);
|
||||
|
||||
notify = adev->hp->notify;
|
||||
if (notify) {
|
||||
acpi_unlock_hp_context();
|
||||
notify(adev, event);
|
||||
return;
|
||||
}
|
||||
if (adev->hp) {
|
||||
if (cb_type == DOCK_CALL_FIXUP)
|
||||
fixup = adev->hp->fixup;
|
||||
else if (cb_type == DOCK_CALL_UEVENT)
|
||||
uevent = adev->hp->uevent;
|
||||
else
|
||||
notify = adev->hp->notify;
|
||||
}
|
||||
|
||||
out:
|
||||
acpi_unlock_hp_context();
|
||||
|
||||
if (fixup)
|
||||
fixup(adev);
|
||||
else if (uevent)
|
||||
uevent(adev, event);
|
||||
else if (notify)
|
||||
notify(adev, event);
|
||||
}
|
||||
|
||||
static struct dock_station *find_dock_station(acpi_handle handle)
|
||||
|
@ -73,8 +73,7 @@ void acpi_unlock_hp_context(void)
|
||||
|
||||
void acpi_initialize_hp_context(struct acpi_device *adev,
|
||||
struct acpi_hotplug_context *hp,
|
||||
int (*notify)(struct acpi_device *, u32),
|
||||
void (*uevent)(struct acpi_device *, u32))
|
||||
acpi_hp_notify notify, acpi_hp_uevent uevent)
|
||||
{
|
||||
acpi_lock_hp_context();
|
||||
hp->notify = notify;
|
||||
@ -428,7 +427,7 @@ void acpi_device_hotplug(struct acpi_device *adev, u32 src)
|
||||
} else if (adev->flags.hotplug_notify) {
|
||||
error = acpi_generic_hotplug_event(adev, src);
|
||||
} else {
|
||||
int (*notify)(struct acpi_device *, u32);
|
||||
acpi_hp_notify notify;
|
||||
|
||||
acpi_lock_hp_context();
|
||||
notify = adev->hp ? adev->hp->notify : NULL;
|
||||
|
@ -144,11 +144,15 @@ struct acpi_scan_handler {
|
||||
* --------------------
|
||||
*/
|
||||
|
||||
typedef int (*acpi_hp_notify) (struct acpi_device *, u32);
|
||||
typedef void (*acpi_hp_uevent) (struct acpi_device *, u32);
|
||||
typedef void (*acpi_hp_fixup) (struct acpi_device *);
|
||||
|
||||
struct acpi_hotplug_context {
|
||||
struct acpi_device *self;
|
||||
int (*notify)(struct acpi_device *, u32);
|
||||
void (*uevent)(struct acpi_device *, u32);
|
||||
void (*fixup)(struct acpi_device *);
|
||||
acpi_hp_notify notify;
|
||||
acpi_hp_uevent uevent;
|
||||
acpi_hp_fixup fixup;
|
||||
};
|
||||
|
||||
/*
|
||||
@ -583,8 +587,7 @@ static inline void acpi_set_hp_context(struct acpi_device *adev,
|
||||
|
||||
void acpi_initialize_hp_context(struct acpi_device *adev,
|
||||
struct acpi_hotplug_context *hp,
|
||||
int (*notify)(struct acpi_device *, u32),
|
||||
void (*uevent)(struct acpi_device *, u32));
|
||||
acpi_hp_notify notify, acpi_hp_uevent uevent);
|
||||
|
||||
/* acpi_device.dev.bus == &acpi_bus_type */
|
||||
extern const struct bus_type acpi_bus_type;
|
||||
|
Loading…
Reference in New Issue
Block a user