Commit | Line | Data |
---|---|---|
fc00bc8a ML |
1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* | |
3 | * Interface for Surface ACPI Notify (SAN) driver. | |
4 | * | |
5 | * Provides access to discrete GPU notifications sent from ACPI via the SAN | |
6 | * driver, which are not handled by this driver directly. | |
7 | * | |
8 | * Copyright (C) 2019-2020 Maximilian Luz <luzmaximilian@gmail.com> | |
9 | */ | |
10 | ||
11 | #ifndef _LINUX_SURFACE_ACPI_NOTIFY_H | |
12 | #define _LINUX_SURFACE_ACPI_NOTIFY_H | |
13 | ||
14 | #include <linux/notifier.h> | |
15 | #include <linux/types.h> | |
16 | ||
17 | /** | |
18 | * struct san_dgpu_event - Discrete GPU ACPI event. | |
19 | * @category: Category of the event. | |
20 | * @target: Target ID of the event source. | |
21 | * @command: Command ID of the event. | |
22 | * @instance: Instance ID of the event source. | |
23 | * @length: Length of the event's payload data (in bytes). | |
24 | * @payload: Pointer to the event's payload data. | |
25 | */ | |
26 | struct san_dgpu_event { | |
27 | u8 category; | |
28 | u8 target; | |
29 | u8 command; | |
30 | u8 instance; | |
31 | u16 length; | |
32 | u8 *payload; | |
33 | }; | |
34 | ||
35 | int san_client_link(struct device *client); | |
36 | int san_dgpu_notifier_register(struct notifier_block *nb); | |
37 | int san_dgpu_notifier_unregister(struct notifier_block *nb); | |
38 | ||
39 | #endif /* _LINUX_SURFACE_ACPI_NOTIFY_H */ |