nfit_test.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. struct nfit_test_request {
  19. struct list_head list;
  20. struct resource res;
  21. };
  22. struct nfit_test_resource {
  23. struct list_head requests;
  24. struct list_head list;
  25. struct resource res;
  26. struct device *dev;
  27. spinlock_t lock;
  28. int req_count;
  29. void *buf;
  30. };
  31. union acpi_object;
  32. typedef void *acpi_handle;
  33. typedef struct nfit_test_resource *(*nfit_test_lookup_fn)(resource_size_t);
  34. typedef union acpi_object *(*nfit_test_evaluate_dsm_fn)(acpi_handle handle,
  35. const u8 *uuid, u64 rev, u64 func, union acpi_object *argv4);
  36. void __iomem *__wrap_ioremap_nocache(resource_size_t offset,
  37. unsigned long size);
  38. void __wrap_iounmap(volatile void __iomem *addr);
  39. void nfit_test_setup(nfit_test_lookup_fn lookup,
  40. nfit_test_evaluate_dsm_fn evaluate);
  41. void nfit_test_teardown(void);
  42. struct nfit_test_resource *get_nfit_res(resource_size_t resource);
  43. #endif