[RFC/PATCH 15/22] W1: add slave_ttl master attribute

Dmitry Torokhov
2005-04-21T08:09:56Z

W1: add slave_ttl attribute to w1 masters.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---

w1.c | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+)

Index: dtor/drivers/w1/w1.c
===================================================================
--- dtor.orig/drivers/w1/w1.c
+++ dtor/drivers/w1/w1.c
@@ -447,6 +447,28 @@ w1_master_attribute_set_max_slave_count(
return 0;
}

+static ssize_t w1_master_attribute_show_slave_ttl(struct device *dev, char *buf)
+{
+ struct w1_master *master = to_w1_master(dev);
+
+ return sprintf(buf, "%d\n", master->slave_ttl);
+}
+
+static ssize_t
+w1_master_attribute_set_slave_ttl(struct device *dev, const char *buf, size_t n)
+{
+ struct w1_master *master = to_w1_master(dev);
+ int slave_ttl;
+
+ slave_ttl = simple_strtoul(buf, NULL, 10);
+ if (!slave_ttl)
+ return -EINVAL;
+
+ master->slave_ttl = slave_ttl;
+ return 0;
+}
+
+
#define W1_MASTER_ATTR_RO(_name, _mode) \
struct device_attribute w1_master_attribute_##_name = \
__ATTR(_name, _mode, \
@@ -461,11 +483,13 @@ w1_master_attribute_set_max_slave_count(
static W1_MASTER_ATTR_RO(name, S_IRUGO);
static W1_MASTER_ATTR_RW(max_slave_count, S_IWUSR | S_IRUGO);
static W1_MASTER_ATTR_RW(scan_interval, S_IWUSR | S_IRUGO);
+static W1_MASTER_ATTR_RW(slave_ttl, S_IWUSR | S_IRUGO);

static struct attribute *w1_master_default_attrs[] = {
&w1_master_attribute_name.attr,
&w1_master_attribute_max_slave_count.attr,
&w1_master_attribute_scan_interval.attr,
+ &w1_master_attribute_slave_ttl.attr,
NULL
};