Merge branch 'viper-for-rmk' of git://www.misterjones.org/linux-2.6-arm
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Tue, 7 Oct 2008 18:08:32 +0000 (19:08 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 7 Oct 2008 18:08:32 +0000 (19:08 +0100)
Merge branch 'pxa-viper' into pxa-machines

Conflicts:

arch/arm/mach-pxa/Makefile
drivers/pcmcia/Kconfig
drivers/pcmcia/Makefile

1  2 
arch/arm/mach-pxa/Kconfig
arch/arm/mach-pxa/Makefile
drivers/net/smc91x.c
drivers/pcmcia/Kconfig
drivers/pcmcia/Makefile

@@@ -38,21 -38,20 +38,24 @@@ config ARCH_LUBBOC
        bool "Intel DBPXA250 Development Platform"
        select PXA25x
        select SA1111
+       select PXA_HAVE_BOARD_IRQS
  
  config MACH_LOGICPD_PXA270
        bool "LogicPD PXA270 Card Engine Development Platform"
        select PXA27x
        select HAVE_PWM
+       select PXA_HAVE_BOARD_IRQS
  
  config MACH_MAINSTONE
        bool "Intel HCDDBBVA0 Development Platform"
        select PXA27x
        select HAVE_PWM
+       select PXA_HAVE_BOARD_IRQS
  
 +config MACH_MP900C
 +      bool "Nec Mobilepro 900/c"
 +      select PXA25x
 +
  config ARCH_PXA_IDP
        bool "Accelent Xscale IDP"
        select PXA25x
@@@ -118,10 -117,21 +121,21 @@@ config MACH_TOS
        bool "Enable Sharp SL-6000x (Tosa) Support"
        depends on PXA_SHARPSL
        select PXA25x
+       select PXA_HAVE_BOARD_IRQS
+ config ARCH_VIPER
+       bool "Arcom/Eurotech VIPER SBC"
+       select PXA25x
+       select ISA
+       select I2C_GPIO
+       select HAVE_PWM
+       select PXA_HAVE_BOARD_IRQS
+       select PXA_HAVE_ISA_IRQS
  
  config ARCH_PXA_ESERIES
        bool "PXA based Toshiba e-series PDAs"
        select PXA25x
+       select PXA_HAVE_BOARD_IRQS
  
  config MACH_E330
        bool "Toshiba e330"
@@@ -174,41 -184,13 +188,41 @@@ config MACH_E80
          Say Y here if you intend to run this kernel on a Toshiba
          e800 family PDA.
  
 +config TRIZEPS_PXA
 +      bool "PXA based Keith und Koep Trizeps DIMM-Modules"
 +
  config MACH_TRIZEPS4
        bool "Keith und Koep Trizeps4 DIMM-Module"
 +      depends on TRIZEPS_PXA
 +      select TRIZEPS_PCMCIA
        select PXA27x
  
 -config MACH_TRIZEPS4_CONXS
 +config MACH_TRIZEPS4WL
 +      bool "Keith und Koep Trizeps4-WL DIMM-Module"
 +      depends on TRIZEPS_PXA
 +      select TRIZEPS_PCMCIA
 +      select PXA27x
 +      select PXA_SSP
 +
 +choice
 +      prompt "Select base board for Trizeps module"
 +      depends on TRIZEPS_PXA
 +
 +config MACH_TRIZEPS_CONXS
        bool "ConXS Eval Board"
 -      depends on MACH_TRIZEPS4
 +
 +config MACH_TRIZEPS_UCONXS
 +      bool "uConXS Eval Board"
 +
 +config MACH_TRIZEPS_ANY
 +      bool "another Board"
 +
 +endchoice
 +
 +config TRIZEPS_PCMCIA
 +      bool
 +      help
 +        Enable PCMCIA support for Trizeps modules
  
  config MACH_EM_X270
        bool "CompuLab EM-x270 platform"
@@@ -221,7 -203,6 +235,7 @@@ config MACH_COLIBR
  config MACH_ZYLONITE
        bool "PXA3xx Development Platform (aka Zylonite)"
        select PXA3xx
 +      select PXA_SSP
        select HAVE_PWM
  
  config MACH_LITTLETON
@@@ -240,39 -221,22 +254,41 @@@ config MACH_SAA
        select PXA930
  
  config MACH_ARMCORE
 -      bool "CompuLab CM-X270 modules"
 +      bool "CompuLab CM-X255/CM-X270 modules"
        select PXA27x
        select IWMMXT
 +      select PXA25x
 +      select PXA_SSP
 +
 +config MACH_CM_X300
 +      bool "CompuLab CM-X300 modules"
 +      select PXA3xx
 +      select CPU_PXA300
  
  config MACH_MAGICIAN
        bool "Enable HTC Magician Support"
        select PXA27x
        select IWMMXT
+       select PXA_HAVE_BOARD_IRQS
  
 +config MACH_MIOA701
 +      bool "Mitac Mio A701 Support"
 +      select PXA27x
 +      select IWMMXT
 +      select LEDS_GPIO
 +      select HAVE_PWM
 +      select GPIO_SYSFS
 +      help
 +        Say Y here if you intend to run this kernel on a
 +        MIO A701. Currently there is only basic support
 +        for this PDA.
 +
  config MACH_PCM027
        bool "Phytec phyCORE-PXA270 CPU module (PCM-027)"
        select PXA27x
        select IWMMXT
        select PXA_SSP
+       select PXA_HAVE_BOARD_IRQS
  
  config ARCH_PXA_PALM
        bool "PXA based Palm PDAs"
@@@ -288,16 -252,6 +304,16 @@@ config MACH_PALMT
          Say Y here if you intend to run this kernel on a Palm T|X
          handheld computer.
  
 +config MACH_PALMZ72
 +      bool "Palm Zire 72"
 +      default y
 +      depends on ARCH_PXA_PALM
 +      select PXA27x
 +      select IWMMXT
 +      help
 +        Say Y here if you intend to run this kernel on Palm Zire 72
 +        handheld computer.
 +
  config MACH_PCM990_BASEBOARD
        bool "PHYTEC PCM-990 development board"
        select HAVE_PWM
@@@ -318,9 -272,6 +334,9 @@@ config PCM990_DISPLAY_NON
  
  endchoice
  
 +config MACH_AM200EPD
 +      depends on MACH_GUMSTIX_F
 +      bool "Enable AM200EPD board support"
  
  config PXA_EZX
        bool "Motorola EZX Platform"
@@@ -408,4 -359,10 +424,10 @@@ config TOSA_B
          This is a simple driver that is able to control
          the state of built in bluetooth chip on tosa.
  
+ config PXA_HAVE_BOARD_IRQS
+       bool
+ config PXA_HAVE_ISA_IRQS
+       bool
  endif
@@@ -22,30 -22,28 +22,33 @@@ obj-$(CONFIG_CPU_PXA930)   += pxa930.
  
  # Specific board support
  obj-$(CONFIG_ARCH_GUMSTIX)    += gumstix.o
 +obj-$(CONFIG_MACH_AM200EPD)   += am200epd.o
  obj-$(CONFIG_ARCH_LUBBOCK)    += lubbock.o
  obj-$(CONFIG_MACH_LOGICPD_PXA270) += lpd270.o
  obj-$(CONFIG_MACH_MAINSTONE)  += mainstone.o
 +obj-$(CONFIG_MACH_MP900C)     += mp900.o
  obj-$(CONFIG_ARCH_PXA_IDP)    += idp.o
  obj-$(CONFIG_MACH_TRIZEPS4)   += trizeps4.o
  obj-$(CONFIG_MACH_COLIBRI)    += colibri.o
 -obj-$(CONFIG_PXA_SHARP_C7xx)  += corgi.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o corgi_pm.o
 -obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o corgi_ssp.o corgi_lcd.o sharpsl_pm.o spitz_pm.o
 -obj-$(CONFIG_MACH_AKITA)      += akita-ioexp.o
 -obj-$(CONFIG_MACH_POODLE)     += poodle.o corgi_ssp.o
 +obj-$(CONFIG_PXA_SHARP_C7xx)  += corgi.o sharpsl_pm.o corgi_pm.o
 +obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o
 +obj-$(CONFIG_MACH_POODLE)     += poodle.o
  obj-$(CONFIG_MACH_PCM027)     += pcm027.o
  obj-$(CONFIG_MACH_PCM990_BASEBOARD)   += pcm990-baseboard.o
  obj-$(CONFIG_MACH_TOSA)               += tosa.o
  obj-$(CONFIG_MACH_EM_X270)    += em-x270.o
  obj-$(CONFIG_MACH_MAGICIAN)   += magician.o
 -obj-$(CONFIG_ARCH_PXA_ESERIES)        += eseries.o eseries_udc.o
 -obj-$(CONFIG_MACH_E740)               += e740_lcd.o
 -obj-$(CONFIG_MACH_E750)               += e750_lcd.o
 -obj-$(CONFIG_MACH_E400)               += e400_lcd.o
 -obj-$(CONFIG_MACH_E800)               += e800_lcd.o
 +obj-$(CONFIG_MACH_MIOA701)    += mioa701.o mioa701_bootresume.o
- obj-$(CONFIG_ARCH_PXA_ESERIES)        += eseries.o eseries_udc.o
- obj-$(CONFIG_MACH_E740)               += e740_lcd.o
- obj-$(CONFIG_MACH_E750)               += e750_lcd.o
- obj-$(CONFIG_MACH_E400)               += e400_lcd.o
- obj-$(CONFIG_MACH_E800)               += e800_lcd.o
++obj-$(CONFIG_ARCH_PXA_ESERIES)        += eseries.o
++obj-$(CONFIG_MACH_E330)               += e330.o
++obj-$(CONFIG_MACH_E350)               += e350.o
++obj-$(CONFIG_MACH_E740)               += e740.o
++obj-$(CONFIG_MACH_E750)               += e750.o
++obj-$(CONFIG_MACH_E400)               += e400.o
++obj-$(CONFIG_MACH_E800)               += e800.o
  obj-$(CONFIG_MACH_PALMTX)     += palmtx.o
 +obj-$(CONFIG_MACH_PALMZ72)    += palmz72.o
+ obj-$(CONFIG_ARCH_VIPER)      += viper.o
  
  ifeq ($(CONFIG_MACH_ZYLONITE),y)
    obj-y                               += zylonite.o
@@@ -56,8 -54,7 +59,8 @@@ obj-$(CONFIG_MACH_LITTLETON)  += littlet
  obj-$(CONFIG_MACH_TAVOREVB)   += tavorevb.o
  obj-$(CONFIG_MACH_SAAR)               += saar.o
  
 -obj-$(CONFIG_MACH_ARMCORE)      += cm-x270.o
 +obj-$(CONFIG_MACH_ARMCORE)      += cm-x2xx.o cm-x255.o cm-x270.o
 +obj-$(CONFIG_MACH_CM_X300)      += cm-x300.o
  obj-$(CONFIG_PXA_EZX)           += ezx.o
  
  # Support for blinky lights
@@@ -65,11 -62,12 +68,11 @@@ led-y := leds.
  led-$(CONFIG_ARCH_LUBBOCK)    += leds-lubbock.o
  led-$(CONFIG_MACH_MAINSTONE)  += leds-mainstone.o
  led-$(CONFIG_ARCH_PXA_IDP)    += leds-idp.o
 -led-$(CONFIG_MACH_TRIZEPS4)   += leds-trizeps4.o
  
  obj-$(CONFIG_LEDS)            += $(led-y)
  
  ifeq ($(CONFIG_PCI),y)
 -obj-$(CONFIG_MACH_ARMCORE) += cm-x270-pci.o
 +obj-$(CONFIG_MACH_ARMCORE) += cm-x2xx-pci.o
  endif
  
  obj-$(CONFIG_TOSA_BT)         += tosa-bt.o
diff --combined drivers/net/smc91x.c
@@@ -1520,7 -1520,9 +1520,9 @@@ smc_open(struct net_device *dev
        /* Setup the default Register Modes */
        lp->tcr_cur_mode = TCR_DEFAULT;
        lp->rcr_cur_mode = RCR_DEFAULT;
-       lp->rpc_cur_mode = RPC_DEFAULT;
+       lp->rpc_cur_mode = RPC_DEFAULT |
+                               lp->cfg.leda << RPC_LSXA_SHFT |
+                               lp->cfg.ledb << RPC_LSXB_SHFT;
  
        /*
         * If we are not using a MII interface, we need to
@@@ -2157,6 -2159,11 +2159,11 @@@ static int smc_drv_probe(struct platfor
                lp->cfg.flags |= (nowait) ? SMC91X_NOWAIT : 0;
        }
  
+       if (!lp->cfg.leda && !lp->cfg.ledb) {
+               lp->cfg.leda = RPC_LSA_DEFAULT;
+               lp->cfg.ledb = RPC_LSB_DEFAULT;
+       }
        ndev->dma = (unsigned char)-1;
  
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
@@@ -2255,7 -2262,7 +2262,7 @@@ static int smc_drv_remove(struct platfo
  
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-regs");
        if (!res)
 -              platform_get_resource(pdev, IORESOURCE_MEM, 0);
 +              res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        release_mem_region(res->start, SMC_IO_EXTENT);
  
        free_netdev(ndev);
diff --combined drivers/pcmcia/Kconfig
@@@ -220,7 -220,7 +220,8 @@@ config PCMCIA_PXA2X
        tristate "PXA2xx support"
        depends on ARM && ARCH_PXA && PCMCIA
        depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
-                   || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA)
 -                  || MACH_ARMCORE || ARCH_PXA_PALM || ARCH_VIPER)
++                  || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
++                  || ARCH_VIPER)
        help
          Say Y here to include support for the PXA2xx PCMCIA controller
  
diff --combined drivers/pcmcia/Makefile
@@@ -71,8 -71,7 +71,8 @@@ sa1100_cs-$(CONFIG_SA1100_SIMPAD)             += s
  pxa2xx_cs-$(CONFIG_ARCH_LUBBOCK)              += pxa2xx_lubbock.o sa1111_generic.o
  pxa2xx_cs-$(CONFIG_MACH_MAINSTONE)            += pxa2xx_mainstone.o
  pxa2xx_cs-$(CONFIG_PXA_SHARPSL)                       += pxa2xx_sharpsl.o
 -pxa2xx_cs-$(CONFIG_MACH_ARMCORE)              += pxa2xx_cm_x270.o
 +pxa2xx_cs-$(CONFIG_MACH_ARMCORE)              += pxa2xx_cm_x2xx.o pxa2xx_cm_x255.o pxa2xx_cm_x270.o
+ pxa2xx_cs-$(CONFIG_ARCH_VIPER)                        += pxa2xx_viper.o
 -pxa2xx_cs-$(CONFIG_MACH_PALMTX)               += pxa2xx_palmtx.o
 -
 +pxa2xx_cs-$(CONFIG_TRIZEPS_PCMCIA)            += pxa2xx_trizeps.o
 +pxa2xx_cs-$(CONFIG_MACH_PALMTX)                       += pxa2xx_palmtx.o
 +pxa2xx_cs-$(CONFIG_MACH_PALMLD)                       += pxa2xx_palmld.o