#ifndef __LINUX_GREYBUS_H
#define __LINUX_GREYBUS_H
#ifdef __KERNEL__
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/idr.h>
#include <linux/greybus/greybus_id.h>
#include <linux/greybus/greybus_manifest.h>
#include <linux/greybus/greybus_protocols.h>
#include <linux/greybus/manifest.h>
#include <linux/greybus/hd.h>
#include <linux/greybus/svc.h>
#include <linux/greybus/control.h>
#include <linux/greybus/module.h>
#include <linux/greybus/interface.h>
#include <linux/greybus/bundle.h>
#include <linux/greybus/connection.h>
#include <linux/greybus/operation.h>
#define GREYBUS_VERSION_MAJOR …
#define GREYBUS_VERSION_MINOR …
#define GREYBUS_ID_MATCH_DEVICE …
#define GREYBUS_DEVICE(v, p) …
#define GREYBUS_DEVICE_CLASS(c) …
#define CPORT_ID_MAX …
#define CPORT_ID_BAD …
struct greybus_driver { … };
#define to_greybus_driver(d) …
static inline void greybus_set_drvdata(struct gb_bundle *bundle, void *data)
{ … }
static inline void *greybus_get_drvdata(struct gb_bundle *bundle)
{ … }
int greybus_register_driver(struct greybus_driver *driver,
struct module *module, const char *mod_name);
void greybus_deregister_driver(struct greybus_driver *driver);
#define greybus_register(driver) …
#define greybus_deregister(driver) …
#define module_greybus_driver(__greybus_driver) …
int greybus_disabled(void);
void gb_debugfs_init(void);
void gb_debugfs_cleanup(void);
struct dentry *gb_debugfs_get(void);
extern const struct bus_type greybus_bus_type;
extern const struct device_type greybus_hd_type;
extern const struct device_type greybus_module_type;
extern const struct device_type greybus_interface_type;
extern const struct device_type greybus_control_type;
extern const struct device_type greybus_bundle_type;
extern const struct device_type greybus_svc_type;
static inline bool cport_id_valid(struct gb_host_device *hd, u16 cport_id)
{ … }
#endif
#endif