Received: by 2002:a05:6a10:6d25:0:0:0:0 with SMTP id gq37csp1822874pxb; Mon, 13 Sep 2021 06:21:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxr86HXOCtSrVymvwt2W7OPQ7rHHDIByHlWYGXl/rm37hkask5jC0c7l/9x3AtuAUJ9miLE X-Received: by 2002:aa7:dcd0:: with SMTP id w16mr13132637edu.288.1631539284920; Mon, 13 Sep 2021 06:21:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631539284; cv=none; d=google.com; s=arc-20160816; b=lpe/MMqGn40OlFuwD0yWcpySRc//7sYvQZcaGszhnYJcD21PGXlu1BLu6lEl5kjjbz DpnjviIbQ3/RSIErcekAf9uHMwzTHM6/72CriDT4AFGkYsMt5c8c+2HjaPH8e5UvCzYz fHzXYa42ZYCNoZ8MDCjIG9kzLjH8YHDFrQLAgyoO62j+uIvT+lydhcUR/4Oo7CMIzVka LEKreEN1LZtIFhCqVn2rmtGb8cq4lZqVsa6QNgEo54meF7VQp3zp40cCYMCAC6mDfOjA 2ulzjsNckp9cWFRc6lEcW8r9aYGpFyGQYPO4wk1W5a/iyvTa52iPyrY0KVfIR+CW8pqj nBlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ktMDkwUnjN+iN6mYsPoegTfNwQOeb8KIUyMutJkLHuw=; b=o/BUw2Nk8MpEmSRikjGm3/+k52b8yqQWukhFf3HstVYavJObB5jj/Pn8As5Unh+Prc ucQcYd56fjUSFjcEPH/zFkN+7+mxizqYDMW4igkSKr2uxo/P4203g1cNFyGWssxqHlea AjGSMboxm5PxISN2GB2ITgJP+PlntcOBwUuUiBUwyrqJyR+yowsOG1X/xdZe3e3vmbx9 6nzvO38oeih/S/VV2gaxJ1l9vBFGAgfpRAEdacSvzL9ip+PR6NNK7x8iPT5S/qKtJNjO 4WPHvNY6d7y59xyoUpZL2byryzeYgReh6ioWBTHR3d9KoqWeiDRja+DdzC8xZopUFu95 jEzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ZkiqnXFN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gs30si7903543ejc.274.2021.09.13.06.20.55; Mon, 13 Sep 2021 06:21:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ZkiqnXFN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240297AbhIMNUY (ORCPT + 99 others); Mon, 13 Sep 2021 09:20:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:34850 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239369AbhIMNTt (ORCPT ); Mon, 13 Sep 2021 09:19:49 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E3A52610A6; Mon, 13 Sep 2021 13:17:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631539041; bh=AcB6rgKsnEZum9fY6eXTrB/nElr4h8DulqdY1j98qa0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZkiqnXFNp7k+omaCICtR9fKBVQMOZSxDkn5q3daa+VthLnTcBkJhhxcJAfHEGlIul ASJEIQO/fKZBFRdfaS4v5d/AP39DM1qG+NARPGfLWA7KZgYyJTSXE5SnEKOtYUrJH0 B2feMyWArnBzJbLs7LEHi69B5JG6SK9HN0KRNz84= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vineeth Vijayan , Peter Oberparleiter , Vasily Gorbik , Sasha Levin Subject: [PATCH 5.4 020/144] s390/cio: add dev_busid sysfs entry for each subchannel Date: Mon, 13 Sep 2021 15:13:21 +0200 Message-Id: <20210913131048.632251535@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913131047.974309396@linuxfoundation.org> References: <20210913131047.974309396@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vineeth Vijayan [ Upstream commit d3683c055212bf910d4e318f7944910ce10dbee6 ] Introduce dev_busid, which exports the device-id associated with the io-subchannel (and message-subchannel). The dev_busid indicates that of the device which may be physically installed on the corrosponding subchannel. The dev_busid value "none" indicates that the subchannel is not valid, there is no I/O device currently associated with the subchannel. The dev_busid information would be helpful to write device-specific udev-rules associated with the subchannel. The dev_busid interface would be available even when the sch is not bound to any driver or if there is no operational device connected on it. Hence this attribute can be used to write udev-rules which are specific to the device associated with the subchannel. Signed-off-by: Vineeth Vijayan Reviewed-by: Peter Oberparleiter Signed-off-by: Vasily Gorbik Signed-off-by: Sasha Levin --- drivers/s390/cio/css.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 5734a78dbb8e..7950ac59b174 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -426,9 +426,26 @@ static ssize_t pimpampom_show(struct device *dev, } static DEVICE_ATTR_RO(pimpampom); +static ssize_t dev_busid_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct subchannel *sch = to_subchannel(dev); + struct pmcw *pmcw = &sch->schib.pmcw; + + if ((pmcw->st == SUBCHANNEL_TYPE_IO || + pmcw->st == SUBCHANNEL_TYPE_MSG) && pmcw->dnv) + return sysfs_emit(buf, "0.%x.%04x\n", sch->schid.ssid, + pmcw->dev); + else + return sysfs_emit(buf, "none\n"); +} +static DEVICE_ATTR_RO(dev_busid); + static struct attribute *io_subchannel_type_attrs[] = { &dev_attr_chpids.attr, &dev_attr_pimpampom.attr, + &dev_attr_dev_busid.attr, NULL, }; ATTRIBUTE_GROUPS(io_subchannel_type); -- 2.30.2