mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-07 04:11:03 +07:00
KVM: Allow kvm_device_ops to be const
Currently a kvm_device_ops structure cannot be const without triggering compiler warnings. However the structure doesn't need to be written to and, by marking it const, it can be read-only in memory. Add some more const keywords to allow this. Reviewed-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Steven Price <steven.price@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
parent
8564d6372a
commit
8538cb22bb
@ -1262,7 +1262,7 @@ extern unsigned int halt_poll_ns_grow_start;
|
|||||||
extern unsigned int halt_poll_ns_shrink;
|
extern unsigned int halt_poll_ns_shrink;
|
||||||
|
|
||||||
struct kvm_device {
|
struct kvm_device {
|
||||||
struct kvm_device_ops *ops;
|
const struct kvm_device_ops *ops;
|
||||||
struct kvm *kvm;
|
struct kvm *kvm;
|
||||||
void *private;
|
void *private;
|
||||||
struct list_head vm_node;
|
struct list_head vm_node;
|
||||||
@ -1315,7 +1315,7 @@ struct kvm_device_ops {
|
|||||||
void kvm_device_get(struct kvm_device *dev);
|
void kvm_device_get(struct kvm_device *dev);
|
||||||
void kvm_device_put(struct kvm_device *dev);
|
void kvm_device_put(struct kvm_device *dev);
|
||||||
struct kvm_device *kvm_device_from_filp(struct file *filp);
|
struct kvm_device *kvm_device_from_filp(struct file *filp);
|
||||||
int kvm_register_device_ops(struct kvm_device_ops *ops, u32 type);
|
int kvm_register_device_ops(const struct kvm_device_ops *ops, u32 type);
|
||||||
void kvm_unregister_device_ops(u32 type);
|
void kvm_unregister_device_ops(u32 type);
|
||||||
|
|
||||||
extern struct kvm_device_ops kvm_mpic_ops;
|
extern struct kvm_device_ops kvm_mpic_ops;
|
||||||
|
@ -3046,14 +3046,14 @@ struct kvm_device *kvm_device_from_filp(struct file *filp)
|
|||||||
return filp->private_data;
|
return filp->private_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct kvm_device_ops *kvm_device_ops_table[KVM_DEV_TYPE_MAX] = {
|
static const struct kvm_device_ops *kvm_device_ops_table[KVM_DEV_TYPE_MAX] = {
|
||||||
#ifdef CONFIG_KVM_MPIC
|
#ifdef CONFIG_KVM_MPIC
|
||||||
[KVM_DEV_TYPE_FSL_MPIC_20] = &kvm_mpic_ops,
|
[KVM_DEV_TYPE_FSL_MPIC_20] = &kvm_mpic_ops,
|
||||||
[KVM_DEV_TYPE_FSL_MPIC_42] = &kvm_mpic_ops,
|
[KVM_DEV_TYPE_FSL_MPIC_42] = &kvm_mpic_ops,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
int kvm_register_device_ops(struct kvm_device_ops *ops, u32 type)
|
int kvm_register_device_ops(const struct kvm_device_ops *ops, u32 type)
|
||||||
{
|
{
|
||||||
if (type >= ARRAY_SIZE(kvm_device_ops_table))
|
if (type >= ARRAY_SIZE(kvm_device_ops_table))
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
@ -3074,7 +3074,7 @@ void kvm_unregister_device_ops(u32 type)
|
|||||||
static int kvm_ioctl_create_device(struct kvm *kvm,
|
static int kvm_ioctl_create_device(struct kvm *kvm,
|
||||||
struct kvm_create_device *cd)
|
struct kvm_create_device *cd)
|
||||||
{
|
{
|
||||||
struct kvm_device_ops *ops = NULL;
|
const struct kvm_device_ops *ops = NULL;
|
||||||
struct kvm_device *dev;
|
struct kvm_device *dev;
|
||||||
bool test = cd->flags & KVM_CREATE_DEVICE_TEST;
|
bool test = cd->flags & KVM_CREATE_DEVICE_TEST;
|
||||||
int type;
|
int type;
|
||||||
|
Loading…
Reference in New Issue
Block a user