mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
platform/x86: wmi: Add an interface for subdrivers to access sibling devices
Some subdrivers need to access sibling devices. This gives them a clean way to do so. Signed-off-by: Andy Lutomirski <luto@kernel.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Mario Limonciello <mario_limonciello@dell.com> Cc: Pali Rohár <pali.rohar@gmail.com> Cc: linux-kernel@vger.kernel.org Cc: platform-driver-x86@vger.kernel.org Cc: linux-acpi@vger.kernel.org Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
This commit is contained in:
parent
9599ed919f
commit
f63019861c
@ -344,6 +344,23 @@ union acpi_object *wmidev_block_query(struct wmi_device *wdev, u8 instance)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(wmidev_block_query);
|
||||
|
||||
struct wmi_device *wmidev_get_other_guid(struct wmi_device *wdev,
|
||||
const char *guid_string)
|
||||
{
|
||||
struct wmi_block *this_wb = container_of(wdev, struct wmi_block, dev);
|
||||
struct wmi_block *other_wb;
|
||||
|
||||
if (!find_guid(guid_string, &other_wb))
|
||||
return NULL;
|
||||
|
||||
if (other_wb->acpi_device != this_wb->acpi_device)
|
||||
return NULL;
|
||||
|
||||
get_device(&other_wb->dev.dev);
|
||||
return &other_wb->dev;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(wmidev_get_other_guid);
|
||||
|
||||
/**
|
||||
* wmi_set_block - Write to a WMI block
|
||||
* @guid_string: 36 char string of the form fa50ff2b-f2e8-45de-83fa-65417f2f49ba
|
||||
|
@ -33,6 +33,10 @@ struct wmi_device {
|
||||
extern union acpi_object *wmidev_block_query(struct wmi_device *wdev,
|
||||
u8 instance);
|
||||
|
||||
/* Gets another device on the same bus. Caller must put_device the result. */
|
||||
extern struct wmi_device *wmidev_get_other_guid(struct wmi_device *wdev,
|
||||
const char *guid_string);
|
||||
|
||||
struct wmi_device_id {
|
||||
const char *guid_string;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user