mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +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)
|
enum dock_callback_type cb_type)
|
||||||
{
|
{
|
||||||
struct acpi_device *adev = dd->adev;
|
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();
|
acpi_lock_hp_context();
|
||||||
|
|
||||||
if (!adev->hp)
|
if (adev->hp) {
|
||||||
goto out;
|
if (cb_type == DOCK_CALL_FIXUP)
|
||||||
|
fixup = adev->hp->fixup;
|
||||||
if (cb_type == DOCK_CALL_FIXUP) {
|
else if (cb_type == DOCK_CALL_UEVENT)
|
||||||
void (*fixup)(struct acpi_device *);
|
uevent = adev->hp->uevent;
|
||||||
|
else
|
||||||
fixup = adev->hp->fixup;
|
notify = adev->hp->notify;
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
|
||||||
acpi_unlock_hp_context();
|
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)
|
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,
|
void acpi_initialize_hp_context(struct acpi_device *adev,
|
||||||
struct acpi_hotplug_context *hp,
|
struct acpi_hotplug_context *hp,
|
||||||
int (*notify)(struct acpi_device *, u32),
|
acpi_hp_notify notify, acpi_hp_uevent uevent)
|
||||||
void (*uevent)(struct acpi_device *, u32))
|
|
||||||
{
|
{
|
||||||
acpi_lock_hp_context();
|
acpi_lock_hp_context();
|
||||||
hp->notify = notify;
|
hp->notify = notify;
|
||||||
@ -428,7 +427,7 @@ void acpi_device_hotplug(struct acpi_device *adev, u32 src)
|
|||||||
} else if (adev->flags.hotplug_notify) {
|
} else if (adev->flags.hotplug_notify) {
|
||||||
error = acpi_generic_hotplug_event(adev, src);
|
error = acpi_generic_hotplug_event(adev, src);
|
||||||
} else {
|
} else {
|
||||||
int (*notify)(struct acpi_device *, u32);
|
acpi_hp_notify notify;
|
||||||
|
|
||||||
acpi_lock_hp_context();
|
acpi_lock_hp_context();
|
||||||
notify = adev->hp ? adev->hp->notify : NULL;
|
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_hotplug_context {
|
||||||
struct acpi_device *self;
|
struct acpi_device *self;
|
||||||
int (*notify)(struct acpi_device *, u32);
|
acpi_hp_notify notify;
|
||||||
void (*uevent)(struct acpi_device *, u32);
|
acpi_hp_uevent uevent;
|
||||||
void (*fixup)(struct acpi_device *);
|
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,
|
void acpi_initialize_hp_context(struct acpi_device *adev,
|
||||||
struct acpi_hotplug_context *hp,
|
struct acpi_hotplug_context *hp,
|
||||||
int (*notify)(struct acpi_device *, u32),
|
acpi_hp_notify notify, acpi_hp_uevent uevent);
|
||||||
void (*uevent)(struct acpi_device *, u32));
|
|
||||||
|
|
||||||
/* acpi_device.dev.bus == &acpi_bus_type */
|
/* acpi_device.dev.bus == &acpi_bus_type */
|
||||||
extern const struct bus_type acpi_bus_type;
|
extern const struct bus_type acpi_bus_type;
|
||||||
|
Loading…
Reference in New Issue
Block a user