Received: by 10.223.185.116 with SMTP id b49csp3911547wrg; Mon, 19 Feb 2018 08:01:35 -0800 (PST) X-Google-Smtp-Source: AH8x226BnVqDrkZl4S00uX1XvUn1g1IkKp5LCPtYv73aVWRkoqrDdVkxNkOy9xCiLuQUEIUitV+d X-Received: by 2002:a17:902:b787:: with SMTP id e7-v6mr14856920pls.317.1519056095811; Mon, 19 Feb 2018 08:01:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519056095; cv=none; d=google.com; s=arc-20160816; b=onDvh1S+legc4/LvAygT1KAKfvguSMHogBYuPHpG7IB5F/EAkkPn8v8rye20kgkhpQ 9FMXWqqm58lvuonattW7tG0udSgMrJSh3WNPPrx2parGPhDy4O0Qe2ub0fBSyMMyjGLA AIK/5aQoKNfk4yA1oZ3TEbrQxpUdLJ+yvP/KYIfZIcdZ1xKO33sCPHrr29q6RpHt2UCt fai4YrR1WLLcUcISZMjnBGcQkivMAnDFNu7Y3LR482iCYZnMHHiYeWVTjykSosWZzrVP UpoMdx3Edy/OH2JtgBq9ipHaaC2+Yjw/WypxfIcLxHqdKbo5/n4oQ0ihfGK6VQLerVGO jaUg== 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=6HUp36NqcHfdcA2lxXd50YqvAUwU2150s+RkdsPTdrE=; b=Xx4MnhaxHRDIxGlG/nsvnK5pXFsbIlPWlFr9TF62uCB9H3zFK1GyyiTRcGZbQb1ch5 ul0wsHe+zIfyx0KZnQXyV4mN6ziqoMGHh2L76tpBeDNIgEMunbt0zwRLcissArk6SJcz K+IE4m4FJT6Fc75qgVmve5XZrirkzrXqiM+VILX6zbePotMGI1hUucVeF23bJAIjFU/a XYgIdzCTlDB0q0kWwcUsLy4yg+XV0cg3WyarufmEt2d8q68aW0R/Kctxx62NTdnznOtt AGnj7lbLiqQ3n8c+62KhRh3TNCOt5j74S7TqfyydUtnbU72thMigUgVKTW30z4vYf+S8 bDZA== 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 m11-v6si4590984pls.19.2018.02.19.08.01.18; Mon, 19 Feb 2018 08:01:35 -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 S1753236AbeBSP7S (ORCPT + 99 others); Mon, 19 Feb 2018 10:59:18 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:47768 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752645AbeBSP7R (ORCPT ); Mon, 19 Feb 2018 10:59:17 -0500 Received: from localhost (unknown [62.119.166.9]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 518CDFF2; Mon, 19 Feb 2018 15:59:16 +0000 (UTC) Date: Mon, 19 Feb 2018 16:59:14 +0100 From: Greg KH To: Richard Leitner Cc: 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, Richard Leitner Subject: Re: [PATCH] usb: core: introduce per-port over-current counters Message-ID: <20180219155914.GA23577@kroah.com> References: <20180219120107.20434-1-dev@g0hl1n.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180219120107.20434-1-dev@g0hl1n.net> 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 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/ > > 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. thanks, greg k-h