Skip to content
  • Larry Finger's avatar
    p54: Fix sparse warnings · 1f1c0e33
    Larry Finger authored
    
    
    The command
    
    make C=2 CF="-D__CHECK_ENDIAN__" drivers/net/wireless/p54/
    
    generates the following warnings:
    
    .../p54common.c:152:38: warning: incorrect type in argument 1 (different base types)
    .../p54common.c:152:38:    expected restricted __be32 const [usertype] *p
    .../p54common.c:152:38:    got unsigned int *<noident>
    .../p54common.c:184:15: warning: restricted __le32 degrades to integer
    .../p54common.c:185:29: warning: cast to restricted __le16
    .../p54common.c:309:11: warning: symbol 'p54_rf_chips' was not declared.
    		        Should it be static?
    .../p54common.c:313:5: warning: symbol 'p54_parse_eeprom' was not declared.
    		       Should it be static?
    .../p54common.c:620:43: warning: incorrect type in argument 3 (different base types)
    .../p54common.c:620:43:    expected unsigned long [unsigned] [usertype] len
    .../p54common.c:620:43:    got restricted __le16 [usertype] len
    .../p54common.c:780:41: warning: restricted __le16 degrades to integer
    .../p54common.c:781:32: warning: restricted __le16 degrades to integer
    .../p54common.c:1250:28: warning: incorrect type in argument 2 (different base types)
    .../p54common.c:1250:28:    expected unsigned short [unsigned] [usertype] filter_type
    .../p54common.c:1250:28:    got restricted __le16 [usertype] filter_type
    .../p54common.c:1252:28: warning: incorrect type in argument 2 (different base types)
    .../p54common.c:1252:28:    expected unsigned short [unsigned] [usertype] filter_type
    .../p54common.c:1252:28:    got restricted __le16 [usertype] filter_type
    .../p54common.c:1257:42: warning: incorrect type in argument 2 (different base types)
    .../p54common.c:1257:42:    expected unsigned short [unsigned] [usertype] filter_type
    .../p54common.c:1257:42:    got restricted __le16
    .../p54common.c:1260:42: warning: incorrect type in argument 2 (different base types)
    .../p54common.c:1260:42:    expected unsigned short [unsigned] [usertype] filter_type
    .../p54common.c:1260:42:    got restricted __le16
    .../p54usb.c:228:10: warning: restricted __le32 degrades to integer
    .../p54usb.c:228:23: warning: restricted __le32 degrades to integer
    .../p54usb.c:228:7: warning: incorrect type in assignment (different base types)
    .../p54usb.c:228:7:    expected restricted __le32 [assigned] [usertype] chk
    .../p54usb.c:228:7:    got unsigned int
    .../p54usb.c:221:8: warning: symbol 'p54u_lm87_chksum' was not declared.
    		    Should it be static?
    
    All of the above have been fixed. One question, however, remains: In struct
    bootrec, the array "data" is treated in many places as native CPU order, but
    it may be little-endian everywhere. As far as I can tell, this driver has only
    been used with little-endian hardware.
    
    Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    1f1c0e33