linux/drivers/nvdimm/btt_devs.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright(c) 2013-2015 Intel Corporation. All rights reserved.
 */
#include <linux/blkdev.h>
#include <linux/device.h>
#include <linux/sizes.h>
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include "nd-core.h"
#include "btt.h"
#include "nd.h"

static void nd_btt_release(struct device *dev)
{}

struct nd_btt *to_nd_btt(struct device *dev)
{}
EXPORT_SYMBOL();

static const unsigned long btt_lbasize_supported[] =;

static ssize_t sector_size_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{}

static ssize_t sector_size_store(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t len)
{}
static DEVICE_ATTR_RW(sector_size);

static ssize_t uuid_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{}

static ssize_t uuid_store(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t len)
{}
static DEVICE_ATTR_RW(uuid);

static ssize_t namespace_show(struct device *dev,
		struct device_attribute *attr, char *buf)
{}

static ssize_t namespace_store(struct device *dev,
		struct device_attribute *attr, const char *buf, size_t len)
{}
static DEVICE_ATTR_RW(namespace);

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

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

static struct attribute *nd_btt_attributes[] =;

static struct attribute_group nd_btt_attribute_group =;

static const struct attribute_group *nd_btt_attribute_groups[] =;

static const struct device_type nd_btt_device_type =;

bool is_nd_btt(struct device *dev)
{}
EXPORT_SYMBOL();

static struct lock_class_key nvdimm_btt_key;

static struct device *__nd_btt_create(struct nd_region *nd_region,
				      unsigned long lbasize, uuid_t *uuid,
				      struct nd_namespace_common *ndns)
{}

struct device *nd_btt_create(struct nd_region *nd_region)
{}

/**
 * nd_btt_arena_is_valid - check if the metadata layout is valid
 * @nd_btt:	device with BTT geometry and backing device info
 * @super:	pointer to the arena's info block being tested
 *
 * Check consistency of the btt info block with itself by validating
 * the checksum, and with the parent namespace by verifying the
 * parent_uuid contained in the info block with the one supplied in.
 *
 * Returns:
 * false for an invalid info block, true for a valid one
 */
bool nd_btt_arena_is_valid(struct nd_btt *nd_btt, struct btt_sb *super)
{}
EXPORT_SYMBOL();

int nd_btt_version(struct nd_btt *nd_btt, struct nd_namespace_common *ndns,
		struct btt_sb *btt_sb)
{}
EXPORT_SYMBOL();

static int __nd_btt_probe(struct nd_btt *nd_btt,
		struct nd_namespace_common *ndns, struct btt_sb *btt_sb)
{}

int nd_btt_probe(struct device *dev, struct nd_namespace_common *ndns)
{}
EXPORT_SYMBOL();