• Arnd Bergmann's avatar
    cxgb4: fix thermal configuration dependencies · e70a57fa
    Arnd Bergmann authored
    With CONFIG_THERMAL=m, we get a build error:
    
    drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c: In function 'cxgb4_thermal_get_trip_type':
    drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c:48:11: error: 'struct adapter' has no member named 'ch_thermal'
    
    Once that is fixed by using IS_ENABLED() checks, we get a link error
    against the thermal subsystem when cxgb4 is built-in:
    
    drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.o: In function `cxgb4_thermal_init':
    cxgb4_thermal.c:(.text+0x180): undefined reference to `thermal_zone_device_register'
    drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.o: In function `cxgb4_thermal_remove':
    cxgb4_thermal.c:(.text+0x1e0): undefined reference to `thermal_zone_device_unregister'
    
    Finally, since CONFIG_THERMAL can be =m, the Makefile fails to pick up the
    extra file into built-in.a, and we get another link failure against the
    cxgb4_thermal_init/cxgb4_thermal_remove files, so the Makefile has to
    be adapted as well to work for both CONFIG_THERMAL=y and =m.
    
    Fixes: b1871915 ("cxgb4: Add thermal zone support")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e70a57fa
cxgb4_main.c 162 KB