s390/cio, s390/qeth: cleanup PNSO CHSC
authorAlexandra Winter <wintera@linux.ibm.com>
Thu, 16 Apr 2020 13:08:41 +0000 (15:08 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Thu, 28 May 2020 10:21:55 +0000 (12:21 +0200)
commita0138f59265aff4a21356ba9319171f421575b52
treec0fa1a104a00676a0f76a16a29ef0b6d05df04d8
parentcafebf8653b3d689b3411daa0d3d7b67fc4f2edb
s390/cio, s390/qeth: cleanup PNSO CHSC

CHSC3D (PNSO - perform network subchannel operation) is used for
OC0 (Store-network-bridging-information) as well as for
OC3 (Store-network-address-information). So common fields are renamed
from *brinfo* to *pnso*.
Also *_bridge_host_* is changed into *_addr_change_*, e.g.
qeth_bridge_host_event to qeth_addr_change_event, for the
same reasons.
The keywords in the card traces are changed accordingly.

Remove unused L3 types, as PNSO will only return Layer2 entries.

Make PNSO CHSC implementation more consistent with existing API usage:
Add new function ccw_device_pnso() to drivers/s390/cio/device_ops.c and
the function declaration to arch/s390/include/asm/ccwdev.h, which takes
a struct ccw_device * as parameter instead of schid and calls
chsc_pnso().

PNSO CHSC has no strict relationship to qdio. So move the calling
function from qdio to qeth_l2 and move the necessary structures to a
new file arch/s390/include/asm/chsc.h.

Do response code evaluation only in chsc_error_from_response() and
use return code in all other places. qeth_anset_makerc() was meant to
evaluate the PNSO response code, but never did, because pnso_rc was
already non-zero.

Indentation was corrected in some places.

Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Reviewed-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/ccwdev.h
arch/s390/include/asm/chsc.h [new file with mode: 0644]
arch/s390/include/asm/qdio.h
drivers/s390/cio/chsc.c
drivers/s390/cio/chsc.h
drivers/s390/cio/device_ops.c
drivers/s390/cio/qdio_main.c
drivers/s390/net/qeth_l2_main.c