diff options
author | Evgeniy Polyakov <zbr@ioremap.net> | 2009-01-07 21:09:04 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-08 11:31:14 -0500 |
commit | f89735c4e281e8642907b38640c076ae5048f3a6 (patch) | |
tree | 24539b43a7f74d083d747edf5b4eec8e533baebe | |
parent | 325a06fb13614fd4e5ea36996c0ce043752a93a0 (diff) |
w1: added w1 reset command
Command which allows to reset the bus.
Signed-off-by: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Paul Alfille <paul.alfille@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | Documentation/w1/w1.netlink | 6 | ||||
-rw-r--r-- | drivers/w1/w1_netlink.c | 3 | ||||
-rw-r--r-- | drivers/w1/w1_netlink.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/w1/w1.netlink b/Documentation/w1/w1.netlink index d596d406e0a5..2756681b6ef5 100644 --- a/Documentation/w1/w1.netlink +++ b/Documentation/w1/w1.netlink | |||
@@ -112,6 +112,12 @@ cn_msg->len = sizeof(struct w1_netlink_msg) + | |||
112 | sizeof(struct w1_netlink_cmd) + | 112 | sizeof(struct w1_netlink_cmd) + |
113 | N*8; | 113 | N*8; |
114 | 114 | ||
115 | W1 reset command. | ||
116 | [cn_msg] | ||
117 | [w1_netlink_msg type = W1_MASTER_CMD | ||
118 | id is equal to the bus master id to use for searching] | ||
119 | [w1_netlink_cmd cmd = W1_CMD_RESET] | ||
120 | |||
115 | Operation steps in w1 core when new command is received. | 121 | Operation steps in w1 core when new command is received. |
116 | ======================================================= | 122 | ======================================================= |
117 | 123 | ||
diff --git a/drivers/w1/w1_netlink.c b/drivers/w1/w1_netlink.c index a94336be7654..f978c7504004 100644 --- a/drivers/w1/w1_netlink.c +++ b/drivers/w1/w1_netlink.c | |||
@@ -197,6 +197,9 @@ static int w1_process_command_master(struct w1_master *dev, struct cn_msg *req_m | |||
197 | case W1_CMD_TOUCH: | 197 | case W1_CMD_TOUCH: |
198 | err = w1_process_command_io(dev, msg, hdr, cmd); | 198 | err = w1_process_command_io(dev, msg, hdr, cmd); |
199 | break; | 199 | break; |
200 | case W1_CMD_RESET: | ||
201 | err = w1_reset_bus(dev); | ||
202 | break; | ||
200 | default: | 203 | default: |
201 | cmd->res = EINVAL; | 204 | cmd->res = EINVAL; |
202 | cn_netlink_send(msg, 0, GFP_KERNEL); | 205 | cn_netlink_send(msg, 0, GFP_KERNEL); |
diff --git a/drivers/w1/w1_netlink.h b/drivers/w1/w1_netlink.h index 01d86a71cf32..68a4ff46cb96 100644 --- a/drivers/w1/w1_netlink.h +++ b/drivers/w1/w1_netlink.h | |||
@@ -58,6 +58,7 @@ enum w1_commands { | |||
58 | W1_CMD_SEARCH, | 58 | W1_CMD_SEARCH, |
59 | W1_CMD_ALARM_SEARCH, | 59 | W1_CMD_ALARM_SEARCH, |
60 | W1_CMD_TOUCH, | 60 | W1_CMD_TOUCH, |
61 | W1_CMD_RESET, | ||
61 | W1_CMD_MAX, | 62 | W1_CMD_MAX, |
62 | }; | 63 | }; |
63 | 64 | ||