Skip to content
  • Stephen Rothwell's avatar
    of: silence warnings due to max() usage · aaaab56d
    Stephen Rothwell authored
    pageblock_order can be (at least) an unsigned int or an unsigned long
    depending on the kernel config and architecture, so use max_t(unsigned
    long ...) when comparing it.
    
    fixes these warnings:
    
    In file included from include/linux/list.h:8:0,
                     from include/linux/kobject.h:20,
                     from include/linux/of.h:21,
                     from drivers/of/of_reserved_mem.c:17:
    drivers/of/of_reserved_mem.c: In function ‘__reserved_mem_alloc_size’:
    include/linux/kernel.h:748:17: warning: comparison of distinct pointer types lacks a cast
      (void) (&_max1 == &_max2);  \
                     ^
    include/linux/kernel.h:747:9: note: in definition of macro ‘max’
      typeof(y) _max2 = (y);   \
             ^
    drivers/of/of_reserved_mem.c:131:48: note: in expansion of macro ‘max’
       align = max(align, (phys_addr_t)PAGE_SIZE << max(MAX_ORDER - 1, pageblock_ord
                                                    ^
    include/linux/kernel.h:748:17: warning: comparison of distinct pointer types lacks a cast
      (void) (&_max1 == &_max2);  \
                     ^
    include/linux/kernel.h:747:21: note: in definition of macro ‘max’
      typeof(y) _max2 = (y);   \
                         ^
    drivers/of/of_reserved_mem.c:131:48: note: in expansion of macro ‘max’
       align = max(align, (phys_addr_t)PAGE_SIZE << max(MAX_ORDER - 1, pageblock_ord
                                                    ^
    
    Fixes: 1cc8e345
    
     ("drivers: of: of_reserved_mem: fixup the alignment with CMA setup")
    Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: default avatarRob Herring <robh@kernel.org>
    aaaab56d