1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef NDTEST_H #define NDTEST_H #include <linux/platform_device.h> #include <linux/libnvdimm.h> struct ndtest_config; struct ndtest_priv { struct platform_device pdev; struct device_node *dn; struct list_head resources; struct nvdimm_bus_descriptor bus_desc; struct nvdimm_bus *bus; struct ndtest_config *config; dma_addr_t *dcr_dma; dma_addr_t *label_dma; dma_addr_t *dimm_dma; }; struct ndtest_blk_mmio { void __iomem *base; u64 size; u64 base_offset; u32 line_size; u32 num_lines; u32 table_size; }; struct ndtest_dimm { struct device *dev; struct nvdimm *nvdimm; struct ndtest_blk_mmio *mmio; struct nd_region *blk_region; dma_addr_t address; unsigned long long flags; unsigned long config_size; void *label_area; char *uuid_str; unsigned int size; unsigned int handle; unsigned int fail_cmd; unsigned int physical_id; unsigned int num_formats; int id; int fail_cmd_code; u8 no_alias; }; struct ndtest_mapping { u64 start; u64 size; u8 position; u8 dimm; }; struct ndtest_region { struct nd_region *region; struct ndtest_mapping *mapping; u64 size; u8 type; u8 num_mappings; u8 range_index; }; struct ndtest_config { struct ndtest_dimm *dimms; struct ndtest_region *regions; unsigned int dimm_count; unsigned int dimm_start; u8 num_regions; }; #endif /* NDTEST_H */