diff options
Diffstat (limited to 'include')
69 files changed, 386 insertions, 331 deletions
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index db284bff29dc..9dbb739cafa0 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | * Copyright 2001 Red Hat, Inc. | 5 | * Copyright 2001 Red Hat, Inc. |
| 6 | * Based on code from mm/memory.c Copyright Linus Torvalds and others. | 6 | * Based on code from mm/memory.c Copyright Linus Torvalds and others. |
| 7 | * | 7 | * |
| 8 | * Copyright 2011 Red Hat, Inc., Peter Zijlstra <pzijlstr@redhat.com> | 8 | * Copyright 2011 Red Hat, Inc., Peter Zijlstra |
| 9 | * | 9 | * |
| 10 | * This program is free software; you can redistribute it and/or | 10 | * This program is free software; you can redistribute it and/or |
| 11 | * modify it under the terms of the GNU General Public License | 11 | * modify it under the terms of the GNU General Public License |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 0b921ae06cd8..0a271ca1f7c7 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
| @@ -309,6 +309,11 @@ struct drm_file { | |||
| 309 | unsigned universal_planes:1; | 309 | unsigned universal_planes:1; |
| 310 | /* true if client understands atomic properties */ | 310 | /* true if client understands atomic properties */ |
| 311 | unsigned atomic:1; | 311 | unsigned atomic:1; |
| 312 | /* | ||
| 313 | * This client is allowed to gain master privileges for @master. | ||
| 314 | * Protected by struct drm_device::master_mutex. | ||
| 315 | */ | ||
| 316 | unsigned allowed_master:1; | ||
| 312 | 317 | ||
| 313 | struct pid *pid; | 318 | struct pid *pid; |
| 314 | kuid_t uid; | 319 | kuid_t uid; |
| @@ -910,6 +915,7 @@ extern int drm_open(struct inode *inode, struct file *filp); | |||
| 910 | extern ssize_t drm_read(struct file *filp, char __user *buffer, | 915 | extern ssize_t drm_read(struct file *filp, char __user *buffer, |
| 911 | size_t count, loff_t *offset); | 916 | size_t count, loff_t *offset); |
| 912 | extern int drm_release(struct inode *inode, struct file *filp); | 917 | extern int drm_release(struct inode *inode, struct file *filp); |
| 918 | extern int drm_new_set_master(struct drm_device *dev, struct drm_file *fpriv); | ||
| 913 | 919 | ||
| 914 | /* Mapping support (drm_vm.h) */ | 920 | /* Mapping support (drm_vm.h) */ |
| 915 | extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait); | 921 | extern unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait); |
| @@ -947,6 +953,10 @@ extern void drm_send_vblank_event(struct drm_device *dev, unsigned int pipe, | |||
| 947 | struct drm_pending_vblank_event *e); | 953 | struct drm_pending_vblank_event *e); |
| 948 | extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc, | 954 | extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc, |
| 949 | struct drm_pending_vblank_event *e); | 955 | struct drm_pending_vblank_event *e); |
| 956 | extern void drm_arm_vblank_event(struct drm_device *dev, unsigned int pipe, | ||
| 957 | struct drm_pending_vblank_event *e); | ||
| 958 | extern void drm_crtc_arm_vblank_event(struct drm_crtc *crtc, | ||
| 959 | struct drm_pending_vblank_event *e); | ||
| 950 | extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe); | 960 | extern bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe); |
| 951 | extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc); | 961 | extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc); |
| 952 | extern int drm_vblank_get(struct drm_device *dev, unsigned int pipe); | 962 | extern int drm_vblank_get(struct drm_device *dev, unsigned int pipe); |
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h index 9c747cb14ad8..d2f41477f8ae 100644 --- a/include/kvm/arm_vgic.h +++ b/include/kvm/arm_vgic.h | |||
| @@ -342,10 +342,10 @@ int kvm_vgic_inject_mapped_irq(struct kvm *kvm, int cpuid, | |||
| 342 | struct irq_phys_map *map, bool level); | 342 | struct irq_phys_map *map, bool level); |
| 343 | void vgic_v3_dispatch_sgi(struct kvm_vcpu *vcpu, u64 reg); | 343 | void vgic_v3_dispatch_sgi(struct kvm_vcpu *vcpu, u64 reg); |
| 344 | int kvm_vgic_vcpu_pending_irq(struct kvm_vcpu *vcpu); | 344 | int kvm_vgic_vcpu_pending_irq(struct kvm_vcpu *vcpu); |
| 345 | int kvm_vgic_vcpu_active_irq(struct kvm_vcpu *vcpu); | ||
| 346 | struct irq_phys_map *kvm_vgic_map_phys_irq(struct kvm_vcpu *vcpu, | 345 | struct irq_phys_map *kvm_vgic_map_phys_irq(struct kvm_vcpu *vcpu, |
| 347 | int virt_irq, int irq); | 346 | int virt_irq, int irq); |
| 348 | int kvm_vgic_unmap_phys_irq(struct kvm_vcpu *vcpu, struct irq_phys_map *map); | 347 | int kvm_vgic_unmap_phys_irq(struct kvm_vcpu *vcpu, struct irq_phys_map *map); |
| 348 | bool kvm_vgic_map_is_active(struct kvm_vcpu *vcpu, struct irq_phys_map *map); | ||
| 349 | 349 | ||
| 350 | #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel)) | 350 | #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel)) |
| 351 | #define vgic_initialized(k) (!!((k)->arch.vgic.nr_cpus)) | 351 | #define vgic_initialized(k) (!!((k)->arch.vgic.nr_cpus)) |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 054833939995..1991aea2ec4c 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -870,8 +870,8 @@ static inline int acpi_dev_get_property(struct acpi_device *adev, | |||
| 870 | } | 870 | } |
| 871 | 871 | ||
| 872 | static inline int acpi_node_get_property_reference(struct fwnode_handle *fwnode, | 872 | static inline int acpi_node_get_property_reference(struct fwnode_handle *fwnode, |
| 873 | const char *name, const char *cells_name, | 873 | const char *name, size_t index, |
| 874 | size_t index, struct acpi_reference_args *args) | 874 | struct acpi_reference_args *args) |
| 875 | { | 875 | { |
| 876 | return -ENXIO; | 876 | return -ENXIO; |
| 877 | } | 877 | } |
diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 2b8ed123ad36..defeaac0745f 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h | |||
| @@ -107,7 +107,7 @@ static inline __u64 ror64(__u64 word, unsigned int shift) | |||
| 107 | */ | 107 | */ |
| 108 | static inline __u32 rol32(__u32 word, unsigned int shift) | 108 | static inline __u32 rol32(__u32 word, unsigned int shift) |
| 109 | { | 109 | { |
| 110 | return (word << shift) | (word >> (32 - shift)); | 110 | return (word << shift) | (word >> ((-shift) & 31)); |
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | /** | 113 | /** |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index c0d2b7927c1f..0169ba2e2e64 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -254,6 +254,7 @@ struct queue_limits { | |||
