swh:1:snp:c3bf2749e3476071fa748f67b0ffa2fdc5fe49d9
Raw File
Tip revision: 89ca3b881987f5a4be4c5dbaa7f0df12bbdde2fd authored by Linus Torvalds on 05 May 2014, 01:14:42 UTC
Linux 3.15-rc4
Tip revision: 89ca3b8
component.h
#ifndef COMPONENT_H
#define COMPONENT_H

struct device;

struct component_ops {
	int (*bind)(struct device *, struct device *, void *);
	void (*unbind)(struct device *, struct device *, void *);
};

int component_add(struct device *, const struct component_ops *);
void component_del(struct device *, const struct component_ops *);

int component_bind_all(struct device *, void *);
void component_unbind_all(struct device *, void *);

struct master;

struct component_master_ops {
	int (*add_components)(struct device *, struct master *);
	int (*bind)(struct device *);
	void (*unbind)(struct device *);
};

int component_master_add(struct device *, const struct component_master_ops *);
void component_master_del(struct device *,
	const struct component_master_ops *);

int component_master_add_child(struct master *master,
	int (*compare)(struct device *, void *), void *compare_data);

#endif
back to top