linux/arch/arm/mach-pxa
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: pxa: fix broken isa interrupts for zeus and viper 2015-01-27 14:53:07 -08:00
am200epd.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
am300epd.c ARM: pxa: fix compilation problem on AM300EPD board 2014-02-10 10:32:08 -08:00
balloon3.c arch/arm/mach-pxa: replace strict_strto call with kstrto 2014-08-08 15:57:27 -07:00
capc7117.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
clock-pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
clock-pxa3xx.c ARM: pxa: support CKENC in clk_enable 2012-08-16 16:15:44 +08:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
cm-x2xx-pci.c ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
cm-x2xx-pci.h
cm-x2xx.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
cm-x255.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
cm-x270.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
cm-x300.c ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
colibri-evalboard.c ARM: pxa: fix colibri build 2014-03-21 18:26:02 +01:00
colibri-pxa3xx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-pxa270-income.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
colibri-pxa270.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
colibri-pxa300.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
colibri-pxa320.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
corgi_pm.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
corgi.c ARM: pxa: add regulator_has_full_constraints to corgi board file 2014-12-26 18:03:20 +01:00
csb701.c
csb726.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
devices.c arm: pxa: specify PMUs are for XScale CPUs 2015-02-06 00:12:57 -08:00
devices.h ARM: pxa3xx: provide specific platform_devices for all ssp ports 2014-09-19 01:58:43 +08:00
em-x270.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
eseries.c ARM: 8025/1: Get rid of meminfo 2014-06-01 01:17:12 +01:00
ezx.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
generic.c ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-09-09 16:42:25 +02:00
generic.h arm: pxa: move init functions into generic.h 2014-11-19 23:53:14 +01:00
gumstix.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
h5000.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
himalaya.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
hx4700.c hx4700: regulator: declare full constraints 2014-12-26 18:05:32 +01:00
icontrol.c can: mcp251x: Replace power callbacks with regulator API 2013-08-21 09:28:29 +02:00
idp.c net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
irq.c ARM: pxa: Remove unused variables 2013-12-11 17:33:01 -08:00
Kconfig ARM: pxa: arbitrarily set first interrupt number 2014-12-26 18:03:20 +01:00
littleton.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
lpd270.c net: smc91x: use run-time configuration on all ARM machines 2015-02-28 12:56:56 -05:00
lubbock.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
magician.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
mainstone.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
Makefile arm: pxa: add pxa27x device-tree support 2014-11-19 23:53:14 +01:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mfp-pxa2xx.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
mfp-pxa3xx.c
mioa701_bootresume.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mioa701.c ARM: pxa: Add dummy backlight power supply on Mitac Mio A701 2014-02-11 11:33:09 +08:00
mp900.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mxm8x10.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palm27x.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
palmld.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmt5.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmtc.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
palmte2.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
palmtreo.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmtx.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
palmz72.c Input: pxa27x-keypad - use matrix_keymap for matrix keys 2013-06-18 22:56:51 -07:00
pcm027.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
pcm990-baseboard.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
pm.c ARM: pm: move cpu_init() call into core code 2011-06-24 08:48:43 +01:00
poodle.c ARM: pxa: add regulator_has_full_constraints to poodle board file 2014-12-26 18:03:20 +01:00
pxa2xx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pxa3xx-ulpi.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa3xx.c ARM: pxa3xx: provide specific platform_devices for all ssp ports 2014-09-19 01:58:43 +08:00
pxa25x.c ARM: pxa: Move UNCACHED_PHYS_0 mapping from generic.c to pxa2[57]x.c 2014-07-12 09:51:40 -07:00
pxa27x.c arm: pxa: add device-tree irq init for pxa27x 2014-11-19 23:53:14 +01:00
pxa300.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa320.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa930.c ARM: pxa: move PXA_GPIO_TO_IRQ macro 2013-04-11 10:00:05 +08:00
pxa-dt.c arm: pxa: add pxa27x device-tree support 2014-11-19 23:53:14 +01:00
raumfeld.c arm: mach-pxa: Convert pr_warning to pr_warn 2014-11-19 23:53:13 +01:00
reset.c ARM: pxa: prevent PXA270 occasional reboot freezes 2013-12-11 16:35:16 -08:00
saar.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
sharpsl_pm.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
sleep.S ARM: pxa: correct errata number for PXA270 2014-07-04 20:30:42 +08:00
smemc.c ARM: PXA3xx: program the CSMSADRCFG register 2013-01-23 16:56:32 +08:00
spitz_pm.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
spitz.c ARM: pxa: add regulator_has_full_constraints to spitz board file 2014-12-26 18:04:26 +01:00
standby.S ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
stargate2.c misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
tavorevb.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
tosa-bt.c ARM: mach-pxa: drop owner assignment from platform_drivers 2014-10-20 16:20:05 +02:00
tosa.c ARM: pxa: tosa: switch to gpio-charger 2014-11-19 23:53:13 +01:00
trizeps4.c ARM: pxa: remove IRQF_DISABLED 2013-12-11 17:32:41 -08:00
viper.c arch/arm/mach-pxa: replace strict_strto call with kstrto 2014-08-08 15:57:27 -07:00
vpac270.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
xcep.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
z2.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
zeus.c ARM: pxa: zeus: Replace OHCI init/exit functions with a regulator 2014-04-24 13:05:32 -07:00
zylonite_pxa300.c gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
zylonite_pxa320.c
zylonite.c ARM: pxa: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00