]> rtime.felk.cvut.cz Git - socketcan-devel.git/blobdiff - kernel/2.6/drivers/net/can/sysfs.c
dev: Use minimal set of SYSFS flies for intelligent CAN controllers
[socketcan-devel.git] / kernel / 2.6 / drivers / net / can / sysfs.c
index 407bf25ac0ead5ada81ab826e9100264414bc652..c2f7575faf9bca1f075d8cbafc6eba9abb4d9d16 100644 (file)
@@ -424,6 +424,12 @@ static struct attribute *can_bittiming_attrs[] = {
        NULL
 };
 
+/* Minimal number of attributes to support intelligent CAN controllers */
+static struct attribute *can_bittiming_min_attrs[] = {
+       &dev_attr_bitrate.attr,
+       NULL
+};
+
 static struct attribute_group can_bittiming_group = {
        .name = "can_bittiming",
        .attrs = can_bittiming_attrs,
@@ -503,13 +509,12 @@ void can_create_sysfs(struct net_device *dev)
                       "couldn't create sysfs group for CAN statistics\n");
        }
 
-       if (priv->bittiming_const) {
-               err = sysfs_create_group(&(dev->dev.kobj),
-                                        &can_bittiming_group);
-               if (err) {
-                       printk(KERN_EMERG "couldn't create sysfs "
-                              "group for CAN bittiming\n");
-               }
+       if (!priv->bittiming_const)
+               can_bittiming_group.attrs = can_bittiming_min_attrs;
+       err = sysfs_create_group(&(dev->dev.kobj), &can_bittiming_group);
+       if (err) {
+               printk(KERN_EMERG "couldn't create sysfs "
+                      "group for CAN bittiming\n");
        }
 }