Received: by 10.223.185.116 with SMTP id b49csp3958374wrg; Mon, 19 Feb 2018 08:40:04 -0800 (PST) X-Google-Smtp-Source: AH8x225UPEz0ablQPN0xxG0WP1vI3TKtWVL/V590/2cnqduRRBTg2s+9smjShdI0KgzNOhRYngl9 X-Received: by 2002:a17:902:8691:: with SMTP id g17-v6mr14956425plo.446.1519058404397; Mon, 19 Feb 2018 08:40:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519058404; cv=none; d=google.com; s=arc-20160816; b=M7LM7vOjrX46TVP7GRfSslnPq0LUKGEMR8JRtGBWrOshcOwWzrGLH8lQpvZ4oppQcG mW2IQjeKYKyqXABrvKQKnSTkrhETSP2jn43q0xn6tEPueXL+Wx+42YCzOJ9E9l8HuJUR TLWHpGwJssKl8nm1G1hREQ8LIG7zhZz0epeg8aAzj8Q9GpBfo80SI5bEbBbpfrTXUzZN e93Bbn9Zk91kHQjY63x+vOz4WfD4pYEhC9fIyfGXYNtjK/ae82kSCJEZmEb26+v+2eEr Hs6uvtOLkT7UP3fFsRgtiACJFGmacLLHnR3zJBijrRSHjaoL1BmB3QrRjAB175kP+kIW nFyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=xLK6cKh+6lsCHfC5WQrTtpvKDXETj/k59l//tYGAoKU=; b=wsRv/E8Ui8NIg2yfSDfj7lpxC/Ju2dgfDD+CCJnvZVNlTXx1wH1TGQTBp1zBM5lUNv 3XrsvEwXBgugCNk8Pc/v0BybvIeckmEnZJSK0foHmNxW2nyos+bU5gZSAizp1pnhW6n6 TVrOr8ggqsH+fH4XUZtoOvUMOkkvo7Ikkr/xUuxjivZR+s5Tji5VAEYBizTJjLaZiaMg ZUd2XGpvqJrWY7OEEQgWsF3kwJ6aQUDx++yRWcgcTthYn3unP8sCBxMKEcpG5u0bCby+ yeIjymojLI2U6l7FJ9AXlZ2cC/wkJa8LzIUsHx4ei52C1FbJ0XvZPRmhIv1OJklnh3Fr MQeg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j9si1856973pfk.292.2018.02.19.08.39.48; Mon, 19 Feb 2018 08:40:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753279AbeBSQi6 (ORCPT + 99 others); Mon, 19 Feb 2018 11:38:58 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:34768 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752973AbeBSQi5 (ORCPT ); Mon, 19 Feb 2018 11:38:57 -0500 Received: from localhost (unknown [62.119.166.9]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 05BEBFFA; Mon, 19 Feb 2018 16:38:55 +0000 (UTC) Date: Mon, 19 Feb 2018 17:38:56 +0100 From: Greg KH To: Richard Leitner Cc: Richard Leitner , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, stern@rowland.harvard.edu, linux@roeck-us.net, mathias.nyman@linux.intel.com, johan@kernel.org, felipe.balbi@linux.intel.com, ekorenevsky@gmail.com, peter.chen@nxp.com, drake@endlessm.com, joe@perches.com Subject: Re: [PATCH] usb: core: introduce per-port over-current counters Message-ID: <20180219163856.GA6171@kroah.com> References: <20180219120107.20434-1-dev@g0hl1n.net> <20180219155914.GA23577@kroah.com> <5771d9c2-1efe-35f6-f8e4-58e929e0d72c@skidata.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5771d9c2-1efe-35f6-f8e4-58e929e0d72c@skidata.com> User-Agent: Mutt/1.9.3 (2018-01-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 19, 2018 at 05:05:34PM +0100, Richard Leitner wrote: > > On 02/19/2018 04:59 PM, Greg KH wrote: > > On Mon, Feb 19, 2018 at 01:01:07PM +0100, Richard Leitner wrote: > >> From: Richard Leitner > >> > >> For some userspace applications information on the number of > >> over-current conditions at specific USB hub ports is relevant. Therefore > >> introduce a oc_counter in the usb port struct which is exported via > >> sysfs. > >> > >> Signed-off-by: Richard Leitner > >> --- > >> Tested on an i.MX6DL based board. > >> --- > >> drivers/usb/core/hub.c | 4 +++- > >> drivers/usb/core/hub.h | 1 + > >> drivers/usb/core/port.c | 10 ++++++++++ > >> 3 files changed, 14 insertions(+), 1 deletion(-) > > > > When you add/remove/modify a sysfs attribute, you always have to > > document in Documentation/ABI/ > > Ok. Thank you. Seems I missed that, Sorry! > > >> > >> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > >> index c5c1f6cf3228..448fba1e1827 100644 > >> --- a/drivers/usb/core/hub.c > >> +++ b/drivers/usb/core/hub.c > >> @@ -5104,8 +5104,10 @@ static void port_event(struct usb_hub *hub, int port1) > >> > >> if (portchange & USB_PORT_STAT_C_OVERCURRENT) { > >> u16 status = 0, unused; > >> + port_dev->oc_count++; > >> > >> - dev_dbg(&port_dev->dev, "over-current change\n"); > >> + dev_dbg(&port_dev->dev, "over-current change #%u\n", > >> + port_dev->oc_count); > >> usb_clear_port_feature(hdev, port1, > >> USB_PORT_FEAT_C_OVER_CURRENT); > >> msleep(100); /* Cool down */ > >> diff --git a/drivers/usb/core/hub.h b/drivers/usb/core/hub.h > >> index 2a700ccc868c..b5cf567bf9e2 100644 > >> --- a/drivers/usb/core/hub.h > >> +++ b/drivers/usb/core/hub.h > >> @@ -100,6 +100,7 @@ struct usb_port { > >> unsigned int is_superspeed:1; > >> unsigned int usb3_lpm_u1_permit:1; > >> unsigned int usb3_lpm_u2_permit:1; > >> + unsigned int oc_count; > >> }; > >> > >> #define to_usb_port(_dev) \ > >> diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c > >> index 1a01e9ad3804..0bfe410eb8a7 100644 > >> --- a/drivers/usb/core/port.c > >> +++ b/drivers/usb/core/port.c > >> @@ -41,6 +41,15 @@ static ssize_t connect_type_show(struct device *dev, > >> } > >> static DEVICE_ATTR_RO(connect_type); > >> > >> +static ssize_t oc_count_show(struct device *dev, struct device_attribute *attr, > >> + char *buf) > >> +{ > >> + struct usb_port *port_dev = to_usb_port(dev); > >> + > >> + return sprintf(buf, "%u\n", port_dev->oc_count); > >> +} > >> +static DEVICE_ATTR_RO(oc_count); > > > > I don't see what userspace can do with this number, as there's not much > > it can do with it. > > I've answered this question to Felipe already: It's not described in the patch changelog, which is where it is required :) thanks, greg k-h