Commit | Line | Data |
---|---|---|
67dcdd4d DW |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | ||
3 | #include <linux/list.h> | |
4 | #include <linux/acpi.h> | |
98d2d3a2 | 5 | #include <cxl.h> |
67dcdd4d DW |
6 | |
7 | struct cxl_mock_ops { | |
8 | struct list_head list; | |
9 | bool (*is_mock_adev)(struct acpi_device *dev); | |
814dff9a DW |
10 | int (*acpi_table_parse_cedt)(enum acpi_cedt_type id, |
11 | acpi_tbl_entry_handler_arg handler_arg, | |
12 | void *arg); | |
67dcdd4d DW |
13 | bool (*is_mock_bridge)(struct device *dev); |
14 | acpi_status (*acpi_evaluate_integer)(acpi_handle handle, | |
15 | acpi_string pathname, | |
16 | struct acpi_object_list *arguments, | |
17 | unsigned long long *data); | |
18 | struct acpi_pci_root *(*acpi_pci_find_root)(acpi_handle handle); | |
67dcdd4d | 19 | bool (*is_mock_bus)(struct pci_bus *bus); |
98d2d3a2 | 20 | bool (*is_mock_port)(struct device *dev); |
67dcdd4d | 21 | bool (*is_mock_dev)(struct device *dev); |
664bf115 | 22 | int (*devm_cxl_port_enumerate_dports)(struct cxl_port *port); |
4474ce56 DJ |
23 | struct cxl_hdm *(*devm_cxl_setup_hdm)( |
24 | struct cxl_port *port, struct cxl_endpoint_dvsec_info *info); | |
664bf115 | 25 | int (*devm_cxl_add_passthrough_decoder)(struct cxl_port *port); |
b777e9be DJ |
26 | int (*devm_cxl_enumerate_decoders)( |
27 | struct cxl_hdm *hdm, struct cxl_endpoint_dvsec_info *info); | |
117132ed | 28 | void (*cxl_endpoint_parse_cdat)(struct cxl_port *port); |
67dcdd4d DW |
29 | }; |
30 | ||
31 | void register_cxl_mock_ops(struct cxl_mock_ops *ops); | |
32 | void unregister_cxl_mock_ops(struct cxl_mock_ops *ops); | |
33 | struct cxl_mock_ops *get_cxl_mock_ops(int *index); | |
34 | void put_cxl_mock_ops(int index); |