cregit-Linux how code gets into the kernel

Release 4.13 drivers/nvdimm/pmem.h

Directory: drivers/nvdimm
#ifndef __NVDIMM_PMEM_H__

#define __NVDIMM_PMEM_H__
#include <linux/badblocks.h>
#include <linux/types.h>
#include <linux/pfn_t.h>
#include <linux/fs.h>

#ifdef CONFIG_ARCH_HAS_PMEM_API

#define ARCH_MEMREMAP_PMEM MEMREMAP_WB
void arch_wb_cache_pmem(void *addr, size_t size);
void arch_invalidate_pmem(void *addr, size_t size);
#else

#define ARCH_MEMREMAP_PMEM MEMREMAP_WT

static inline void arch_wb_cache_pmem(void *addr, size_t size) { }

Contributors

PersonTokensPropCommitsCommitProp
Dan J Williams13100.00%1100.00%
Total13100.00%1100.00%


static inline void arch_invalidate_pmem(void *addr, size_t size) { }

Contributors

PersonTokensPropCommitsCommitProp
Dan J Williams13100.00%1100.00%
Total13100.00%1100.00%

#endif /* this definition is in it's own header for tools/testing/nvdimm to consume */ struct pmem_device { /* One contiguous memory region per device */ phys_addr_t phys_addr; /* when non-zero this device is hosting a 'pfn' instance */ phys_addr_t data_offset; u64 pfn_flags; void *virt_addr; /* immutable base size of the namespace */ size_t size; /* trim size when namespace capacity has been section aligned */ u32 pfn_pad; struct kernfs_node *bb_state; struct badblocks bb; struct dax_device *dax_dev; struct gendisk *disk; }; long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff, long nr_pages, void **kaddr, pfn_t *pfn); #endif /* __NVDIMM_PMEM_H__ */

Overall Contributors

PersonTokensPropCommitsCommitProp
Dan J Williams15196.79%583.33%
Toshi Kani53.21%116.67%
Total156100.00%6100.00%
Directory: drivers/nvdimm
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.