diff options
-rw-r--r-- | drivers/misc/pmem.c | 10 | ||||
-rw-r--r-- | include/linux/android_pmem.h | 1 |
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(®ion, (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 { |