2017-07-03 23:13:32

by Amitoj Kaur Chawla

[permalink] [raw]
Subject: [PATCH] staging: comedi: Use offset_in_page macro

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 <[email protected]>
---
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;

--
2.7.4


2017-07-04 09:36:52

by Ian Abbott

[permalink] [raw]
Subject: Re: [PATCH] staging: comedi: Use offset_in_page macro

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 <[email protected]>
> ---
> 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 <[email protected]>

--
-=( Ian Abbott @ MEV Ltd. E-mail: <[email protected]> )=-
-=( Web: http://www.mev.co.uk/ )=-