summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/module.h
blob: 3b3f421b244f4739011a4b29731393acd44f4d2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * Greybus module code
 *
 * Copyright 2014 Google Inc.
 *
 * Released under the GPLv2 only.
 */

#ifndef __MODULE_H
#define __MODULE_H

/* Greybus "public" definitions" */
struct gb_module {
	struct device dev;
	u8 module_id;		/* Physical location within the Endo */
};
#define to_gb_module(d) container_of(d, struct gb_module, dev)

struct greybus_host_device;

/* Greybus "private" definitions */
struct gb_module *gb_module_find(struct greybus_host_device *hd, u8 module_id);
struct gb_module *gb_module_create(struct device *parent, u8 module_id);
void gb_module_remove_all(struct gb_endo *endo);

#endif /* __MODULE_H */