s390/ap: Externalize AP bus specific bitmap reading function

Rename hex2bitmap() to ap_hex2bitmap() and export it for external
use. This function will be used by the implementation of the vfio-ap
ap_config sysfs attribute.

Signed-off-by: "Jason J. Herne" <jjherne@linux.ibm.com>
Reviewed-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/r/20240415152555.13152-2-jjherne@linux.ibm.com
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
Jason J. Herne
2024-04-15 11:25:51 -04:00
committed by Alexander Gordeev
parent ba05b39d54
commit 6e6973948c
2 changed files with 25 additions and 10 deletions

View File

@@ -343,6 +343,28 @@ int ap_parse_mask_str(const char *str,
unsigned long *bitmap, int bits,
struct mutex *lock);
/*
* ap_hex2bitmap() - Convert a string containing a hexadecimal number (str)
* into a bitmap (bitmap) with bits set that correspond to the bits represented
* by the hex string. Input and output data is in big endian order.
*
* str - Input hex string of format "0x1234abcd". The leading "0x" is optional.
* At least one digit is required. Must be large enough to hold the number of
* bits represented by the bits parameter.
*
* bitmap - Pointer to a bitmap. Upon successful completion of this function,
* this bitmap will have bits set to match the value of str. If bitmap is longer
* than str, then the rightmost bits of bitmap are padded with zeros. Must be
* large enough to hold the number of bits represented by the bits parameter.
*
* bits - Length, in bits, of the bitmap represented by str. Must be a multiple
* of 8.
*
* Returns: 0 On success
* -EINVAL If str format is invalid or bits is not a multiple of 8.
*/
int ap_hex2bitmap(const char *str, unsigned long *bitmap, int bits);
/*
* Interface to wait for the AP bus to have done one initial ap bus
* scan and all detected APQNs have been bound to device drivers.