diff mbox

[PATCHv2,2/2] mt7601u: use linux/bitfield.h

Message ID 1465904660-22242-3-git-send-email-jakub.kicinski@netronome.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Jakub Kicinski June 14, 2016, 11:44 a.m. UTC
Use the newly added linux/bitfield.h.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
---
 drivers/net/wireless/mediatek/mt7601u/dma.h     |  2 -
 drivers/net/wireless/mediatek/mt7601u/mt7601u.h |  5 +-
 drivers/net/wireless/mediatek/mt7601u/util.h    | 77 -------------------------
 3 files changed, 4 insertions(+), 80 deletions(-)
 delete mode 100644 drivers/net/wireless/mediatek/mt7601u/util.h

Comments

kernel test robot June 18, 2016, 10:08 p.m. UTC | #1
Hi,

[auto build test ERROR on wireless-drivers-next/master]
[also build test ERROR on v4.7-rc3 next-20160617]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jakub-Kicinski/register-field-manipulation-macros/20160614-195149
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: x86_64-randconfig-s4-06190511 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:35,
                    from include/linux/bug.h:4,
                    from include/linux/bitfield.h:19,
                    from drivers/net/wireless/mediatek/mt7601u/mt7601u.h:18,
                    from drivers/net/wireless/mediatek/mt7601u/init.c:16:
   In function 'mt7601u_init_usb_dma',
       inlined from 'mt7601u_init_hardware' at drivers/net/wireless/mediatek/mt7601u/init.c:359:2:
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_111' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(0x80) ? ~(((((~0UL) << (0)) & (~0UL >> (64 - 1 - (7))))) >> _bf_shf((((~0UL) << (0)) & (~0UL >> (64 - 1 - (7)))))) & (0x80) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/init.c:111:8: note: in expansion of macro 'MT76_SET'
     val = MT76_SET(MT_USB_DMA_CFG_RX_BULK_AGG_TOUT, MT_USB_AGGR_TIMEOUT) |
           ^~~~~~~~
   include/linux/compiler.h:510:38: error: call to '__compiletime_assert_112' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(28) ? ~(((((~0UL) << (8)) & (~0UL >> (64 - 1 - (15))))) >> _bf_shf((((~0UL) << (8)) & (~0UL >> (64 - 1 - (15)))))) & (28) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/init.c:112:8: note: in expansion of macro 'MT76_SET'
           MT76_SET(MT_USB_DMA_CFG_RX_BULK_AGG_LMT, MT_USB_AGGR_SIZE_LIMIT) |
           ^~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/init.c: In function 'mt7601u_init_hardware':
   include/linux/compiler.h:510:38: error: call to '__compiletime_assert_399' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(0x3f) ? ~(((((~0UL) << (0)) & (~0UL >> (64 - 1 - (5))))) >> _bf_shf((((~0UL) << (0)) & (~0UL >> (64 - 1 - (5)))))) & (0x3f) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/init.c:399:36: note: in expansion of macro 'MT76_SET'
     mt7601u_wr(dev, MT_TXOP_CTRL_CFG, MT76_SET(MT_TXOP_TRUN_EN, 0x3f) |
                                       ^~~~~~~~
   include/linux/compiler.h:510:38: error: call to '__compiletime_assert_400' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(0x58) ? ~(((((~0UL) << (8)) & (~0UL >> (64 - 1 - (15))))) >> _bf_shf((((~0UL) << (8)) & (~0UL >> (64 - 1 - (15)))))) & (0x58) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/init.c:400:8: note: in expansion of macro 'MT76_SET'
           MT76_SET(MT_TXOP_EXT_CCA_DLY, 0x58));
           ^~~~~~~~
--
   In file included from include/linux/byteorder/little_endian.h:4:0,
                    from arch/x86/include/uapi/asm/byteorder.h:4,
                    from include/asm-generic/bitops/le.h:5,
                    from arch/x86/include/asm/bitops.h:504,
                    from include/linux/bitops.h:36,
                    from include/linux/kernel.h:10,
                    from drivers/net/wireless/mediatek/mt7601u/mcu.c:16:
   drivers/net/wireless/mediatek/mt7601u/mcu.c: In function '__mt7601u_dma_fw':
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_294' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(len) ? ~(((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15))))) >> _bf_shf((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15)))))) & (len) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/uapi/linux/byteorder/little_endian.h:32:51: note: in definition of macro '__cpu_to_le32'
    #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
                                                      ^
>> include/linux/compiler.h:498:2: note: in expansion of macro '__compiletime_assert'
     __compiletime_assert(condition, msg, prefix, suffix)
     ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mcu.c:294:20: note: in expansion of macro 'MT76_SET'
     reg = cpu_to_le32(MT76_SET(MT_TXD_INFO_TYPE, DMA_PACKET) |
                       ^~~~~~~~
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_294' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(len) ? ~(((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15))))) >> _bf_shf((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15)))))) & (len) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/uapi/linux/byteorder/little_endian.h:32:51: note: in definition of macro '__cpu_to_le32'
    #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
                                                      ^
>> include/linux/compiler.h:498:2: note: in expansion of macro '__compiletime_assert'
     __compiletime_assert(condition, msg, prefix, suffix)
     ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/mcu.c:295:6: note: in expansion of macro 'MT76_SET'
         MT76_SET(MT_TXD_INFO_D_PORT, CPU_TX_PORT) |
         ^~~~~~~~
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_294' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(len) ? ~(((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15))))) >> _bf_shf((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15)))))) & (len) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/uapi/linux/byteorder/little_endian.h:32:51: note: in definition of macro '__cpu_to_le32'
    #define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
                                                      ^
>> include/linux/compiler.h:498:2: note: in expansion of macro '__compiletime_assert'
     __compiletime_assert(condition, msg, prefix, suffix)
     ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/mcu.c:296:6: note: in expansion of macro 'MT76_SET'
         MT76_SET(MT_TXD_INFO_LEN, len));
         ^~~~~~~~
   In file included from arch/x86/include/asm/bug.h:35:0,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    from include/linux/firmware.h:6,
                    from drivers/net/wireless/mediatek/mt7601u/mcu.c:17:
   In function 'mt7601u_dma_skb_wrap_cmd',
       inlined from 'mt7601u_mcu_msg_send' at drivers/net/wireless/mediatek/mt7601u/mcu.c:135:2:
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_47' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(cmd) ? ~(((((~0UL) << (20)) & (~0UL >> (64 - 1 - (26))))) >> _bf_shf((((~0UL) << (20)) & (~0UL >> (64 - 1 - (26)))))) & (cmd) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/asm-generic/bug.h:92:25: note: in definition of macro 'WARN_ON'
     int __ret_warn_on = !!(condition);    \
                            ^~~~~~~~~
>> include/linux/compiler.h:498:2: note: in expansion of macro '__compiletime_assert'
     __compiletime_assert(condition, msg, prefix, suffix)
     ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
--
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:35,
                    from include/linux/bug.h:4,
                    from include/linux/bitfield.h:19,
                    from drivers/net/wireless/mediatek/mt7601u/mt7601u.h:18,
                    from drivers/net/wireless/mediatek/mt7601u/dma.c:14:
   In function 'mt7601u_rx_process_seg',
       inlined from 'mt7601u_rx_process_entry' at drivers/net/wireless/mediatek/mt7601u/dma.c:151:3,
       inlined from 'mt7601u_rx_tasklet' at drivers/net/wireless/mediatek/mt7601u/dma.c:219:3:
   include/linux/compiler.h:510:38: error: call to '__compiletime_assert_106' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(0) ? ~(((((~0UL) << (30)) & (~0UL >> (64 - 1 - (31))))) >> _bf_shf((((~0UL) << (30)) & (~0UL >> (64 - 1 - (31)))))) & (0) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:170:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
>> include/linux/compiler.h:498:2: note: in expansion of macro '__compiletime_assert'
     __compiletime_assert(condition, msg, prefix, suffix)
     ^~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
   include/linux/bitfield.h:42:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, 0);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:286:18: note: in expansion of macro 'FIELD_GET'
    #define MT76_GET FIELD_GET
                     ^~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/dma.c:106:15: note: in expansion of macro 'MT76_GET'
     if (unlikely(MT76_GET(MT_RXD_INFO_TYPE, fce_info)))
                  ^~~~~~~~
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:35,
                    from include/linux/bug.h:4,
                    from include/linux/bitfield.h:19,
                    from drivers/net/wireless/mediatek/mt7601u/mt7601u.h:18,
                    from drivers/net/wireless/mediatek/mt7601u/dma.c:14:
   In function 'mt7601u_dma_skb_wrap_pkt',
       inlined from 'mt7601u_dma_enqueue_tx' at drivers/net/wireless/mediatek/mt7601u/dma.c:350:6:
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_91' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(qsel) ? ~(((((~0UL) << (25)) & (~0UL >> (64 - 1 - (26))))) >> _bf_shf((((~0UL) << (25)) & (~0UL >> (64 - 1 - (26)))))) & (qsel) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/dma.h:91:11: note: in expansion of macro 'MT76_SET'
     flags |= MT76_SET(MT_TXD_PKT_INFO_QSEL, qsel);
              ^~~~~~~~
   In function 'mt7601u_dma_skb_wrap.constprop',
       inlined from 'mt7601u_dma_skb_wrap_pkt' at drivers/net/wireless/mediatek/mt7601u/dma.h:92:9,
       inlined from 'mt7601u_dma_enqueue_tx' at drivers/net/wireless/mediatek/mt7601u/dma.c:350:6:
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_80' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(((((skb->len)-1) | ((__typeof__(skb->len))((4)-1)))+1)) ? ~(((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15))))) >> _bf_shf((((~0UL) << (0)) & (~0UL >> (64 - 1 - (15)))))) & (((((skb->len)-1) | ((__typeof__(skb->len))((4)-1)))+1)) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/dma.h:80:3: note: in expansion of macro 'MT76_SET'
      MT76_SET(MT_TXD_INFO_LEN, round_up(skb->len, 4)) |
      ^~~~~~~~
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_81' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(d_port) ? ~(((((~0UL) << (27)) & (~0UL >> (64 - 1 - (29))))) >> _bf_shf((((~0UL) << (27)) & (~0UL >> (64 - 1 - (29)))))) & (d_port) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt7601u/mt7601u.h:285:18: note: in expansion of macro 'FIELD_PUT'
    #define MT76_SET FIELD_PUT
                     ^~~~~~~~~
   drivers/net/wireless/mediatek/mt7601u/dma.h:81:3: note: in expansion of macro 'MT76_SET'
      MT76_SET(MT_TXD_INFO_D_PORT, d_port) |
      ^~~~~~~~
>> include/linux/compiler.h:510:38: error: call to '__compiletime_assert_82' declared with attribute error: BUILD_BUG_ON failed: __builtin_constant_p(type) ? ~(((((~0UL) << (30)) & (~0UL >> (64 - 1 - (31))))) >> _bf_shf((((~0UL) << (30)) & (~0UL >> (64 - 1 - (31)))))) & (type) : 0
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
                                         ^
   include/linux/compiler.h:493:4: note: in definition of macro '__compiletime_assert'
       prefix ## suffix();    \
       ^~~~~~
   include/linux/compiler.h:510:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
     ^~~~~~~~~~~~~~~~
>> include/linux/bitfield.h:28:3: note: in expansion of macro 'BUILD_BUG_ON'
      BUILD_BUG_ON(!(_mask) || (hi && !is_power_of_2_u64(hi))); \
      ^~~~~~~~~~~~
>> include/linux/bitfield.h:36:3: note: in expansion of macro '_BF_FIELD_CHECK'
      _BF_FIELD_CHECK(_mask, _val);   \
      ^~~~~~~~~~~~~~~
..

vim +/__compiletime_assert_111 +510 include/linux/compiler.h

9a8ab1c3 Daniel Santos  2013-02-21  492  		if (__cond)						\
9a8ab1c3 Daniel Santos  2013-02-21  493  			prefix ## suffix();				\
9a8ab1c3 Daniel Santos  2013-02-21  494  		__compiletime_error_fallback(__cond);			\
9a8ab1c3 Daniel Santos  2013-02-21  495  	} while (0)
9a8ab1c3 Daniel Santos  2013-02-21  496  
9a8ab1c3 Daniel Santos  2013-02-21  497  #define _compiletime_assert(condition, msg, prefix, suffix) \
9a8ab1c3 Daniel Santos  2013-02-21 @498  	__compiletime_assert(condition, msg, prefix, suffix)
9a8ab1c3 Daniel Santos  2013-02-21  499  
9a8ab1c3 Daniel Santos  2013-02-21  500  /**
9a8ab1c3 Daniel Santos  2013-02-21  501   * compiletime_assert - break build and emit msg if condition is false
9a8ab1c3 Daniel Santos  2013-02-21  502   * @condition: a compile-time constant condition to check
9a8ab1c3 Daniel Santos  2013-02-21  503   * @msg:       a message to emit if condition is false
9a8ab1c3 Daniel Santos  2013-02-21  504   *
9a8ab1c3 Daniel Santos  2013-02-21  505   * In tradition of POSIX assert, this macro will break the build if the
9a8ab1c3 Daniel Santos  2013-02-21  506   * supplied condition is *false*, emitting the supplied error message if the
9a8ab1c3 Daniel Santos  2013-02-21  507   * compiler has support to do so.
9a8ab1c3 Daniel Santos  2013-02-21  508   */
9a8ab1c3 Daniel Santos  2013-02-21  509  #define compiletime_assert(condition, msg) \
9a8ab1c3 Daniel Santos  2013-02-21 @510  	_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
9a8ab1c3 Daniel Santos  2013-02-21  511  
47933ad4 Peter Zijlstra 2013-11-06  512  #define compiletime_assert_atomic_type(t)				\
47933ad4 Peter Zijlstra 2013-11-06  513  	compiletime_assert(__native_word(t),				\

:::::: The code at line 510 was first introduced by commit
:::::: 9a8ab1c39970a4938a72d94e6fd13be88a797590 bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG

:::::: TO: Daniel Santos <daniel.santos@pobox.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/net/wireless/mediatek/mt7601u/dma.h b/drivers/net/wireless/mediatek/mt7601u/dma.h
index 978e8a90b87f..166ac71905d2 100644
--- a/drivers/net/wireless/mediatek/mt7601u/dma.h
+++ b/drivers/net/wireless/mediatek/mt7601u/dma.h
@@ -18,8 +18,6 @@ 
 #include <asm/unaligned.h>
 #include <linux/skbuff.h>
 
-#include "util.h"
-
 #define MT_DMA_HDR_LEN			4
 #define MT_RX_INFO_LEN			4
 #define MT_FCE_INFO_LEN			4
diff --git a/drivers/net/wireless/mediatek/mt7601u/mt7601u.h b/drivers/net/wireless/mediatek/mt7601u/mt7601u.h
index 428bd2f10b7b..5ef62e02ce66 100644
--- a/drivers/net/wireless/mediatek/mt7601u/mt7601u.h
+++ b/drivers/net/wireless/mediatek/mt7601u/mt7601u.h
@@ -15,6 +15,7 @@ 
 #ifndef MT7601U_H
 #define MT7601U_H
 
+#include <linux/bitfield.h>
 #include <linux/kernel.h>
 #include <linux/device.h>
 #include <linux/mutex.h>
@@ -24,7 +25,6 @@ 
 #include <linux/debugfs.h>
 
 #include "regs.h"
-#include "util.h"
 
 #define MT_CALIBRATE_INTERVAL		(4 * HZ)
 
@@ -282,6 +282,9 @@  struct mt7601u_rxwi;
 
 extern const struct ieee80211_ops mt7601u_ops;
 
+#define MT76_SET	FIELD_PUT
+#define MT76_GET	FIELD_GET
+
 void mt7601u_init_debugfs(struct mt7601u_dev *dev);
 
 u32 mt7601u_rr(struct mt7601u_dev *dev, u32 offset);
diff --git a/drivers/net/wireless/mediatek/mt7601u/util.h b/drivers/net/wireless/mediatek/mt7601u/util.h
deleted file mode 100644
index b89140bf1210..000000000000
--- a/drivers/net/wireless/mediatek/mt7601u/util.h
+++ /dev/null
@@ -1,77 +0,0 @@ 
-/*
- * Copyright (C) 2014 Felix Fietkau <nbd@openwrt.org>
- * Copyright (C) 2004 - 2009 Ivo van Doorn <IvDoorn@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef __MT76_UTIL_H
-#define __MT76_UTIL_H
-
-/*
- * Power of two check, this will check
- * if the mask that has been given contains and contiguous set of bits.
- * Note that we cannot use the is_power_of_2() function since this
- * check must be done at compile-time.
- */
-#define is_power_of_two(x)	( !((x) & ((x)-1)) )
-#define low_bit_mask(x)		( ((x)-1) & ~(x) )
-#define is_valid_mask(x)	is_power_of_two(1LU + (x) + low_bit_mask(x))
-
-/*
- * Macros to find first set bit in a variable.
- * These macros behave the same as the __ffs() functions but
- * the most important difference that this is done during
- * compile-time rather then run-time.
- */
-#define compile_ffs2(__x) \
-	__builtin_choose_expr(((__x) & 0x1), 0, 1)
-
-#define compile_ffs4(__x) \
-	__builtin_choose_expr(((__x) & 0x3), \
-			      (compile_ffs2((__x))), \
-			      (compile_ffs2((__x) >> 2) + 2))
-
-#define compile_ffs8(__x) \
-	__builtin_choose_expr(((__x) & 0xf), \
-			      (compile_ffs4((__x))), \
-			      (compile_ffs4((__x) >> 4) + 4))
-
-#define compile_ffs16(__x) \
-	__builtin_choose_expr(((__x) & 0xff), \
-			      (compile_ffs8((__x))), \
-			      (compile_ffs8((__x) >> 8) + 8))
-
-#define compile_ffs32(__x) \
-	__builtin_choose_expr(((__x) & 0xffff), \
-			      (compile_ffs16((__x))), \
-			      (compile_ffs16((__x) >> 16) + 16))
-
-/*
- * This macro will check the requirements for the FIELD{8,16,32} macros
- * The mask should be a constant non-zero contiguous set of bits which
- * does not exceed the given typelimit.
- */
-#define FIELD_CHECK(__mask) \
-	BUILD_BUG_ON(!(__mask) || !is_valid_mask(__mask))
-
-#define MT76_SET(_mask, _val)						\
-	({								\
-		FIELD_CHECK(_mask);					\
-		(((u32) (_val)) << compile_ffs32(_mask)) & _mask;	\
-	})
-
-#define MT76_GET(_mask, _val)						\
-	({								\
-		FIELD_CHECK(_mask);					\
-		(u32) (((_val) & _mask) >> compile_ffs32(_mask));	\
-	})
-
-#endif