Patch "s390/cio: add dev_busid sysfs entry for each subchannel" has been added to the 5.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    s390/cio: add dev_busid sysfs entry for each subchannel

to the 5.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     s390-cio-add-dev_busid-sysfs-entry-for-each-subchann.patch
and it can be found in the queue-5.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 63cb87c967ace49905d4ba32eb5aa404315a6494
Author: Vineeth Vijayan <vneethv@xxxxxxxxxxxxx>
Date:   Sun Apr 25 10:52:38 2021 +0200

    s390/cio: add dev_busid sysfs entry for each subchannel
    
    [ 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 <vneethv@xxxxxxxxxxxxx>
    Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxx>
    Signed-off-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index a974943c27da..9fcdb8d81eee 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -430,9 +430,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);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux