Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
authorDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 26 Feb 2010 19:04:15 +0000 (19:04 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 26 Feb 2010 19:06:24 +0000 (19:06 +0000)
The SmartMedia FTL code depends on new kfifo bits from 2.6.33

1  2 
drivers/mtd/nand/Kconfig
drivers/mtd/nand/Makefile
lib/idr.c

diff --combined drivers/mtd/nand/Kconfig
@@@ -25,10 -25,6 +25,10 @@@ config MTD_NAND_ECC_SM
          Software ECC according to the Smart Media Specification.
          The original Linux implementation had byte 0 and 1 swapped.
  
 +config MTD_SM_COMMON
 +      tristate
 +      default n
 +
  config MTD_NAND_MUSEUM_IDS
        bool "Enable chip ids for obsolete ancient NAND devices"
        depends on MTD_NAND
@@@ -99,6 -95,12 +99,6 @@@ config MTD_NAND_OMAP_PREFETCH_DM
         or in DMA interrupt mode.
         Say y for DMA mode or MPU mode will be used
  
 -config MTD_NAND_TS7250
 -      tristate "NAND Flash device on TS-7250 board"
 -      depends on MACH_TS72XX
 -      help
 -        Support for NAND flash on Technologic Systems TS-7250 platform.
 -
  config MTD_NAND_IDS
        tristate
  
@@@ -289,14 -291,6 +289,6 @@@ config MTD_NAND_SHARPS
        tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
        depends on ARCH_PXA
  
- config MTD_NAND_BASLER_EXCITE
-       tristate  "Support for NAND Flash on Basler eXcite"
-       depends on BASLER_EXCITE
-       help
-           This enables the driver for the NAND flash device found on the
-           Basler eXcite Smart Camera. If built as a module, the driver
-           will be named excite_nandflash.
  config MTD_NAND_CAFE
        tristate "NAND support for OLPC CAFÉ chip"
        depends on PCI
@@@ -448,13 -442,6 +440,13 @@@ config MTD_NAND_FSL_UP
          Enables support for NAND Flash chips wired onto Freescale PowerPC
          processor localbus with User-Programmable Machine support.
  
 +config MTD_NAND_MPC5121_NFC
 +      tristate "MPC5121 built-in NAND Flash Controller support"
 +      depends on PPC_MPC512x
 +      help
 +        This enables the driver for the NAND flash controller on the
 +        MPC5121 SoC.
 +
  config MTD_NAND_MXC
        tristate "MXC NAND support"
        depends on ARCH_MX2 || ARCH_MX3
@@@ -494,11 -481,11 +486,11 @@@ config MTD_NAND_SOCRATE
        help
          Enables support for NAND Flash chips wired onto Socrates board.
  
 -config MTD_NAND_W90P910
 -      tristate "Support for NAND on w90p910 evaluation board."
 +config MTD_NAND_NUC900
 +      tristate "Support for NAND on Nuvoton NUC9xx/w90p910 evaluation boards."
        depends on ARCH_W90X900 && MTD_PARTITIONS
        help
          This enables the driver for the NAND Flash on evaluation board based
 -        on w90p910.
 +        on w90p910 / NUC9xx.
  
  endif # MTD_NAND
@@@ -4,7 -4,6 +4,7 @@@
  
  obj-$(CONFIG_MTD_NAND)                        += nand.o nand_ecc.o
  obj-$(CONFIG_MTD_NAND_IDS)            += nand_ids.o
 +obj-$(CONFIG_MTD_SM_COMMON)           += sm_common.o
  
  obj-$(CONFIG_MTD_NAND_CAFE)           += cafe_nand.o
  obj-$(CONFIG_MTD_NAND_SPIA)           += spia.o
@@@ -20,6 -19,7 +20,6 @@@ obj-$(CONFIG_MTD_NAND_DISKONCHIP)     += di
  obj-$(CONFIG_MTD_NAND_H1900)          += h1910.o
  obj-$(CONFIG_MTD_NAND_RTC_FROM4)      += rtc_from4.o
  obj-$(CONFIG_MTD_NAND_SHARPSL)                += sharpsl.o
 -obj-$(CONFIG_MTD_NAND_TS7250)         += ts7250.o
  obj-$(CONFIG_MTD_NAND_NANDSIM)                += nandsim.o
  obj-$(CONFIG_MTD_NAND_CS553X)         += cs553x_nand.o
  obj-$(CONFIG_MTD_NAND_NDFC)           += ndfc.o
@@@ -27,7 -27,6 +27,6 @@@ obj-$(CONFIG_MTD_NAND_ATMEL)          += atmel_
  obj-$(CONFIG_MTD_NAND_GPIO)           += gpio.o
  obj-$(CONFIG_MTD_NAND_OMAP2)          += omap2.o
  obj-$(CONFIG_MTD_NAND_CM_X270)                += cmx270_nand.o
- obj-$(CONFIG_MTD_NAND_BASLER_EXCITE)  += excite_nandflash.o
  obj-$(CONFIG_MTD_NAND_PXA3xx)         += pxa3xx_nand.o
  obj-$(CONFIG_MTD_NAND_TMIO)           += tmio_nand.o
  obj-$(CONFIG_MTD_NAND_PLATFORM)               += plat_nand.o
@@@ -40,9 -39,8 +39,9 @@@ obj-$(CONFIG_MTD_NAND_SH_FLCTL)               += sh_
  obj-$(CONFIG_MTD_NAND_MXC)            += mxc_nand.o
  obj-$(CONFIG_MTD_NAND_SOCRATES)               += socrates_nand.o
  obj-$(CONFIG_MTD_NAND_TXX9NDFMC)      += txx9ndfmc.o
 -obj-$(CONFIG_MTD_NAND_W90P910)                += w90p910_nand.o
 +obj-$(CONFIG_MTD_NAND_NUC900)         += nuc900_nand.o
  obj-$(CONFIG_MTD_NAND_NOMADIK)                += nomadik_nand.o
  obj-$(CONFIG_MTD_NAND_BCM_UMI)                += bcm_umi_nand.o nand_bcm_umi.o
 +obj-$(CONFIG_MTD_NAND_MPC5121_NFC)    += mpc5121_nfc.o
  
  nand-objs := nand_base.o nand_bbt.o
diff --combined lib/idr.c
+++ b/lib/idr.c
@@@ -156,10 -156,12 +156,12 @@@ static int sub_alloc(struct idr *idp, i
                        id = (id | ((1 << (IDR_BITS * l)) - 1)) + 1;
  
                        /* if already at the top layer, we need to grow */
-                       if (!(p = pa[l])) {
+                       if (id >= 1 << (idp->layers * IDR_BITS)) {
                                *starting_id = id;
                                return IDR_NEED_TO_GROW;
                        }
+                       p = pa[l];
+                       BUG_ON(!p);
  
                        /* If we need to go up one layer, continue the
                         * loop; otherwise, restart from the top.
@@@ -621,7 -623,7 +623,7 @@@ void *idr_get_next(struct idr *idp, in
        }
        return NULL;
  }
 -
 +EXPORT_SYMBOL(idr_get_next);
  
  
  /**