Received: by 10.213.65.68 with SMTP id h4csp488265imn; Fri, 23 Mar 2018 08:51:30 -0700 (PDT) X-Google-Smtp-Source: AG47ELsjPzEeEUtw+5GQ2gu6UMe6LTale9g+d/Rc4O/5MxMXIUnsuB74NRAhqaCs05N/p8Lhnd2s X-Received: by 10.99.107.1 with SMTP id g1mr21717223pgc.347.1521820289915; Fri, 23 Mar 2018 08:51:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521820289; cv=none; d=google.com; s=arc-20160816; b=Hxa83yLRZhNDchQz7uiRZnZpYI7q/aXmiL2ALl9CPg26dB06D5TY2x9QFlozPf8Fke YzmZQLVkpslrwZ4OSdRoIwPubKoB8JJ58QMVkVMznIp/9mho0dMB4igsbleZEFpfkvbk IGImljijWWejawFnmCw45OSJXADnfFuk82NzriLOsUDHnkYccdTYMgZlLBzHTSGcDxyN CxMqUNWMaRENX5dB+WzFQLpW/rliK8gIZRGJ0aqCVNyOnoCykraKAWsDQsKEWvjnCTt3 Qn2ErZ6YYT5Q3tcd8arvElWLKOEhnITT/T3ljEhUVoK5nlQGZYSLYbUOSkZ/XJ7JRXXN hnUA== 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=AY1YkHalBgaPiinKegwyjvRIn4cqcl6rX9aX++e6KtM=; b=m8XCnLeghmjLxU+1YPJqsGm1n1/IEflUpmcWRKqX8qZp/JBcz2J/O8RL9vvKt7rEjR JlyT5ZzedHWAeIllk46sJFHFrCLbIkeeZQ7zmkRt8g8PlvtJeqaBAhK03X16ljEQDhuq JPcrh/K/RX9+u4stp6GWQUi70d7NMyX2tACiYvPRu62+3HvzdCFD/ZKhTn8Ckjk64zro k+s8OA1KMQ+MCYnExcUWTNHzwuZkL2nLGDKuSWtFmetGz3BMzvlgnvfC6hSboVDJ31Hr k9vkdZNekMvimfRliHbp6pIDBY9qo0ZxHNK41eifL7b/b6UDXuvRvazc6sXYx3dVzNuI s+Tw== 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 n11-v6si8654438plp.197.2018.03.23.08.51.15; Fri, 23 Mar 2018 08:51:29 -0700 (PDT) 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 S1752118AbeCWPt5 (ORCPT + 99 others); Fri, 23 Mar 2018 11:49:57 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:54016 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751897AbeCWPtz (ORCPT ); Fri, 23 Mar 2018 11:49:55 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 40BE514AE; Fri, 23 Mar 2018 15:49:55 +0000 (UTC) Date: Fri, 23 Mar 2018 16:49:53 +0100 From: Greg KH To: Ioana Ciornei Cc: laurentiu.tudor@nxp.com, linux-kernel@vger.kernel.org, stuyoder@gmail.com, ruxandra.radulescu@nxp.com, arnd@arndb.de, razvan.stefanescu@nxp.com, Roy.Pledge@nxp.com Subject: Re: [PATCH v3 4/4] bus: fsl-mc: add bus rescan attribute Message-ID: <20180323154953.GC382@kroah.com> References: <2ea1db0e7d43255f8d13f6c3cb4ce3d12df89eef.1521818403.git.ioana.ciornei@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2ea1db0e7d43255f8d13f6c3cb4ce3d12df89eef.1521818403.git.ioana.ciornei@nxp.com> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 23, 2018 at 10:38:58AM -0500, Ioana Ciornei wrote: > Introduce the rescan attribute as a bus attribute to > synchronize the fsl-mc bus objects and the MC firmware. > > To rescan the fsl-mc bus, e.g., > echo 1 > /sys/bus/fsl-mc/rescan > > Signed-off-by: Ioana Ciornei > --- > Changes in v2: > - added proper documentation in /Documentation/ABI/ > - updated the MAINTAINERS file > Changes in v3: > - no change > > Documentation/ABI/stable/sysfs-bus-fsl-mc | 7 +++++ > drivers/bus/fsl-mc/fsl-mc-bus.c | 48 +++++++++++++++++++++++++++++++ > 2 files changed, 55 insertions(+) > > diff --git a/Documentation/ABI/stable/sysfs-bus-fsl-mc b/Documentation/ABI/stable/sysfs-bus-fsl-mc > index e530e8c..0663fbd 100644 > --- a/Documentation/ABI/stable/sysfs-bus-fsl-mc > +++ b/Documentation/ABI/stable/sysfs-bus-fsl-mc > @@ -4,3 +4,10 @@ KernelVersion: 4.16 > Contact: Ioana Ciornei > Description: Root dprc rescan attribute > Users: Userspace drivers and management tools > + > +What: /sys/bus/fsl-mc/rescan > +Date: March. 2018 > +KernelVersion: 4.16 Same comments as previous review. > +Contact: Ioana Ciornei > +Description: Bus rescan attribute Again, describe this better please. > +Users: Userspace drivers and management tools > diff --git a/drivers/bus/fsl-mc/fsl-mc-bus.c b/drivers/bus/fsl-mc/fsl-mc-bus.c > index 9d02984..80010d1 100644 > --- a/drivers/bus/fsl-mc/fsl-mc-bus.c > +++ b/drivers/bus/fsl-mc/fsl-mc-bus.c > @@ -172,11 +172,59 @@ static ssize_t rescan_store(struct device *dev, > > ATTRIBUTE_GROUPS(fsl_mc_dev); > > +static int scan_fsl_mc_bus(struct device *dev, void *data) > +{ > + struct fsl_mc_device *root_mc_dev; > + struct fsl_mc_bus *root_mc_bus; > + > + if (!fsl_mc_is_root_dprc(dev)) > + goto exit; > + > + root_mc_dev = to_fsl_mc_device(dev); > + root_mc_bus = to_fsl_mc_bus(root_mc_dev); > + mutex_lock(&root_mc_bus->scan_mutex); > + dprc_scan_objects(root_mc_dev, NULL); > + mutex_unlock(&root_mc_bus->scan_mutex); > + > +exit: > + return 0; > +} > + > +static ssize_t bus_rescan_store(struct bus_type *bus, > + const char *buf, size_t count) > +{ > + unsigned long val; > + > + if (kstrtoul(buf, 0, &val) < 0) > + return -EINVAL; > + > + if (val) > + bus_for_each_dev(bus, NULL, NULL, scan_fsl_mc_bus); > + > + return count; > +} > +static BUS_ATTR(rescan, 0220, NULL, bus_rescan_store); BUS_ATTR_RO()? > + > +static struct attribute *fsl_mc_bus_attrs[] = { > + &bus_attr_rescan.attr, > + NULL, > +}; > + > +static const struct attribute_group fsl_mc_bus_group = { > + .attrs = fsl_mc_bus_attrs, > +}; > + > +static const struct attribute_group *fsl_mc_bus_groups[] = { > + &fsl_mc_bus_group, > + NULL, > +}; ATTRIBUTE_GROUPS()? thanks, greg k-h