1 /* 2 * Copyright(c) 2013-2015 Intel Corporation. All rights reserved. 3 * 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. 7 * 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. 12 */ 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> 19 20 struct nfit_test_request { 21 struct list_head list; 22 struct resource res; 23 }; 24 25 struct nfit_test_resource { 26 struct list_head requests; 27 struct list_head list; 28 struct resource res; 29 struct device *dev; 30 spinlock_t lock; 31 int req_count; 32 void *buf; 33 }; 34 35 union acpi_object; 36 typedef void *acpi_handle; 37 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, 43 unsigned long size); 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); 49 #endif 50