浏览代码

WUSB: correct format of wusb_chid sysfs file

Make the wusb_chid sysfs file match the ABI documentation.

Print all zeros if the WUSB host is stopped (instead of an empty file)
and end the file with a newline.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
David Vrabel 16 年之前
父节点
当前提交
fca10c81d9
共有 1 个文件被更改,包括 12 次插入14 次删除
  1. 12 14
      drivers/usb/wusbcore/wusbhc.c

+ 12 - 14
drivers/usb/wusbcore/wusbhc.c

@@ -88,33 +88,31 @@ static DEVICE_ATTR(wusb_trust_timeout, 0644, wusb_trust_timeout_show,
 					     wusb_trust_timeout_store);
 					     wusb_trust_timeout_store);
 
 
 /*
 /*
- * Show & store the current WUSB CHID
+ * Show the current WUSB CHID.
  */
  */
 static ssize_t wusb_chid_show(struct device *dev,
 static ssize_t wusb_chid_show(struct device *dev,
 			      struct device_attribute *attr, char *buf)
 			      struct device_attribute *attr, char *buf)
 {
 {
 	struct wusbhc *wusbhc = usbhc_dev_to_wusbhc(dev);
 	struct wusbhc *wusbhc = usbhc_dev_to_wusbhc(dev);
+	const struct wusb_ckhdid *chid;
 	ssize_t result = 0;
 	ssize_t result = 0;
 
 
 	if (wusbhc->wuie_host_info != NULL)
 	if (wusbhc->wuie_host_info != NULL)
-		result += ckhdid_printf(buf, PAGE_SIZE,
-					&wusbhc->wuie_host_info->CHID);
+		chid = &wusbhc->wuie_host_info->CHID;
+	else
+		chid = &wusb_ckhdid_zero;
+
+	result += ckhdid_printf(buf, PAGE_SIZE, chid);
+	result += sprintf(buf + result, "\n");
+
 	return result;
 	return result;
 }
 }
 
 
 /*
 /*
- * Store a new CHID
- *
- * This will (FIXME) trigger many changes.
- *
- * - Send an all zeros CHID and it will stop the controller
- * - Send a non-zero CHID and it will start it
- *   (unless it was started, it will just change the CHID,
- *   diconnecting all devices first).
+ * Store a new CHID.
  *
  *
- * So first we scan the MMC we are sent and then we act on it.  We
- * read it in the same format as we print it, an ASCII string of 16
- * hex bytes.
+ * - Write an all zeros CHID and it will stop the controller
+ * - Write a non-zero CHID and it will start it.
  *
  *
  * See wusbhc_chid_set() for more info.
  * See wusbhc_chid_set() for more info.
  */
  */