fixup! mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf

Submitted by Arnd Bergmann on Jan. 25, 2017, 10:35 p.m.

Details

Message ID 20170125223558.1451224-1-arnd@arndb.de
State New
Headers show
Series "fixup! mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Arnd Bergmann Jan. 25, 2017, 10:35 p.m.
I ran into a couple of build problems on ARM, these are the changes that
should be folded into the original patch that changed all the ->fault()
prototypes

Fixes: mmtom ("mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/armada/armada_gem.c   | 9 +++++----
 drivers/gpu/drm/etnaviv/etnaviv_drv.h | 2 +-
 drivers/gpu/drm/omapdrm/omap_drv.h    | 2 +-
 drivers/hsi/clients/cmt_speech.c      | 4 ++--
 4 files changed, 9 insertions(+), 8 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
index a293c8be232c..e1917adc30a4 100644
--- a/drivers/gpu/drm/armada/armada_gem.c
+++ b/drivers/gpu/drm/armada/armada_gem.c
@@ -14,14 +14,15 @@ 
 #include <drm/armada_drm.h>
 #include "armada_ioctlP.h"
 
-static int armada_gem_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+static int armada_gem_vm_fault(struct vm_fault *vmf)
 {
-	struct armada_gem_object *obj = drm_to_armada_gem(vma->vm_private_data);
+	struct drm_gem_object *gobj = vmf->vma->vm_private_data;
+	struct armada_gem_object *obj = drm_to_armada_gem(gobj);
 	unsigned long pfn = obj->phys_addr >> PAGE_SHIFT;
 	int ret;
 
-	pfn += (vmf->address - vma->vm_start) >> PAGE_SHIFT;
-	ret = vm_insert_pfn(vma, vmf->address, pfn);
+	pfn += (vmf->address - vmf->vma->vm_start) >> PAGE_SHIFT;
+	ret = vm_insert_pfn(vmf->vma, vmf->address, pfn);
 
 	switch (ret) {
 	case 0:
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
index c255eda40526..e41f38667c1c 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_drv.h
+++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
@@ -73,7 +73,7 @@  int etnaviv_ioctl_gem_submit(struct drm_device *dev, void *data,
 		struct drm_file *file);
 
 int etnaviv_gem_mmap(struct file *filp, struct vm_area_struct *vma);
-int etnaviv_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
+int etnaviv_gem_fault(struct vm_fault *vmf);
 int etnaviv_gem_mmap_offset(struct drm_gem_object *obj, u64 *offset);
 struct sg_table *etnaviv_gem_prime_get_sg_table(struct drm_gem_object *obj);
 void *etnaviv_gem_prime_vmap(struct drm_gem_object *obj);
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index 7d9dd5400cef..7a8f4bf6effb 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -204,7 +204,7 @@  int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
 int omap_gem_mmap(struct file *filp, struct vm_area_struct *vma);
 int omap_gem_mmap_obj(struct drm_gem_object *obj,
 		struct vm_area_struct *vma);
-int omap_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
+int omap_gem_fault(struct vm_fault *vmf);
 int omap_gem_op_start(struct drm_gem_object *obj, enum omap_gem_op op);
 int omap_gem_op_finish(struct drm_gem_object *obj, enum omap_gem_op op);
 int omap_gem_op_sync(struct drm_gem_object *obj, enum omap_gem_op op);
diff --git a/drivers/hsi/clients/cmt_speech.c b/drivers/hsi/clients/cmt_speech.c
index 3deef6cc7d7c..7175e6bedf21 100644
--- a/drivers/hsi/clients/cmt_speech.c
+++ b/drivers/hsi/clients/cmt_speech.c
@@ -1098,9 +1098,9 @@  static void cs_hsi_stop(struct cs_hsi_iface *hi)
 	kfree(hi);
 }
 
-static int cs_char_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+static int cs_char_vma_fault(struct vm_fault *vmf)
 {
-	struct cs_char *csdata = vma->vm_private_data;
+	struct cs_char *csdata = vmf->vma->vm_private_data;
 	struct page *page;
 
 	page = virt_to_page(csdata->mmap_base);

Comments

On 01/25/2017 03:35 PM, Arnd Bergmann wrote:
> I ran into a couple of build problems on ARM, these are the changes that
> should be folded into the original patch that changed all the ->fault()
> prototypes
> 
> Fixes: mmtom ("mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks for catching these!

Acked-by: Dave Jiang <dave.jiang@intel.com>

> ---
>  drivers/gpu/drm/armada/armada_gem.c   | 9 +++++----
>  drivers/gpu/drm/etnaviv/etnaviv_drv.h | 2 +-
>  drivers/gpu/drm/omapdrm/omap_drv.h    | 2 +-
>  drivers/hsi/clients/cmt_speech.c      | 4 ++--
>  4 files changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
> index a293c8be232c..e1917adc30a4 100644
> --- a/drivers/gpu/drm/armada/armada_gem.c
> +++ b/drivers/gpu/drm/armada/armada_gem.c
> @@ -14,14 +14,15 @@
>  #include <drm/armada_drm.h>
>  #include "armada_ioctlP.h"
>  
> -static int armada_gem_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> +static int armada_gem_vm_fault(struct vm_fault *vmf)
>  {
> -	struct armada_gem_object *obj = drm_to_armada_gem(vma->vm_private_data);
> +	struct drm_gem_object *gobj = vmf->vma->vm_private_data;
> +	struct armada_gem_object *obj = drm_to_armada_gem(gobj);
>  	unsigned long pfn = obj->phys_addr >> PAGE_SHIFT;
>  	int ret;
>  
> -	pfn += (vmf->address - vma->vm_start) >> PAGE_SHIFT;
> -	ret = vm_insert_pfn(vma, vmf->address, pfn);
> +	pfn += (vmf->address - vmf->vma->vm_start) >> PAGE_SHIFT;
> +	ret = vm_insert_pfn(vmf->vma, vmf->address, pfn);
>  
>  	switch (ret) {
>  	case 0:
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
> index c255eda40526..e41f38667c1c 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.h
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
> @@ -73,7 +73,7 @@ int etnaviv_ioctl_gem_submit(struct drm_device *dev, void *data,
>  		struct drm_file *file);
>  
>  int etnaviv_gem_mmap(struct file *filp, struct vm_area_struct *vma);
> -int etnaviv_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
> +int etnaviv_gem_fault(struct vm_fault *vmf);
>  int etnaviv_gem_mmap_offset(struct drm_gem_object *obj, u64 *offset);
>  struct sg_table *etnaviv_gem_prime_get_sg_table(struct drm_gem_object *obj);
>  void *etnaviv_gem_prime_vmap(struct drm_gem_object *obj);
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
> index 7d9dd5400cef..7a8f4bf6effb 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.h
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.h
> @@ -204,7 +204,7 @@ int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
>  int omap_gem_mmap(struct file *filp, struct vm_area_struct *vma);
>  int omap_gem_mmap_obj(struct drm_gem_object *obj,
>  		struct vm_area_struct *vma);
> -int omap_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
> +int omap_gem_fault(struct vm_fault *vmf);
>  int omap_gem_op_start(struct drm_gem_object *obj, enum omap_gem_op op);
>  int omap_gem_op_finish(struct drm_gem_object *obj, enum omap_gem_op op);
>  int omap_gem_op_sync(struct drm_gem_object *obj, enum omap_gem_op op);
> diff --git a/drivers/hsi/clients/cmt_speech.c b/drivers/hsi/clients/cmt_speech.c
> index 3deef6cc7d7c..7175e6bedf21 100644
> --- a/drivers/hsi/clients/cmt_speech.c
> +++ b/drivers/hsi/clients/cmt_speech.c
> @@ -1098,9 +1098,9 @@ static void cs_hsi_stop(struct cs_hsi_iface *hi)
>  	kfree(hi);
>  }
>  
> -static int cs_char_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
> +static int cs_char_vma_fault(struct vm_fault *vmf)
>  {
> -	struct cs_char *csdata = vma->vm_private_data;
> +	struct cs_char *csdata = vmf->vma->vm_private_data;
>  	struct page *page;
>  
>  	page = virt_to_page(csdata->mmap_base);
>
Hi,

On Wed, Jan 25, 2017 at 11:35:05PM +0100, Arnd Bergmann wrote:
> I ran into a couple of build problems on ARM, these are the changes that
> should be folded into the original patch that changed all the ->fault()
> prototypes
> 
> Fixes: mmtom ("mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-By: Sebastian Reichel <sre@kernel.org>

-- Sebastian