Re: [PATCHv2 0/7] mtd: Dynamic allocation of device numbers

Artem Bityutskiy
2010-01-28T16:12:21Z

On Tue, 2010-01-12 at 23:08 +0000, Ben Hutchings wrote:
> ﻿This patch series removes the static array of MTD device pointers from
> mtdcore and replaces it with an idr structure for dynamic allocation of
> device numbers. It removes MAX_MTD_DEVICES, which is now meaningless.
>
> Patches 1-4 are unchanged from the first version.
> Patch 5 was completely replaced.
> ﻿Patch 6 is unchanged from the first version.
> Patch 7 is new and raises the limit on block translation devices.
>
> Ben.
>
> Ben Hutchings (7):
> mtd: Introduce and use iteration macro for reading the MTD device
> table
> mtd: Use get_mtd_device_nm() to find named device in get_sb_mtd()
> nandsim: Define CONFIG_NANDSIM_MAX_PARTS and use it instead of
> MAX_MTD_DEVICES
> mtd: Remove unnecessary comparisons with MAX_MTD_DEVICES
> mtdblock: Dynamically allocate cache info structures
> mtd: Replace static array of devices with an idr structure
> mtd: Raise limit on block device minor numbers
>
> drivers/mtd/devices/pmc551.c | 4 +-
> drivers/mtd/mtd_blkdevs.c | 12 ++--
> drivers/mtd/mtdblock.c | 74 +++++++---------
> drivers/mtd/mtdchar.c | 3 -
> drivers/mtd/mtdcore.c | 205 +++++++++++++++++++++--------------------
> drivers/mtd/mtdcore.h | 7 ++-
> drivers/mtd/mtdoops.c | 5 -
> drivers/mtd/mtdsuper.c | 18 ++---
> drivers/mtd/nand/nandsim.c | 7 +-
> include/linux/mtd/mtd.h | 1 -
> 10 files changed, 161 insertions(+), 175 deletions(-)

When I apply your patches and compile, I get:

make[2]: `scripts/unifdef' is up to date.
Building modules, stage 2.
Kernel: arch/x86/boot/bzImage is ready (#4)
MODPOST 150 modules
ERROR: "idr_get_next" [drivers/mtd/mtd.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Indeed, it is not exported.

--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)