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/ioport.h> 17 #include <linux/spinlock_types.h> 18 19 struct nfit_test_request { 20 struct list_head list; 21 struct resource res; 22 }; 23 24 struct nfit_test_resource { 25 struct list_head requests; 26 struct list_head list; 27 struct resource res; 28 struct device *dev; 29 spinlock_t lock; 30 int req_count; 31 void *buf; 32 }; 33 34 typedef struct nfit_test_resource *(*nfit_test_lookup_fn)(resource_size_t); 35 void __iomem *__wrap_ioremap_nocache(resource_size_t offset, 36 unsigned long size); 37 void __wrap_iounmap(volatile void __iomem *addr); 38 void nfit_test_setup(nfit_test_lookup_fn lookup); 39 void nfit_test_teardown(void); 40 struct nfit_test_resource *get_nfit_res(resource_size_t resource); 41 #endif 42