Re: [PATCH 1/1] staging: android: ashmem: convert range macros to inlines and clean-up
On 12/06/16 07:39, Greg Kroah-Hartman wrote: > On Mon, Dec 05, 2016 at 08:01:35PM +0000, Guillaume Tucker wrote: >> On 12/05/16 18:08, Greg Kroah-Hartman wrote: >>> On Mon, Dec 05, 2016 at 05:34:15PM +, Guillaume Tucker wrote: >>>> Convert ashmem_range related macros to inline functions to fix >>>> checkpatch errors. Clean up the code in related existing inline >>>> functions. >>> >>> How about breaking this up into two different patches, one for the >>> inlines, and one to fix up the existing inline functions for coding >>> style issues? >>> >>> thanks, >>> >>> greg k-h >> >> Sure, thanks. I've sent a v2. >> >> (and sorry the series still doesn't seem to be treated as a thread in >> spite of the In-Reply-To: and References: headers being there...) > > They are there, but they are incorrect, are you using git send-email to > set them, or are you trying to do it by hand? I was using 'git format-patch --thread' and 'git imap-send' to upload them to my gmail drafts and then send them with my email client (Icedove in this case). It looks like it all worked except for the Message-IDs, they got rewritten somehow. I'll either find a way to fix it or use plain 'git send-email' to get this sorted before I send any more patches. Thanks! Guillaume ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] staging: android: ashmem: convert range macros to inlines and clean-up
On 12/05/16 18:08, Greg Kroah-Hartman wrote: > On Mon, Dec 05, 2016 at 05:34:15PM +0000, Guillaume Tucker wrote: >> Convert ashmem_range related macros to inline functions to fix >> checkpatch errors. Clean up the code in related existing inline >> functions. > > How about breaking this up into two different patches, one for the > inlines, and one to fix up the existing inline functions for coding > style issues? > > thanks, > > greg k-h Sure, thanks. I've sent a v2. (and sorry the series still doesn't seem to be treated as a thread in spite of the In-Reply-To: and References: headers being there...) Cheers, Guillaume ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 2/2] staging: android: ashmem: clean up range inline functions
Clean up the code in inline functions that deal with page and range addresses. Use bool instead of int for boolean return types and remove superfluous brackets. Signed-off-by: Guillaume Tucker <guillaume.tuc...@gmail.com> --- drivers/staging/android/ashmem.c | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c index facc8a24..7cbad0d 100644 --- a/drivers/staging/android/ashmem.c +++ b/drivers/staging/android/ashmem.c @@ -110,33 +110,33 @@ static inline bool range_on_lru(struct ashmem_range *range) return range->purged == ASHMEM_NOT_PURGED; } -static inline int page_range_subsumes_range(struct ashmem_range *range, - size_t start, size_t end) +static inline bool page_range_subsumes_range(struct ashmem_range *range, +size_t start, size_t end) { - return (((range)->pgstart >= (start)) && ((range)->pgend <= (end))); + return (range->pgstart >= start) && (range->pgend <= end); } -static inline int page_range_subsumed_by_range(struct ashmem_range *range, - size_t start, size_t end) +static inline bool page_range_subsumed_by_range(struct ashmem_range *range, + size_t start, size_t end) { - return (((range)->pgstart <= (start)) && ((range)->pgend >= (end))); + return (range->pgstart <= start) && (range->pgend >= end); } -static inline int page_in_range(struct ashmem_range *range, size_t page) +static inline bool page_in_range(struct ashmem_range *range, size_t page) { - return (((range)->pgstart <= (page)) && ((range)->pgend >= (page))); + return (range->pgstart <= page) && (range->pgend >= page); } -static inline int page_range_in_range(struct ashmem_range *range, - size_t start, size_t end) +static inline bool page_range_in_range(struct ashmem_range *range, + size_t start, size_t end) { - return (page_in_range(range, start) || page_in_range(range, end) || - page_range_subsumes_range(range, start, end)); + return page_in_range(range, start) || page_in_range(range, end) || + page_range_subsumes_range(range, start, end); } -static inline int range_before_page(struct ashmem_range *range, size_t page) +static inline bool range_before_page(struct ashmem_range *range, size_t page) { - return ((range)->pgend < (page)); + return range->pgend < page; } #define PROT_MASK (PROT_EXEC | PROT_READ | PROT_WRITE) -- 2.8.1.116.g7b0d47b ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 1/2] staging: android: ashmem: convert range macros to inlines
Convert range_size and range_on_lru macros to inline functions to fix checkpatch check: CHECK: Macro argument reuse 'range' - possible side-effects? Signed-off-by: Guillaume Tucker <guillaume.tuc...@gmail.com> --- drivers/staging/android/ashmem.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c index ca9a53c..facc8a24 100644 --- a/drivers/staging/android/ashmem.c +++ b/drivers/staging/android/ashmem.c @@ -100,11 +100,15 @@ static DEFINE_MUTEX(ashmem_mutex); static struct kmem_cache *ashmem_area_cachep __read_mostly; static struct kmem_cache *ashmem_range_cachep __read_mostly; -#define range_size(range) \ - ((range)->pgend - (range)->pgstart + 1) +static inline unsigned long range_size(struct ashmem_range *range) +{ + return range->pgend - range->pgstart + 1; +} -#define range_on_lru(range) \ - ((range)->purged == ASHMEM_NOT_PURGED) +static inline bool range_on_lru(struct ashmem_range *range) +{ + return range->purged == ASHMEM_NOT_PURGED; +} static inline int page_range_subsumes_range(struct ashmem_range *range, size_t start, size_t end) -- 2.8.1.116.g7b0d47b ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 0/2] staging: android: ashmem: convert range macros to inlines and clean-up
This is to fix some checkpatch.pl checks by converting macros to static inline functions and do a bit of clean-up in existing inline functions. I've run some Android unit tests on a HiKey board and made a small kernel-side test function to sanity check it. I realise this code is a bit stale so it's probably not the most pressing thing to fix in the kernel but it's the first patch I'm sending so I thought I'd pick something easy to start with and put me through my paces. I hope it'll be useful anyway. Guillaume Tucker (2): staging: android: ashmem: convert range macros to inlines staging: android: ashmem: clean up range inline functions drivers/staging/android/ashmem.c | 40 ++-- 1 file changed, 22 insertions(+), 18 deletions(-) -- 2.8.1.116.g7b0d47b ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/1] staging: android: ashmem: convert range macros to inlines and clean-up
Convert ashmem_range related macros to inline functions to fix checkpatch errors. Clean up the code in related existing inline functions. Signed-off-by: Guillaume Tucker <guillaume.tuc...@gmail.com> --- drivers/staging/android/ashmem.c | 40 ++-- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c index ca9a53c..7cbad0d 100644 --- a/drivers/staging/android/ashmem.c +++ b/drivers/staging/android/ashmem.c @@ -100,39 +100,43 @@ static DEFINE_MUTEX(ashmem_mutex); static struct kmem_cache *ashmem_area_cachep __read_mostly; static struct kmem_cache *ashmem_range_cachep __read_mostly; -#define range_size(range) \ - ((range)->pgend - (range)->pgstart + 1) +static inline unsigned long range_size(struct ashmem_range *range) +{ + return range->pgend - range->pgstart + 1; +} -#define range_on_lru(range) \ - ((range)->purged == ASHMEM_NOT_PURGED) +static inline bool range_on_lru(struct ashmem_range *range) +{ + return range->purged == ASHMEM_NOT_PURGED; +} -static inline int page_range_subsumes_range(struct ashmem_range *range, - size_t start, size_t end) +static inline bool page_range_subsumes_range(struct ashmem_range *range, +size_t start, size_t end) { - return (((range)->pgstart >= (start)) && ((range)->pgend <= (end))); + return (range->pgstart >= start) && (range->pgend <= end); } -static inline int page_range_subsumed_by_range(struct ashmem_range *range, - size_t start, size_t end) +static inline bool page_range_subsumed_by_range(struct ashmem_range *range, + size_t start, size_t end) { - return (((range)->pgstart <= (start)) && ((range)->pgend >= (end))); + return (range->pgstart <= start) && (range->pgend >= end); } -static inline int page_in_range(struct ashmem_range *range, size_t page) +static inline bool page_in_range(struct ashmem_range *range, size_t page) { - return (((range)->pgstart <= (page)) && ((range)->pgend >= (page))); + return (range->pgstart <= page) && (range->pgend >= page); } -static inline int page_range_in_range(struct ashmem_range *range, - size_t start, size_t end) +static inline bool page_range_in_range(struct ashmem_range *range, + size_t start, size_t end) { - return (page_in_range(range, start) || page_in_range(range, end) || - page_range_subsumes_range(range, start, end)); + return page_in_range(range, start) || page_in_range(range, end) || + page_range_subsumes_range(range, start, end); } -static inline int range_before_page(struct ashmem_range *range, size_t page) +static inline bool range_before_page(struct ashmem_range *range, size_t page) { - return ((range)->pgend < (page)); + return range->pgend < page; } #define PROT_MASK (PROT_EXEC | PROT_READ | PROT_WRITE) -- 2.8.1.116.g7b0d47b ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 0/1] staging: android: ashmem: convert range macros to inlines and clean-up
This is to fix some checkpatch.pl errors by converting macros to static inline functions and do a bit of clean-up in existing inline functions. I've run some Android unit tests on a HiKey board and made a small kernel-side test function to sanity check it. I realise this code is a bit stale so it's probably not the most pressing thing to fix in the kernel but it's the first patch I'm sending so I thought I'd pick something easy to start with and put me through my paces. I hope it'll be useful anyway. Guillaume Tucker (1): staging: android: ashmem: convert range macros to inlines and clean-up drivers/staging/android/ashmem.c | 40 ++-- 1 file changed, 22 insertions(+), 18 deletions(-) -- 2.8.1.116.g7b0d47b ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel