• Arnd Bergmann's avatar
    net: smc91x: use run-time configuration on all ARM machines · b70661c7
    Arnd Bergmann authored
    The smc91x driver traditionally gets configured at compile-time
    for whichever hardware it runs on. This no longer works on
    ARM as we continue to move to building all-in-one kernels.
    
    Most ARM configurations with this driver already use run-time
    configuration through DT or through platform_data, but a
    few have not been converted yet.
    
    I've checked all ARM boards that use this driver in their
    legacy board files, and converted the ones that were using
    compile-time configuration in smc91x.h to behave like the
    other ones and provide the interrupt polarity along with
    the MMIO configuration (width, stride) at platform device
    creation time.
    
    In particular, these combinations were previously selectable
    in Kconfig but in fact broken:
    
    - sa1100 assabet plus pleb
    - msm combined with any other armv6/v7 platform
    - pxa-idp combined with any non-DMA pxa variant
    - LogicPD PXA270 combined with any other pxa
    - nomadik combined with any other armv4/v5 platform,
      e.g. versatile.
    
    None of these seem critical enough to warrant a backport
    to stable, but it would be nice to clean this up for good.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    ----
    I would like the patch to get merged through netdev, after
    Robert and/or Linus have verified it on at least some hardware.
    
    There are a few other non-ARM platforms using this driver,
    I could do the same patch for those if we want to take
    it further.
    
     arch/arm/mach-msm/board-halibut.c    |   8 ++++-
     arch/arm/mach-msm/board-qsd8x50.c    |   8 ++++-
     arch/arm/mach-pxa/idp.c              |   5 +++
     arch/arm/mach-pxa/lpd270.c           |   8 ++++-
     arch/arm/mach-realview/core.c        |   7 ++++
     arch/arm/mach-realview/realview_eb.c |   2 +-
     arch/arm/mach-sa1100/neponset.c      |   6 ++++
     arch/arm/mach-sa1100/pleb.c          |   7 ++++
     drivers/net/ethernet/smsc/smc91x.c   |   9 +++--
     drivers/net/ethernet/smsc/smc91x.h   | 114 ++----------------------------------------------------------
     10 files changed, 57 insertions(+), 117 deletions(-)
    Tested-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b70661c7
core.c 10.2 KB