summaryrefslogtreecommitdiffstats
path: root/net/atm/atm_sysfs.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-12-08 20:40:47 +0100
committerDavid S. Miller <davem@davemloft.net>2010-12-11 00:45:05 +0100
commitd9ca676bcb26e1fdff9265a3e70f697cd381c889 (patch)
tree72ab0bf8cb22291eb4e1a57329bb8e1df2b7649f /net/atm/atm_sysfs.c
parentMAINTAINERS: remove me from tulip (diff)
downloadlinux-d9ca676bcb26e1fdff9265a3e70f697cd381c889.tar.xz
linux-d9ca676bcb26e1fdff9265a3e70f697cd381c889.zip
atm: correct sysfs 'device' link creation and parent relationships
The ATM subsystem was incorrectly creating the 'device' link for ATM nodes in sysfs. This led to incorrect device/parent relationships exposed by sysfs and udev. Instead of rolling the 'device' link by hand in the generic ATM code, pass each ATM driver's bus device down to the sysfs code and let sysfs do this stuff correctly. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/atm/atm_sysfs.c')
-rw-r--r--net/atm/atm_sysfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/atm/atm_sysfs.c b/net/atm/atm_sysfs.c
index 799c631f0fed..f7fa67c78766 100644
--- a/net/atm/atm_sysfs.c
+++ b/net/atm/atm_sysfs.c
@@ -143,12 +143,13 @@ static struct class atm_class = {
.dev_uevent = atm_uevent,
};
-int atm_register_sysfs(struct atm_dev *adev)
+int atm_register_sysfs(struct atm_dev *adev, struct device *parent)
{
struct device *cdev = &adev->class_dev;
int i, j, err;
cdev->class = &atm_class;
+ cdev->parent = parent;
dev_set_drvdata(cdev, adev);
dev_set_name(cdev, "%s%d", adev->type, adev->number);