Re: [PATCH] staging: comedi: Use offset_in_page macro

From: Ian Abbott
Date: Tue Jul 04 2017 - 05:37:01 EST


On 04/07/17 00:13, Amitoj Kaur Chawla wrote:
Use offset_in_page macro instead of (var & ~PAGE_MASK)

The Coccinelle semantic patch used to make this change is as follows:
// <smpl>
@@
unsigned long p;
@@
- p & ~PAGE_MASK
+ offset_in_page(p)
// </smpl>

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>
---
drivers/staging/comedi/comedi_buf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/comedi_buf.c b/drivers/staging/comedi/comedi_buf.c
index 8e9b30b..b455ff6 100644
--- a/drivers/staging/comedi/comedi_buf.c
+++ b/drivers/staging/comedi/comedi_buf.c
@@ -165,7 +165,7 @@ int comedi_buf_map_put(struct comedi_buf_map *bm)
int comedi_buf_map_access(struct comedi_buf_map *bm, unsigned long offset,
void *buf, int len, int write)
{
- unsigned int pgoff = offset & ~PAGE_MASK;
+ unsigned int pgoff = offset_in_page(offset);
unsigned long pg = offset >> PAGE_SHIFT;
int done = 0;



Seems reasonable, thanks. Being picky, I'd prefer it if the line `#include <linux/mm.h>` was added, since that is where the `offset_in_page` macro is defined. But it doesn't matter that much as the "mm.h" header file gets included indirectly, and there are plenty of examples where `offset_in_page` is used without including <linux/mm.h> directly.

Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Web: http://www.mev.co.uk/ )=-