add a 'location' attribute to sysfs (dahdi_device):
* Our user-space previously used the implicit location from the sysfs device path of the "dahdi_device". * However: - Sysfs paths are very limited in length. - Low-level driver need more control on the location field. - For example, it need to be persistant for span_assignments. * We now export explicitly the 'location' field which is managed by low-level drivers. * We will use this field as the location in span_assignments. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
This commit is contained in:
committed by
Tzafrir Cohen
parent
2bd36a3307
commit
d4c8eb47ac
@@ -402,6 +402,16 @@ dahdi_device_hardware_id_show(struct device *dev,
|
||||
(ddev->hardware_id) ? ddev->hardware_id : "");
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
dahdi_device_location_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct dahdi_device *ddev = to_ddev(dev);
|
||||
|
||||
return sprintf(buf, "%s\n",
|
||||
(ddev->location) ? ddev->location : "");
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
dahdi_device_auto_assign(struct device *dev, struct device_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
@@ -549,6 +559,7 @@ static struct device_attribute dahdi_device_attrs[] = {
|
||||
__ATTR(type, S_IRUGO, dahdi_device_type_show, NULL),
|
||||
__ATTR(span_count, S_IRUGO, dahdi_device_span_count_show, NULL),
|
||||
__ATTR(hardware_id, S_IRUGO, dahdi_device_hardware_id_show, NULL),
|
||||
__ATTR(location, S_IRUGO, dahdi_device_location_show, NULL),
|
||||
__ATTR(auto_assign, S_IWUSR, NULL, dahdi_device_auto_assign),
|
||||
__ATTR(assign_span, S_IWUSR, NULL, dahdi_device_assign_span),
|
||||
__ATTR(unassign_span, S_IWUSR, NULL, dahdi_device_unassign_span),
|
||||
|
||||
Reference in New Issue
Block a user