Files
rockchip-kernel/include/linux/component.h
Russell King f54153745c UPSTREAM: component: add support for component match array
Add support for generating a set of component matches at master probe
time, and submitting them to the component layer.  This allows the
component layer to perform the matches internally without needing to
call into the master driver, and allows for further restructuring of
the component helper.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
(cherry picked from commit 6955b58254)
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

BUG=chromium:399935
TEST=emerge-veyron chromeos-kernel-3_14

Change-Id: Id69fae3dc289e6f1e48eb9da6981c045e3c9567a
Reviewed-on: https://chromium-review.googlesource.com/212243
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Commit-Queue: Doug Anderson <dianders@chromium.org>
2014-09-05 01:17:35 +00:00

40 lines
1.1 KiB
C

#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);
struct component_match;
int component_master_add_with_match(struct device *,
const struct component_master_ops *, struct component_match *);
void component_match_add(struct device *, struct component_match **,
int (*compare)(struct device *, void *), void *compare_data);
#endif