linux/arch/arm/mach-msm
Arnd Bergmann b70661c708 net: smc91x: use run-time configuration on all ARM machines
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: Arnd 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: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-02-28 12:56:56 -05:00
..
include/mach ARM: drop <mach/timex.h> for !ARCH_MULTIPLATFORM, too 2013-12-20 17:17:16 +01:00
board-halibut.c net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
board-msm7x30.c ARM: msm: remove reference to MSM_SERIAL_DEBUGGER 2014-08-24 20:09:36 +02:00
board-qsd8x50.c net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
board-sapphire.c ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
board-trout-gpio.c ARM: msm: Update the references to DEBUG_MSM_UARTx 2014-08-24 20:09:36 +02:00
board-trout-mmc.c ARM: msm: move platform_data definitions 2012-09-14 11:17:35 +02:00
board-trout-panel.c ARM: msm: Prepare clk_get() users in mach-msm for clock-pcom driver 2013-06-24 13:06:43 -07:00
board-trout.c ARM: msm: Update the references to DEBUG_MSM_UARTx 2014-08-24 20:09:36 +02:00
board-trout.h ARM: msm: Silence readb/writeb warnings due to missing IOMEM() 2014-05-27 11:42:59 -07:00
clock-pcom.c ARM: mach-msm: drop owner assignment from platform_drivers 2014-10-20 16:20:03 +02:00
clock-pcom.h ARM: msm: Migrate to common clock framework 2013-06-24 13:08:05 -07:00
clock.c ARM: msm: Migrate to common clock framework 2013-06-24 13:08:05 -07:00
clock.h ARM: msm: Migrate to common clock framework 2013-06-24 13:08:05 -07:00
common.h ARM: qcom: Re-organize platsmp to make it extensible 2014-02-11 15:00:37 -06:00
devices-msm7x00.c msm_serial: Switch clock consumer strings and simplify code 2013-08-27 16:22:58 -07:00
devices-msm7x30.c ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
devices-qsd8x50.c ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
devices.h ARM: msm: Make proc_comm clock control into a platform driver 2013-06-24 13:07:53 -07:00
dma.c ARM: msm: export legacy DMA interfaces 2014-03-21 18:23:32 +01:00
gpiomux-8x50.c msm: 8x50: Add initial support for SDCC 2011-01-21 16:58:02 -08:00
gpiomux-v1.h
gpiomux.c ARM: msm: Remove gpiomux-v2 and re-organize MSM_GPIOMUX configs 2013-06-12 13:52:51 -07:00
gpiomux.h ARM: msm: Consolidate gpiomux for older architectures 2013-07-26 14:55:38 -07:00
io.c ARM: msm: Update the references to DEBUG_MSM_UARTx 2014-08-24 20:09:36 +02:00
irq-vic.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
irq.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-08-06 21:03:53 -07:00
last_radio_log.c proc: Use PDE attribute setting accessor functions 2013-05-07 15:01:11 -04:00
Makefile ARM: qcom: Split Qualcomm support into legacy and multiplatform 2014-02-06 16:20:26 -06:00
Makefile.boot ARM: dtb: move all dtb targets to common Makefile 2012-09-20 22:58:17 -07:00
proc_comm.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
proc_comm.h ARM: msm: proc_comm_boot_wait should not be __init 2013-02-11 17:42:28 -08:00
sirc.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
smd_debug.c ARM: msm: use machine specific hook for late init 2012-05-08 20:36:17 +08:00
smd_private.h
smd.c ARM: mach-msm: drop owner assignment from platform_drivers 2014-10-20 16:20:03 +02:00
vreg.c ARM: msm: vreg is a module and so needs module.h 2012-01-06 11:07:57 -08:00