Merge remote-tracking branches 'regulator/fix/doc' and 'regulator/fix/tps65090' into...
[linux-2.6-block.git] / tools / usb / usbip / libsrc / sysfs_utils.c
1 #include <sys/types.h>
2 #include <sys/stat.h>
3 #include <fcntl.h>
4 #include <errno.h>
5
6 #include "sysfs_utils.h"
7 #include "usbip_common.h"
8
9 int write_sysfs_attribute(const char *attr_path, const char *new_value,
10                           size_t len)
11 {
12         int fd;
13         int length;
14
15         fd = open(attr_path, O_WRONLY);
16         if (fd < 0) {
17                 dbg("error opening attribute %s", attr_path);
18                 return -1;
19         }
20
21         length = write(fd, new_value, len);
22         if (length < 0) {
23                 dbg("error writing to attribute %s", attr_path);
24                 close(fd);
25                 return -1;
26         }
27
28         close(fd);
29
30         return 0;
31 }