summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2009-10-04 19:31:49 +0000
committersruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2009-10-04 19:31:49 +0000
commit238057b2d20dea156c5398775f870a103d9471cc (patch)
tree969634f76dd6a4934a7accd7f0bc8c5198f3330e
parentcd21316c0b021efccbc1234b7d37a06c10624867 (diff)
xpp: Use proper get/set for device->driver_data
2.6.32-rc1 broke direct access to the member 'driver_data' of 'struct device'. However direct access to wasn't proper in the first place. This commit replaces direct access to dev->driver_data with dev_get_drvdata() and dev_set_drvdata(). This is a backport from https://origsvn.digium.com/svn/dahdi/linux/trunk@7226. From: tzafrir <tzafrir@22b186d9-ae4d-0410-a2cf-b1b22c4d6fbd> git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@4687 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r--kernel/xpp/xbus-sysfs.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/kernel/xpp/xbus-sysfs.c b/kernel/xpp/xbus-sysfs.c
index e43bc79..42a9023 100644
--- a/kernel/xpp/xbus-sysfs.c
+++ b/kernel/xpp/xbus-sysfs.c
@@ -707,7 +707,7 @@ int xpd_device_register(xbus_t *xbus, xpd_t *xpd)
dev->parent = &xbus->astribank;
dev_set_name(dev, "%02d:%1x:%1x", xbus->num, xpd->addr.unit,
xpd->addr.subunit);
- dev->driver_data = xpd;
+ dev_set_drvdata(dev, xpd);
dev->release = xpd_release;
ret = device_register(dev);
if(ret) {
@@ -728,11 +728,11 @@ void xpd_device_unregister(xpd_t *xpd)
BUG_ON(!xbus);
XPD_DBG(DEVICES, xpd, "SYSFS\n");
dev = &xpd->xpd_dev;
- if(!dev->driver_data)
+ if(!dev_get_drvdata(dev))
return;
- BUG_ON(dev->driver_data != xpd);
+ BUG_ON(dev_get_drvdata(dev) != xpd);
device_unregister(dev);
- dev->driver_data = NULL;
+ dev_set_drvdata(dev, NULL);
}
/*--------- Sysfs Device handling ----*/
@@ -746,9 +746,9 @@ void xbus_sysfs_remove(xbus_t *xbus)
astribank = &xbus->astribank;
BUG_ON(!astribank);
sysfs_remove_link(&astribank->kobj, "transport");
- if(!astribank->driver_data)
+ if(!dev_get_drvdata(astribank))
return;
- BUG_ON(astribank->driver_data != xbus);
+ BUG_ON(dev_get_drvdata(astribank) != xbus);
device_unregister(&xbus->astribank);
}
@@ -764,18 +764,18 @@ int xbus_sysfs_create(xbus_t *xbus)
astribank->bus = &toplevel_bus_type;
astribank->parent = xbus->transport.transport_device;
dev_set_name(astribank, "xbus-%02d", xbus->num);
- astribank->driver_data = xbus;
+ dev_set_drvdata(astribank, xbus);
astribank->release = astribank_release;
ret = device_register(astribank);
if(ret) {
XBUS_ERR(xbus, "%s: device_register failed: %d\n", __FUNCTION__, ret);
- astribank->driver_data = NULL;
+ dev_set_drvdata(astribank, NULL);
goto out;
}
ret = sysfs_create_link(&astribank->kobj, &astribank->parent->kobj, "transport");
if(ret < 0) {
XBUS_ERR(xbus, "%s: sysfs_create_link failed: %d\n", __FUNCTION__, ret);
- astribank->driver_data = NULL;
+ dev_set_drvdata(astribank, NULL);
goto out;
}
out: