OSDN Git Service

KVM: s390: implement has_attr for FLIC
authorHalil Pasic <pasic@linux.vnet.ibm.com>
Thu, 25 Feb 2016 11:44:17 +0000 (12:44 +0100)
committerCornelia Huck <cornelia.huck@de.ibm.com>
Wed, 20 Apr 2016 12:27:32 +0000 (14:27 +0200)
HAS_ATTR is useful for determining the supported attributes; let's
implement it.

Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
arch/s390/kvm/interrupt.c

index 84efc2b..4c2cdb2 100644 (file)
@@ -2074,6 +2074,22 @@ static int flic_set_attr(struct kvm_device *dev, struct kvm_device_attr *attr)
        return r;
 }
 
+static int flic_has_attr(struct kvm_device *dev,
+                            struct kvm_device_attr *attr)
+{
+       switch (attr->group) {
+       case KVM_DEV_FLIC_GET_ALL_IRQS:
+       case KVM_DEV_FLIC_ENQUEUE:
+       case KVM_DEV_FLIC_CLEAR_IRQS:
+       case KVM_DEV_FLIC_APF_ENABLE:
+       case KVM_DEV_FLIC_APF_DISABLE_WAIT:
+       case KVM_DEV_FLIC_ADAPTER_REGISTER:
+       case KVM_DEV_FLIC_ADAPTER_MODIFY:
+               return 0;
+       }
+       return -ENXIO;
+}
+
 static int flic_create(struct kvm_device *dev, u32 type)
 {
        if (!dev)
@@ -2095,6 +2111,7 @@ struct kvm_device_ops kvm_flic_ops = {
        .name = "kvm-flic",
        .get_attr = flic_get_attr,
        .set_attr = flic_set_attr,
+       .has_attr = flic_has_attr,
        .create = flic_create,
        .destroy = flic_destroy,
 };