linux/include/scsi/fcoe_sysfs.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2011-2012 Intel Corporation.  All rights reserved.
 *
 * Maintained at www.Open-FCoE.org
 */

#ifndef FCOE_SYSFS
#define FCOE_SYSFS

#include <linux/if_ether.h>
#include <linux/device.h>
#include <scsi/fc/fc_fcoe.h>

struct fcoe_ctlr_device;
struct fcoe_fcf_device;

struct fcoe_sysfs_function_template {};

#define dev_to_ctlr(d)

enum fip_conn_type {};

enum ctlr_enabled_state {};

struct fcoe_ctlr_device {};

static inline void *fcoe_ctlr_device_priv(const struct fcoe_ctlr_device *ctlr)
{}

/* fcf states */
enum fcf_state {};

struct fcoe_fcf_device {};

#define dev_to_fcf(d)
/* parentage should never be missing */
#define fcoe_fcf_dev_to_ctlr_dev(x)
#define fcoe_fcf_device_priv(x)

struct fcoe_ctlr_device *fcoe_ctlr_device_add(struct device *parent,
			    struct fcoe_sysfs_function_template *f,
			    int priv_size);
void fcoe_ctlr_device_delete(struct fcoe_ctlr_device *);
struct fcoe_fcf_device *fcoe_fcf_device_add(struct fcoe_ctlr_device *,
					    struct fcoe_fcf_device *);
void fcoe_fcf_device_delete(struct fcoe_fcf_device *);

int __init fcoe_sysfs_setup(void);
void __exit fcoe_sysfs_teardown(void);

#endif /* FCOE_SYSFS */