浏览代码

KVM: s390: implement has_attr for FLIC

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>
Halil Pasic 9 年之前
父节点
当前提交
4f1298584e
共有 1 个文件被更改,包括 17 次插入0 次删除
  1. 17 0
      arch/s390/kvm/interrupt.c

+ 17 - 0
arch/s390/kvm/interrupt.c

@@ -2074,6 +2074,22 @@ static int flic_set_attr(struct kvm_device *dev, struct kvm_device_attr *attr)
 	return r;
 	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)
 static int flic_create(struct kvm_device *dev, u32 type)
 {
 {
 	if (!dev)
 	if (!dev)
@@ -2095,6 +2111,7 @@ struct kvm_device_ops kvm_flic_ops = {
 	.name = "kvm-flic",
 	.name = "kvm-flic",
 	.get_attr = flic_get_attr,
 	.get_attr = flic_get_attr,
 	.set_attr = flic_set_attr,
 	.set_attr = flic_set_attr,
+	.has_attr = flic_has_attr,
 	.create = flic_create,
 	.create = flic_create,
 	.destroy = flic_destroy,
 	.destroy = flic_destroy,
 };
 };