summaryrefslogtreecommitdiffstats
path: root/drivers/char/ipmi/kcs_bmc_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/ipmi/kcs_bmc_client.h')
-rw-r--r--drivers/char/ipmi/kcs_bmc_client.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/char/ipmi/kcs_bmc_client.h b/drivers/char/ipmi/kcs_bmc_client.h
index a32fdc4a7707..814ad8e052ef 100644
--- a/drivers/char/ipmi/kcs_bmc_client.h
+++ b/drivers/char/ipmi/kcs_bmc_client.h
@@ -8,6 +8,17 @@
#include "kcs_bmc.h"
+struct kcs_bmc_driver_ops {
+ int (*add_device)(struct kcs_bmc_device *kcs_bmc);
+ int (*remove_device)(struct kcs_bmc_device *kcs_bmc);
+};
+
+struct kcs_bmc_driver {
+ struct list_head entry;
+
+ const struct kcs_bmc_driver_ops *ops;
+};
+
struct kcs_bmc_client_ops {
irqreturn_t (*event)(struct kcs_bmc_client *client);
};
@@ -18,6 +29,9 @@ struct kcs_bmc_client {
struct kcs_bmc_device *dev;
};
+void kcs_bmc_register_driver(struct kcs_bmc_driver *drv);
+void kcs_bmc_unregister_driver(struct kcs_bmc_driver *drv);
+
int kcs_bmc_enable_device(struct kcs_bmc_device *kcs_bmc, struct kcs_bmc_client *client);
void kcs_bmc_disable_device(struct kcs_bmc_device *kcs_bmc, struct kcs_bmc_client *client);