Skip to contentSkip to conversation

MTD needs denedency on MTD partitioning?

PATCH In review Michael S. Tsirkin 2 participants 4 messages Dec 27, 2004 – Dec 28, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hello!
Sorry, I had a wrong subject.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

It seems that you can disable MTD partitioning support but enable , e.g. NAND.
And, if you are upgrading from and older kernel without the paritioning option, and do oldconfig and are not careful, thats what you end up with.
But, lots of code is calling del_mtd_partitions now, so you get unresolved del_mtd_partitions.

Its easy to work around this by enabling partitioning, but should not the dependency be added in the relevant KConfig?

Cc me directly, I'm not on the list.
Thanks,
MST

#1 lore raw

PATCH 1/1 add missing dependencies on MTD_PARTITIONS

Quoted 1 line · Michael S. Tsirkin

Hello!

Hi Michael!

Quoted 10 lines

Sorry, I had a wrong subject.

It seems that you can disable MTD partitioning support but enable , e.g. NAND.
And, if you are upgrading from and older kernel without the paritioning option, and do oldconfig and are not careful, thats what you end up with.
But, lots of code is calling del_mtd_partitions now, so you get unresolved del_mtd_partitions.

Quoted 2 lines

Its easy to work around this by enabling partitioning, but should not the dependency be added in the relevant KConfig?

First of all thanks for your report.
You didn't send the exact error mesage.
I'm able to reproduce the following in 2.6.10-rc3-mm1:

<-- snip -->

...
LD .tmp_vmlinux1
drivers/built-in.o(.init.text+0x6464b): In function `init_scx200_docflash':
: undefined reference to add_mtd_partitions' drivers/built-in.o(.init.text+0x66ab8): In function ns_init_module':
: undefined reference to add_mtd_partitions' drivers/built-in.o(.exit.text+0x8bf4): In function cleanup_scx200_docflash':
: undefined reference to `del_mtd_partitions'
make: *** [.tmp_vmlinux1] Error 1

<-- snip -->

The patch below fixes them.

Please tell whether this fixes the problems you observed.

Quoted 3 lines

Cc me directly, I'm not on the list.
Thanks,
MST

cu
Adrian

diffstat output:

 drivers/mtd/maps/Kconfig |    2 +-
 drivers/mtd/nand/Kconfig |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/mtd/maps/Kconfig renamed from drivers/mtd/maps/Kconfig.old +1 -1
@@ -159,7 +159,7 @@
 
 config MTD_SCx200_DOCFLASH
 	tristate "Flash device mapped with DOCCS on NatSemi SCx200"
-	depends on X86 && MTD_CFI
+	depends on X86 && MTD_CFI && MTD_PARTITIONS
 	help
 	  Enable support for a flash chip mapped using the DOCCS signal on a
 	  National Semiconductor SCx200 processor.
drivers/mtd/nand/Kconfig renamed from drivers/mtd/nand/Kconfig.old +1 -1
@@ -198,7 +198,7 @@
  
  config MTD_NAND_NANDSIM
  	bool "Support for NAND Flash Simulator"
- 	depends on MTD_NAND
+ 	depends on MTD_NAND && MTD_PARTITIONS
 
 	help
 	  The simulator may simulate verious NAND flash chips for the
#2 lore raw

Re: [2.6 patch] add missing dependencies on MTD_PARTITIONS

Hello!
Quoting r. Adrian Bunk ([email protected]) "[2.6 patch] add missing dependencies on MTD_PARTITIONS":

Quoted 16 lines · Michael S. Tsirkin
Quoted 2 lines

Hello!

Hi Michael!

Quoted 10 lines

Sorry, I had a wrong subject.

It seems that you can disable MTD partitioning support but enable , e.g. NAND.
And, if you are upgrading from and older kernel without the paritioning option, and do oldconfig and are not careful, thats what you end up with.
But, lots of code is calling del_mtd_partitions now, so you get unresolved del_mtd_partitions.

Quoted 5 lines
Quoted 2 lines

Its easy to work around this by enabling partitioning, but should not the dependency be added in the relevant KConfig?

First of all thanks for your report.
You didn't send the exact error mesage.

Thats because I built partitions in so I dont see it anymore.

Quoted 14 lines

I'm able to reproduce the following in 2.6.10-rc3-mm1:

<-- snip -->

...
LD .tmp_vmlinux1
drivers/built-in.o(.init.text+0x6464b): In function `init_scx200_docflash':
: undefined reference to add_mtd_partitions' drivers/built-in.o(.init.text+0x66ab8): In function ns_init_module':
: undefined reference to add_mtd_partitions' drivers/built-in.o(.exit.text+0x8bf4): In function cleanup_scx200_docflash':
: undefined reference to `del_mtd_partitions'
make: *** [.tmp_vmlinux1] Error 1

Quoted 1 line

<-- snip -->

True.

Quoted 1 line

The patch below fixes them.

Maybe, but I believe its not the correct fix.

Quoted 1 line

Please tell whether this fixes the problems you observed.

I may. But:

/usr/src/linux-2.6.10/drivers/mtd # grep -rIil del_mtd_partitions . ./devices/lart.c
./maps/wr_sbc82xx_flash.c
./maps/ixp4xx.c
./maps/ocotea.c
./maps/bast-flash.c
./maps/db1x00-flash.c
./maps/dmv182.c
./maps/cstm_mips_ixx.c
./maps/lasat.c
./maps/h720x-flash.c
./maps/tqm8xxl.c
./maps/impa7.c
./maps/dilnetpc.c
./maps/fortunet.c
./maps/sa1100-flash.c
./maps/nettel.c
./maps/db1550-flash.c
./maps/omap-toto-flash.c
./maps/arctic-mtd.c
./maps/ceiva.c
./maps/dc21285.c
./maps/pnc2000.c
./maps/elan-104nc.c
./maps/sbc_gxx.c
./maps/pb1550-flash.c
./maps/physmap.c
./maps/beech-mtd.c
./maps/ipaq-flash.c
./maps/mpc1211.c
./maps/lubbock-flash.c
./maps/scx200_docflash.c
./maps/redwood.c
./maps/epxa10db-flash.c
./maps/netsc520.c
./maps/ebony.c
./maps/iq80310.c
./maps/uclinux.c
./maps/ts5500_flash.c
./maps/dbox2-flash.c
./maps/ixp2000.c
./maps/ocelot.c
./maps/pb1xxx-flash.c
./maps/cfi_flagadm.c
./maps/integrator-flash.c
./maps/solutionengine.c
./maps/scx200_docflash.mod.c
./maps/physmap.mod.c
./nand/nand_base.c
./nand/nand.mod.c
./mtdpart.c

So I expect all map devices, and all nand devices and not just these you fixed, must depend on MTD partitions.

Quoted 38 lines
Quoted 3 lines

Cc me directly, I'm not on the list.
Thanks,
MST

cu
Adrian

diffstat output:

 drivers/mtd/maps/Kconfig |    2 +-
 drivers/mtd/nand/Kconfig |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/mtd/maps/Kconfig renamed from drivers/mtd/maps/Kconfig.old +1 -1
@@ -159,7 +159,7 @@
 
 config MTD_SCx200_DOCFLASH
 	tristate "Flash device mapped with DOCCS on NatSemi SCx200"
-	depends on X86 && MTD_CFI
+	depends on X86 && MTD_CFI && MTD_PARTITIONS
 	help
 	  Enable support for a flash chip mapped using the DOCCS signal on a
 	  National Semiconductor SCx200 processor.
drivers/mtd/nand/Kconfig renamed from drivers/mtd/nand/Kconfig.old +1 -1
@@ -198,7 +198,7 @@
 
  config MTD_NAND_NANDSIM
  	bool "Support for NAND Flash Simulator"
- 	depends on MTD_NAND
+ 	depends on MTD_NAND && MTD_PARTITIONS
 
 	help
 	  The simulator may simulate verious NAND flash chips for the
#3 lore raw

Re: [2.6 patch] add missing dependencies on MTD_PARTITIONS

In reply to Adrian Bunk

Hello!
Quoting r. Adrian Bunk ([email protected]) "[2.6 patch] add missing dependencies on MTD_PARTITIONS":

Quoted 3 lines

The patch below fixes them.

Please tell whether this fixes the problems you observed.

I have 2.6.10 so the patch didnt apply, with this reject:

***************
*** 198,204 ****

config MTD_NAND_NANDSIM
bool "Support for NAND Flash Simulator"
- depends on MTD_NAND

help
The simulator may simulate verious NAND flash chips for the
--- 198,204 ----

config MTD_NAND_NANDSIM
bool "Support for NAND Flash Simulator"
+ depends on MTD_NAND && MTD_PARTITIONS

help
The simulator may simulate verious NAND flash chips for the

However, MTD_NAND_NANDSIM simply does not seem to be there in 2.6.10, so thats probably ok.
Otherwise the problem is fixed.
I'd like to understand, why arent other map devices that seem to call del_mtd_partitions, missing this symbol?

Thanks,
mst