Re: [RFC PATCH] s390: vfio-ap: Register the vfio_ap module for the "ap" parent bus

Thomas Huth
2021-12-02T07:13:40Z

On 01/12/2021 18.10, Harald Freudenberger wrote:
> On 01.12.21 15:11, Thomas Huth wrote:
>> The crypto devices that we can use with the vfio_ap module are sitting
>> on the "ap" bus, not on the "vfio_ap" bus that the module defines
>> itself. With this change, the vfio_ap module now gets automatically
>> loaded if a supported crypto adapter is available in the host.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> Note: Marked as "RFC" since I'm not 100% sure about it ...
>> please review carefully!
>>
>> drivers/s390/crypto/vfio_ap_drv.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
>> index 4d2556bc7fe5..5580e40608a4 100644
>> --- a/drivers/s390/crypto/vfio_ap_drv.c
>> +++ b/drivers/s390/crypto/vfio_ap_drv.c
>> @@ -39,7 +39,7 @@ static struct ap_device_id ap_queue_ids[] = {
>> { /* end of sibling */ },
>> };
>>
>> -MODULE_DEVICE_TABLE(vfio_ap, ap_queue_ids);
>> +MODULE_DEVICE_TABLE(ap, ap_queue_ids);
>>
>> /**
>> * vfio_ap_queue_dev_probe:
> Hello Thomas, interesting.
> Did you test this ? I mean did you build a kernel and have it run on a s390 with crypto cards available ?

Yes, I've tested it. Without the patch, the vfio_ap module does not get
loaded automatically if a crypto card is available. With the patch applied,
the vfio_ap module correctly gets loaded automatically on my system (similar
to the vfio_ccw module).

> My strong feeling is that this will make the AP bus code stumble as the code silently assumes there are exact
> two types of ap devices attached to the ap bus: ap cards and ap queues.

This is only about getting the module loaded automatically once such a
device is available ... AFAIK it does not grab any of the devices
automatically, so there shouldn't be any problems?

Thomas