diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c index fdafa21..bf48aea 100644 --- a/drivers/ieee1394/nodemgr.c +++ b/drivers/ieee1394/nodemgr.c @@ -1796,3 +1796,11 @@ void cleanup_ieee1394_nodemgr(void) class_unregister(&nodemgr_ud_class); class_unregister(&nodemgr_ne_class); } + +int hpsb_register_node_interface(struct class_interface *intf) +{ + intf->class = &nodemgr_ne_class; + + return class_interface_register(intf); +} +EXPORT_SYMBOL_GPL(hpsb_register_node_interface); diff --git a/drivers/ieee1394/nodemgr.h b/drivers/ieee1394/nodemgr.h index 0b26616..d779f81 100644 --- a/drivers/ieee1394/nodemgr.h +++ b/drivers/ieee1394/nodemgr.h @@ -170,6 +170,14 @@ int hpsb_node_write(struct node_entry *n int hpsb_node_lock(struct node_entry *ne, u64 addr, int extcode, quadlet_t *data, quadlet_t arg); +/* + * things like mem1394 are interfaces to nodes, thus + * allow them to register and unregister one. + */ +int hpsb_register_node_interface(struct class_interface *intf); +static inline void hpsb_unregister_node_interface(struct class_interface *intf) { + class_interface_unregister(intf); +} /* Iterate the hosts, calling a given function with supplied data for each * host. */