s390/cio: de-duplicate subchannel validation
authorPierre Morel <pmorel@linux.vnet.ibm.com>
Mon, 26 Oct 2015 10:13:18 +0000 (11:13 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 3 Nov 2015 13:40:50 +0000 (14:40 +0100)
cio_validate_io_subchannel() and cio_validate_msg_subchannel() are
identical, as the called functions already take care about the
differences between subchannel types.

Just inline the code into the only user,
cio_validate_subchannel(), instead.

Signed-off-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/cio.c

index 0cc65b229a9c2cd1c2355da71875aec942ca88f7..b5620e818d6b91307c329cfe67f2de5ac4847ca5 100644 (file)
@@ -476,26 +476,6 @@ static int cio_check_devno_blacklisted(struct subchannel *sch)
        return 0;
 }
 
-static int cio_validate_io_subchannel(struct subchannel *sch)
-{
-       /* Initialization for io subchannels. */
-       if (!css_sch_is_valid(&sch->schib))
-               return -ENODEV;
-
-       /* Devno is valid. */
-       return cio_check_devno_blacklisted(sch);
-}
-
-static int cio_validate_msg_subchannel(struct subchannel *sch)
-{
-       /* Initialization for message subchannels. */
-       if (!css_sch_is_valid(&sch->schib))
-               return -ENODEV;
-
-       /* Devno is valid. */
-       return cio_check_devno_blacklisted(sch);
-}
-
 /**
  * cio_validate_subchannel - basic validation of subchannel
  * @sch: subchannel structure to be filled out
@@ -533,10 +513,11 @@ int cio_validate_subchannel(struct subchannel *sch, struct subchannel_id schid)
 
        switch (sch->st) {
        case SUBCHANNEL_TYPE_IO:
-               err = cio_validate_io_subchannel(sch);
-               break;
        case SUBCHANNEL_TYPE_MSG:
-               err = cio_validate_msg_subchannel(sch);
+               if (!css_sch_is_valid(&sch->schib))
+                       err = -ENODEV;
+               else
+                       err = cio_check_devno_blacklisted(sch);
                break;
        default:
                err = 0;