2 * Copyright(c) 2013-2015 Intel Corporation. All rights reserved.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of version 2 of the GNU General Public License as
6 * published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 #ifndef __NFIT_TEST_H__
14 #define __NFIT_TEST_H__
15 #include <linux/list.h>
16 #include <linux/uuid.h>
17 #include <linux/ioport.h>
18 #include <linux/spinlock_types.h>
20 struct nfit_test_request
{
21 struct list_head list
;
25 struct nfit_test_resource
{
26 struct list_head requests
;
27 struct list_head list
;
36 typedef void *acpi_handle
;
38 typedef struct nfit_test_resource
*(*nfit_test_lookup_fn
)(resource_size_t
);
39 typedef union acpi_object
*(*nfit_test_evaluate_dsm_fn
)(acpi_handle handle
,
40 const guid_t
*guid
, u64 rev
, u64 func
,
41 union acpi_object
*argv4
);
42 void __iomem
*__wrap_ioremap_nocache(resource_size_t offset
,
44 void __wrap_iounmap(volatile void __iomem
*addr
);
45 void nfit_test_setup(nfit_test_lookup_fn lookup
,
46 nfit_test_evaluate_dsm_fn evaluate
);
47 void nfit_test_teardown(void);
48 struct nfit_test_resource
*get_nfit_res(resource_size_t resource
);