Commit c5172a29 authored by Todd Poynor's avatar Todd Poynor Committed by Greg Kroah-Hartman

staging: gasket: gasket page table functions use bool return type

Convert from int to bool return type for gasket page table functions
that return values used as booleans.
Reported-by: default avatarGuenter Roeck <groeck@chromium.org>
Signed-off-by: default avatarSimon Que <sque@chromium.org>
Signed-off-by: default avatarTodd Poynor <toddpoynor@google.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9116223b
...@@ -262,16 +262,16 @@ static void gasket_perform_unmapping( ...@@ -262,16 +262,16 @@ static void gasket_perform_unmapping(
static void gasket_free_extended_subtable( static void gasket_free_extended_subtable(
struct gasket_page_table *pg_tbl, struct gasket_page_table_entry *pte, struct gasket_page_table *pg_tbl, struct gasket_page_table_entry *pte,
u64 __iomem *att_reg); u64 __iomem *att_reg);
static int gasket_release_page(struct page *page); static bool gasket_release_page(struct page *page);
/* Other/utility declarations */ /* Other/utility declarations */
static inline int gasket_addr_is_simple( static inline bool gasket_addr_is_simple(
struct gasket_page_table *pg_tbl, ulong addr); struct gasket_page_table *pg_tbl, ulong addr);
static int gasket_is_simple_dev_addr_bad( static bool gasket_is_simple_dev_addr_bad(
struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages); struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages);
static int gasket_is_extended_dev_addr_bad( static bool gasket_is_extended_dev_addr_bad(
struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages); struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages);
static int gasket_is_pte_range_free( static bool gasket_is_pte_range_free(
struct gasket_page_table_entry *pte, uint num_entries); struct gasket_page_table_entry *pte, uint num_entries);
static void gasket_page_table_garbage_collect_nolock( static void gasket_page_table_garbage_collect_nolock(
struct gasket_page_table *pg_tbl); struct gasket_page_table *pg_tbl);
...@@ -558,7 +558,7 @@ int gasket_page_table_lookup_page( ...@@ -558,7 +558,7 @@ int gasket_page_table_lookup_page(
} }
/* See gasket_page_table.h for description. */ /* See gasket_page_table.h for description. */
int gasket_page_table_are_addrs_bad( bool gasket_page_table_are_addrs_bad(
struct gasket_page_table *pg_tbl, ulong host_addr, ulong dev_addr, struct gasket_page_table *pg_tbl, ulong host_addr, ulong dev_addr,
ulong bytes) ulong bytes)
{ {
...@@ -567,7 +567,7 @@ int gasket_page_table_are_addrs_bad( ...@@ -567,7 +567,7 @@ int gasket_page_table_are_addrs_bad(
pg_tbl, pg_tbl,
"host mapping address 0x%lx must be page aligned", "host mapping address 0x%lx must be page aligned",
host_addr); host_addr);
return 1; return true;
} }
return gasket_page_table_is_dev_addr_bad(pg_tbl, dev_addr, bytes); return gasket_page_table_is_dev_addr_bad(pg_tbl, dev_addr, bytes);
...@@ -575,7 +575,7 @@ int gasket_page_table_are_addrs_bad( ...@@ -575,7 +575,7 @@ int gasket_page_table_are_addrs_bad(
EXPORT_SYMBOL(gasket_page_table_are_addrs_bad); EXPORT_SYMBOL(gasket_page_table_are_addrs_bad);
/* See gasket_page_table.h for description. */ /* See gasket_page_table.h for description. */
int gasket_page_table_is_dev_addr_bad( bool gasket_page_table_is_dev_addr_bad(
struct gasket_page_table *pg_tbl, ulong dev_addr, ulong bytes) struct gasket_page_table *pg_tbl, ulong dev_addr, ulong bytes)
{ {
uint num_pages = bytes / PAGE_SIZE; uint num_pages = bytes / PAGE_SIZE;
...@@ -584,7 +584,7 @@ int gasket_page_table_is_dev_addr_bad( ...@@ -584,7 +584,7 @@ int gasket_page_table_is_dev_addr_bad(
gasket_pg_tbl_error( gasket_pg_tbl_error(
pg_tbl, pg_tbl,
"mapping size 0x%lX must be page aligned", bytes); "mapping size 0x%lX must be page aligned", bytes);
return 1; return true;
} }
if (num_pages == 0) { if (num_pages == 0) {
...@@ -592,7 +592,7 @@ int gasket_page_table_is_dev_addr_bad( ...@@ -592,7 +592,7 @@ int gasket_page_table_is_dev_addr_bad(
pg_tbl, pg_tbl,
"requested mapping is less than one page: %lu / %lu", "requested mapping is less than one page: %lu / %lu",
bytes, PAGE_SIZE); bytes, PAGE_SIZE);
return 1; return true;
} }
if (gasket_addr_is_simple(pg_tbl, dev_addr)) if (gasket_addr_is_simple(pg_tbl, dev_addr))
...@@ -1285,23 +1285,23 @@ static void gasket_free_extended_subtable( ...@@ -1285,23 +1285,23 @@ static void gasket_free_extended_subtable(
/* /*
* Safely return a page to the OS. * Safely return a page to the OS.
* @page: The page to return to the OS. * @page: The page to return to the OS.
* Returns 1 if the page was released, 0 if it was * Returns true if the page was released, false if it was
* ignored. * ignored.
*/ */
static int gasket_release_page(struct page *page) static bool gasket_release_page(struct page *page)
{ {
if (!page) if (!page)
return 0; return false;
if (!PageReserved(page)) if (!PageReserved(page))
SetPageDirty(page); SetPageDirty(page);
put_page(page); put_page(page);
return 1; return true;
} }
/* Evaluates to nonzero if the specified virtual address is simple. */ /* Evaluates to nonzero if the specified virtual address is simple. */
static inline int gasket_addr_is_simple( static inline bool gasket_addr_is_simple(
struct gasket_page_table *pg_tbl, ulong addr) struct gasket_page_table *pg_tbl, ulong addr)
{ {
return !((addr) & (pg_tbl)->extended_flag); return !((addr) & (pg_tbl)->extended_flag);
...@@ -1317,7 +1317,7 @@ static inline int gasket_addr_is_simple( ...@@ -1317,7 +1317,7 @@ static inline int gasket_addr_is_simple(
* address to/from page + offset) and that the requested page range starts and * address to/from page + offset) and that the requested page range starts and
* ends within the set of currently-partitioned simple pages. * ends within the set of currently-partitioned simple pages.
*/ */
static int gasket_is_simple_dev_addr_bad( static bool gasket_is_simple_dev_addr_bad(
struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages)
{ {
ulong page_offset = dev_addr & (PAGE_SIZE - 1); ulong page_offset = dev_addr & (PAGE_SIZE - 1);
...@@ -1328,7 +1328,7 @@ static int gasket_is_simple_dev_addr_bad( ...@@ -1328,7 +1328,7 @@ static int gasket_is_simple_dev_addr_bad(
pg_tbl, 1, page_index, page_offset) != dev_addr) { pg_tbl, 1, page_index, page_offset) != dev_addr) {
gasket_pg_tbl_error( gasket_pg_tbl_error(
pg_tbl, "address is invalid, 0x%lX", dev_addr); pg_tbl, "address is invalid, 0x%lX", dev_addr);
return 1; return true;
} }
if (page_index >= pg_tbl->num_simple_entries) { if (page_index >= pg_tbl->num_simple_entries) {
...@@ -1336,7 +1336,7 @@ static int gasket_is_simple_dev_addr_bad( ...@@ -1336,7 +1336,7 @@ static int gasket_is_simple_dev_addr_bad(
pg_tbl, pg_tbl,
"starting slot at %lu is too large, max is < %u", "starting slot at %lu is too large, max is < %u",
page_index, pg_tbl->num_simple_entries); page_index, pg_tbl->num_simple_entries);
return 1; return true;
} }
if (page_index + num_pages > pg_tbl->num_simple_entries) { if (page_index + num_pages > pg_tbl->num_simple_entries) {
...@@ -1344,10 +1344,10 @@ static int gasket_is_simple_dev_addr_bad( ...@@ -1344,10 +1344,10 @@ static int gasket_is_simple_dev_addr_bad(
pg_tbl, pg_tbl,
"ending slot at %lu is too large, max is <= %u", "ending slot at %lu is too large, max is <= %u",
page_index + num_pages, pg_tbl->num_simple_entries); page_index + num_pages, pg_tbl->num_simple_entries);
return 1; return true;
} }
return 0; return false;
} }
/* /*
...@@ -1359,7 +1359,7 @@ static int gasket_is_simple_dev_addr_bad( ...@@ -1359,7 +1359,7 @@ static int gasket_is_simple_dev_addr_bad(
* @dev_addr: The device address to which the pages will be mapped. * @dev_addr: The device address to which the pages will be mapped.
* @num_pages: The number of second-level/sub pages in the range to consider. * @num_pages: The number of second-level/sub pages in the range to consider.
*/ */
static int gasket_is_extended_dev_addr_bad( static bool gasket_is_extended_dev_addr_bad(
struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages) struct gasket_page_table *pg_tbl, ulong dev_addr, uint num_pages)
{ {
/* Starting byte index of dev_addr into the first mapped page */ /* Starting byte index of dev_addr into the first mapped page */
...@@ -1373,7 +1373,7 @@ static int gasket_is_extended_dev_addr_bad( ...@@ -1373,7 +1373,7 @@ static int gasket_is_extended_dev_addr_bad(
if (addr >> (GASKET_EXTENDED_LVL0_WIDTH + GASKET_EXTENDED_LVL0_SHIFT)) { if (addr >> (GASKET_EXTENDED_LVL0_WIDTH + GASKET_EXTENDED_LVL0_SHIFT)) {
gasket_pg_tbl_error(pg_tbl, "device address out of bound, 0x%p", gasket_pg_tbl_error(pg_tbl, "device address out of bound, 0x%p",
(void *)dev_addr); (void *)dev_addr);
return 1; return true;
} }
/* Find the starting sub-page index in the space of all sub-pages. */ /* Find the starting sub-page index in the space of all sub-pages. */
...@@ -1391,7 +1391,7 @@ static int gasket_is_extended_dev_addr_bad( ...@@ -1391,7 +1391,7 @@ static int gasket_is_extended_dev_addr_bad(
pg_tbl, 0, page_global_idx, page_offset) != dev_addr) { pg_tbl, 0, page_global_idx, page_offset) != dev_addr) {
gasket_pg_tbl_error( gasket_pg_tbl_error(
pg_tbl, "address is invalid, 0x%p", (void *)dev_addr); pg_tbl, "address is invalid, 0x%p", (void *)dev_addr);
return 1; return true;
} }
if (page_lvl0_idx >= pg_tbl->num_extended_entries) { if (page_lvl0_idx >= pg_tbl->num_extended_entries) {
...@@ -1399,7 +1399,7 @@ static int gasket_is_extended_dev_addr_bad( ...@@ -1399,7 +1399,7 @@ static int gasket_is_extended_dev_addr_bad(
pg_tbl, pg_tbl,
"starting level 0 slot at %lu is too large, max is < " "starting level 0 slot at %lu is too large, max is < "
"%u", page_lvl0_idx, pg_tbl->num_extended_entries); "%u", page_lvl0_idx, pg_tbl->num_extended_entries);
return 1; return true;
} }
if (page_lvl0_idx + num_lvl0_pages > pg_tbl->num_extended_entries) { if (page_lvl0_idx + num_lvl0_pages > pg_tbl->num_extended_entries) {
...@@ -1408,10 +1408,10 @@ static int gasket_is_extended_dev_addr_bad( ...@@ -1408,10 +1408,10 @@ static int gasket_is_extended_dev_addr_bad(
"ending level 0 slot at %lu is too large, max is <= %u", "ending level 0 slot at %lu is too large, max is <= %u",
page_lvl0_idx + num_lvl0_pages, page_lvl0_idx + num_lvl0_pages,
pg_tbl->num_extended_entries); pg_tbl->num_extended_entries);
return 1; return true;
} }
return 0; return false;
} }
/* /*
...@@ -1425,17 +1425,17 @@ static int gasket_is_extended_dev_addr_bad( ...@@ -1425,17 +1425,17 @@ static int gasket_is_extended_dev_addr_bad(
* *
* The page table mutex must be held before this call. * The page table mutex must be held before this call.
*/ */
static int gasket_is_pte_range_free( static bool gasket_is_pte_range_free(
struct gasket_page_table_entry *ptes, uint num_entries) struct gasket_page_table_entry *ptes, uint num_entries)
{ {
int i; int i;
for (i = 0; i < num_entries; i++) { for (i = 0; i < num_entries; i++) {
if (ptes[i].status != PTE_FREE) if (ptes[i].status != PTE_FREE)
return 0; return false;
} }
return 1; return true;
} }
/* /*
......
...@@ -162,9 +162,9 @@ int gasket_page_table_lookup_page( ...@@ -162,9 +162,9 @@ int gasket_page_table_lookup_page(
* specified by both addresses and the size are valid for mapping pages into * specified by both addresses and the size are valid for mapping pages into
* device memory. * device memory.
* *
* Returns 1 if true - if the mapping is bad, 0 otherwise. * Returns true if the mapping is bad, false otherwise.
*/ */
int gasket_page_table_are_addrs_bad( bool gasket_page_table_are_addrs_bad(
struct gasket_page_table *page_table, ulong host_addr, ulong dev_addr, struct gasket_page_table *page_table, ulong host_addr, ulong dev_addr,
ulong bytes); ulong bytes);
...@@ -178,9 +178,9 @@ int gasket_page_table_are_addrs_bad( ...@@ -178,9 +178,9 @@ int gasket_page_table_are_addrs_bad(
* specified by the device address and the size is valid for mapping pages into * specified by the device address and the size is valid for mapping pages into
* device memory. * device memory.
* *
* Returns 1 if true - if the address is bad, 0 otherwise. * Returns true if the address is bad, false otherwise.
*/ */
int gasket_page_table_is_dev_addr_bad( bool gasket_page_table_is_dev_addr_bad(
struct gasket_page_table *page_table, ulong dev_addr, ulong bytes); struct gasket_page_table *page_table, ulong dev_addr, ulong bytes);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment