linux/include/linux/transport_class.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * transport_class.h - a generic container for all transport classes
 *
 * Copyright (c) 2005 - James Bottomley <[email protected]>
 */

#ifndef _TRANSPORT_CLASS_H_
#define _TRANSPORT_CLASS_H_

#include <linux/device.h>
#include <linux/bug.h>
#include <linux/attribute_container.h>

struct transport_container;

struct transport_class {};

#define DECLARE_TRANSPORT_CLASS(cls, nm, su, rm, cfg)


struct anon_transport_class {};

#define DECLARE_ANON_TRANSPORT_CLASS(cls, mtch, cfg)

#define class_to_transport_class(x)

struct transport_container {};

#define attribute_container_to_transport_container(x)

void transport_remove_device(struct device *);
int transport_add_device(struct device *);
void transport_setup_device(struct device *);
void transport_configure_device(struct device *);
void transport_destroy_device(struct device *);

static inline int
transport_register_device(struct device *dev)
{}

static inline void
transport_unregister_device(struct device *dev)
{}

static inline int transport_container_register(struct transport_container *tc)
{}

static inline void transport_container_unregister(struct transport_container *tc)
{}

int transport_class_register(struct transport_class *);
int anon_transport_class_register(struct anon_transport_class *);
void transport_class_unregister(struct transport_class *);
void anon_transport_class_unregister(struct anon_transport_class *);


#endif