linux/drivers/cxl/pmem.c

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright(c) 2021 Intel Corporation. All rights reserved. */
#include <linux/libnvdimm.h>
#include <asm/unaligned.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/ndctl.h>
#include <linux/async.h>
#include <linux/slab.h>
#include <linux/nd.h>
#include "cxlmem.h"
#include "cxl.h"

static __read_mostly DECLARE_BITMAP(exclusive_cmds, CXL_MEM_COMMAND_ID_MAX);

static void clear_exclusive(void *mds)
{}

static void unregister_nvdimm(void *nvdimm)
{}

static ssize_t provider_show(struct device *dev, struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(provider);

static ssize_t id_show(struct device *dev, struct device_attribute *attr, char *buf)
{}
static DEVICE_ATTR_RO(id);

static struct attribute *cxl_dimm_attributes[] =;

static const struct attribute_group cxl_dimm_attribute_group =;

static const struct attribute_group *cxl_dimm_attribute_groups[] =;

static int cxl_nvdimm_probe(struct device *dev)
{}

static struct cxl_driver cxl_nvdimm_driver =;

static int cxl_pmem_get_config_size(struct cxl_memdev_state *mds,
				    struct nd_cmd_get_config_size *cmd,
				    unsigned int buf_len)
{}

static int cxl_pmem_get_config_data(struct cxl_memdev_state *mds,
				    struct nd_cmd_get_config_data_hdr *cmd,
				    unsigned int buf_len)
{}

static int cxl_pmem_set_config_data(struct cxl_memdev_state *mds,
				    struct nd_cmd_set_config_hdr *cmd,
				    unsigned int buf_len)
{}

static int cxl_pmem_nvdimm_ctl(struct nvdimm *nvdimm, unsigned int cmd,
			       void *buf, unsigned int buf_len)
{}

static int cxl_pmem_ctl(struct nvdimm_bus_descriptor *nd_desc,
			struct nvdimm *nvdimm, unsigned int cmd, void *buf,
			unsigned int buf_len, int *cmd_rc)
{}

static int detach_nvdimm(struct device *dev, void *data)
{}

static void unregister_nvdimm_bus(void *_cxl_nvb)
{}

static int cxl_nvdimm_bridge_probe(struct device *dev)
{}

static struct cxl_driver cxl_nvdimm_bridge_driver =;

static void unregister_nvdimm_region(void *nd_region)
{}

static void cxlr_pmem_remove_resource(void *res)
{}

struct cxl_pmem_region_info {};

static int cxl_pmem_region_probe(struct device *dev)
{}

static struct cxl_driver cxl_pmem_region_driver =;

static __init int cxl_pmem_init(void)
{}

static __exit void cxl_pmem_exit(void)
{}

MODULE_DESCRIPTION();
MODULE_LICENSE();
module_init();
module_exit(cxl_pmem_exit);
MODULE_IMPORT_NS();
MODULE_ALIAS_CXL();
MODULE_ALIAS_CXL();
MODULE_ALIAS_CXL();