summaryrefslogtreecommitdiff
path: root/xpp/xbus-sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/xbus-sysfs.c')
-rw-r--r--xpp/xbus-sysfs.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/xpp/xbus-sysfs.c b/xpp/xbus-sysfs.c
index 04bc24e..87a58f1 100644
--- a/xpp/xbus-sysfs.c
+++ b/xpp/xbus-sysfs.c
@@ -46,7 +46,7 @@
static const char rcsid[] = "$Id$";
/* Command line parameters */
-extern int print_dbg;
+extern int debug;
/* Kernel versions... */
@@ -355,6 +355,9 @@ void xbus_sysfs_remove(xbus_t *xbus)
XBUS_DBG(GENERAL, xbus, "\n");
astribank = &xbus->astribank;
BUG_ON(!astribank);
+ if(!astribank->driver_data)
+ return;
+ BUG_ON(astribank->driver_data != xbus);
#ifdef SAMPLE_TICKS
device_remove_file(&xbus->astribank, &dev_attr_samples);
#endif
@@ -379,7 +382,7 @@ int xbus_sysfs_create(xbus_t *xbus)
astribank->bus = &xpp_bus_type;
astribank->parent = &xpp_bus;
snprintf(astribank->bus_id, BUS_ID_SIZE, "xbus-%02d", xbus->num);
- astribank->driver_data = NULL; /* FIXME: add some usefull data */
+ astribank->driver_data = NULL; /* override below */
astribank->release = xpp_dev_release;
ret = device_register(astribank);
if(ret) {
@@ -418,6 +421,7 @@ int xbus_sysfs_create(xbus_t *xbus)
goto out;
}
#endif
+ astribank->driver_data = xbus; /* Everything is good */
out:
return ret;
}