Merge branch 's390-ism-generalized-interface'
authorDavid S. Miller <davem@davemloft.net>
Wed, 25 Jan 2023 09:46:49 +0000 (09:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Jan 2023 09:46:49 +0000 (09:46 +0000)
commit99db6fb04317c289528e0d51d65c41938a375621
treec312fc6a7e200c6fd4ece2efdc113788aa712320
parentd0671115869d19ec76d658c4bf86d3211a8ea121
parent8c81ba20349daf9f7e58bb05a0c12f4b71813a30
Merge branch 's390-ism-generalized-interface'

Jan Karcher says:

====================
drivers/s390/net/ism: Add generalized interface

Previously, there was no clean separation between SMC-D code and the ISM
device driver.This patch series addresses the situation to make ISM available
for uses outside of SMC-D.
In detail: SMC-D offers an interface via struct smcd_ops, which only the
ISM module implements so far. However, there is no real separation between
the smcd and ism modules, which starts right with the ISM device
initialization, which calls directly into the SMC-D code.
This patch series introduces a new API in the ISM module, which allows
registration of arbitrary clients via include/linux/ism.h: struct ism_client.
Furthermore, it introduces a "pure" struct ism_dev (i.e. getting rid of
dependencies on SMC-D in the device structure), and adds a number of API
calls for data transfers via ISM (see ism_register_dmb() & friends).
Still, the ISM module implements the SMC-D API, and therefore has a number
of internal helper functions for that matter.
Note that the ISM API is consciously kept thin for now (as compared to the
SMC-D API calls), as a number of API calls are only used with SMC-D and
hardly have any meaningful usage beyond SMC-D, e.g. the VLAN-related calls.

v1 -> v2:
  Removed s390x dependency which broke config for other archs.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>