• Arnd Bergmann's avatar
    net: smc91x: improve neponset hack · 15added6
    Arnd Bergmann authored
    The smc91x driver tries to support multiple platforms at compile
    time, but they are mutually exclusive at runtime, and not clearly
    defined.
    
    Trying to build for CONFIG_SA1100_ASSABET without CONFIG_ASSABET_NEPONSET
    results in this link error:
    
    drivers/built-in.o: In function `smc_drv_probe':
    :(.text+0x33310c): undefined reference to `neponset_ncr_frob'
    
    since the neponset_ncr_set function is not defined otherwise.
    
    Similarly, building for both CONFIG_SA1100_ASSABET and CONFIG_SA1100_PLEB
    results in a different build error:
    
    smsc/smc91x.c: In function 'smc_drv_probe':
    smsc/smc91x.c:2299:2: error: implicit declaration of function 'neponset_ncr_set' [-Werror=implicit-function-declaration]
      neponset_ncr_set(NCR_ENET_OSC_EN);
      ^
    smsc/smc91x.c:2299:19: error: 'NCR_ENET_OSC_EN' undeclared (first use in this function)
      neponset_ncr_set(NCR_ENET_OSC_EN);
                       ^
    
    This is an attempt to fix the call site responsible for both
    errors, making sure we call the function exactly when the driver
    is actually trying to run on the assabet/neponset machine. With
    this patch, I no longer see randconfig build errors in this file.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    15added6
smc91x.c 63.4 KB