summaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/device_pgid.c
diff options
context:
space:
mode:
authorSebastian Ott2015-09-21 18:40:33 +0200
committerMartin Schwidefsky2015-10-14 14:32:04 +0200
commit9d49f86daba3ed22cadf01beff1b130ad25fe0bf (patch)
tree54d07327930ab0976c5aa1ee36281f07cd32c661 /drivers/s390/cio/device_pgid.c
parents390/cio: reactivate cmf after hibernate (diff)
downloadkernel-qcow2-linux-9d49f86daba3ed22cadf01beff1b130ad25fe0bf.tar.gz
kernel-qcow2-linux-9d49f86daba3ed22cadf01beff1b130ad25fe0bf.tar.xz
kernel-qcow2-linux-9d49f86daba3ed22cadf01beff1b130ad25fe0bf.zip
s390/cio: introduce pathmask_to_pos
We often need to correlate an 8 bit path mask with the position in a channel path array. Introduce and use pathmask_to_pos for that task. Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/device_pgid.c')
-rw-r--r--drivers/s390/cio/device_pgid.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/cio/device_pgid.c b/drivers/s390/cio/device_pgid.c
index 37ada05e82a5..148b3fadac00 100644
--- a/drivers/s390/cio/device_pgid.c
+++ b/drivers/s390/cio/device_pgid.c
@@ -133,7 +133,7 @@ static void spid_build_cp(struct ccw_device *cdev, u8 fn)
{
struct ccw_request *req = &cdev->private->req;
struct ccw1 *cp = cdev->private->iccws;
- int i = 8 - ffs(req->lpm);
+ int i = pathmask_to_pos(req->lpm);
struct pgid *pgid = &cdev->private->pgid[i];
pgid->inf.fc = fn;
@@ -434,7 +434,7 @@ static void snid_build_cp(struct ccw_device *cdev)
{
struct ccw_request *req = &cdev->private->req;
struct ccw1 *cp = cdev->private->iccws;
- int i = 8 - ffs(req->lpm);
+ int i = pathmask_to_pos(req->lpm);
/* Channel program setup. */
cp->cmd_code = CCW_CMD_SENSE_PGID;