summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/pmem.c10
-rw-r--r--include/linux/android_pmem.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/misc/pmem.c b/drivers/misc/pmem.c
index 55c4de81b177..7f3b53217560 100644
--- a/drivers/misc/pmem.c
+++ b/drivers/misc/pmem.c
@@ -1148,6 +1148,16 @@ static long pmem_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
DLOG("connect\n");
return pmem_connect(arg, file);
break;
+ case PMEM_CACHE_FLUSH:
+ {
+ struct pmem_region region;
+ DLOG("flush\n");
+ if (copy_from_user(&region, (void __user *)arg,
+ sizeof(struct pmem_region)))
+ return -EFAULT;
+ flush_pmem_file(file, region.offset, region.len);
+ break;
+ }
default:
if (pmem[id].ioctl)
return pmem[id].ioctl(file, cmd, arg);
diff --git a/include/linux/android_pmem.h b/include/linux/android_pmem.h
index 398997c3386b..f633621f5be3 100644
--- a/include/linux/android_pmem.h
+++ b/include/linux/android_pmem.h
@@ -33,6 +33,7 @@
* struct (with offset set to 0).
*/
#define PMEM_GET_TOTAL_SIZE _IOW(PMEM_IOCTL_MAGIC, 7, unsigned int)
+#define PMEM_CACHE_FLUSH _IOW(PMEM_IOCTL_MAGIC, 8, unsigned int)
struct android_pmem_platform_data
{