There are lots of troubles with atomisp __user annotations. Fix them.
drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49:expected
void *userptr
drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c:357:49:got void
[noderef] *user_ptr
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43:expected
void const [noderef] *from
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:3302:43:got void
const *from
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58:expected
void const *from
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4070:58:got
unsigned short [noderef] *
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58:expected
void const *from
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:4082:58:got
unsigned short [noderef] *
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62: warning:
incorrect type in argument 2 (different address spaces)
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62:expected
void const [noderef] *from
drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c:6179:62:got
unsigned short [usertype] *
Signed-off-by: Mauro Carvalho Chehab
---
.../media/atomisp/pci/atomisp2/atomisp_acc.c | 8
.../media/atomisp/pci/atomisp2/atomisp_cmd.c | 9 +
.../media/atomisp/pci/atomisp2/atomisp_compat.h| 2 +-
.../atomisp/pci/atomisp2/atomisp_compat_css20.c| 2 +-
.../media/atomisp/pci/atomisp2/atomisp_ioctl.c | 2 +-
.../memory_access/memory_access.h | 2 +-
.../pci/atomisp2/css2400/ia_css_frame_public.h | 2 +-
.../pci/atomisp2/css2400/ia_css_memory_access.c| 4 ++--
.../pci/atomisp2/css2400/runtime/frame/src/frame.c | 2 +-
.../staging/media/atomisp/pci/atomisp2/hmm/hmm.c | 2 +-
.../media/atomisp/pci/atomisp2/hmm/hmm_bo.c| 4 ++--
.../atomisp/pci/atomisp2/hrt/hive_isp_css_mm_hrt.c | 22 --
.../atomisp/pci/atomisp2/hrt/hive_isp_css_mm_hrt.h | 11 ++-
.../media/atomisp/pci/atomisp2/include/hmm/hmm.h | 2 +-
.../atomisp/pci/atomisp2/include/hmm/hmm_bo.h | 2 +-
15 files changed, 40 insertions(+), 36 deletions(-)
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c
b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c
index a6638edee360..7ebcebd80b77 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_acc.c
@@ -353,10 +353,10 @@ int atomisp_acc_map(struct atomisp_sub_device *asd,
struct atomisp_acc_map *map)
}
pgnr = DIV_ROUND_UP(map->length, PAGE_SIZE);
- cssptr = hrt_isp_css_mm_alloc_user_ptr(
- map->length, map->user_ptr,
- pgnr, HRT_USR_PTR,
- (map->flags & ATOMISP_MAP_FLAG_CACHED));
+ cssptr = hrt_isp_css_mm_alloc_user_ptr(map->length,
+ map->user_ptr,
+ pgnr, HRT_USR_PTR,
+ (map->flags &
ATOMISP_MAP_FLAG_CACHED));
} else {
/* Allocate private buffer. */
if (map->flags & ATOMISP_MAP_FLAG_CACHED)
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
index fa6ea506f8b1..874165654850 100644
--- a/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
+++ b/drivers/staging/media/atomisp/pci/atomisp2/atomisp_cmd.c
@@ -3299,7 +3299,7 @@ static unsigned int long copy_from_compatible(void *to,
const void *from,
unsigned long n, bool from_user)
{
if (from_user)
- return copy_from_user(to, from, n);
+ return copy_from_user(to, (void __user *)from, n);
else
memcpy(to, from, n);
return 0;
@@ -4067,7 +4067,7 @@ int atomisp_cp_morph_table(struct atomisp_sub_device *asd,
for (i = 0; i < CSS_MORPH_TABLE_NUM_PLANES; i++) {
if (copy_from_compatible(morph_table->coordinates_x[i],
- source_morph_table->coordinates_x[i],
+ (__force void *)source_morph_table->coordinates_x[i],
#ifndef ISP2401