diff mbox

[2/3] nand: omap2: Remove horrible ifdefs to fix module probe

Message ID 20140917083353.GB7362@norris-Latitude-E6410
State RFC
Headers show

Commit Message

Brian Norris Sept. 17, 2014, 8:33 a.m. UTC
On Wed, Sep 10, 2014 at 04:05:56PM +0300, Roger Quadros wrote:
> On 09/10/2014 03:48 PM, Ezequiel Garcia wrote:
> > On 08 Sep 01:53 PM, Roger Quadros wrote:
> >> On 09/08/2014 11:45 AM, Roger Quadros wrote:
> >>> On 09/06/2014 10:56 PM, Ezequiel Garcia wrote:
> >> I still get the following error if I set CONFIG_MTD_NAND_OMAP2 to y and
> >> CONFIG_MTD_NAND_OMAP_BCH to m.
> >>
> >> CONFIG_MTD_NAND_OMAP_BCH is used to select the ELM driver and it must be limited to
> >> be built-in if CONFIG_MTD_NAND_OMAP2 is built-in.
> >>
> > 
> > Hm, yup. Any ideas on how to accomplish that? My Kconfig-foo is not strong enough :(
>
> Mine neither ;). I'm unaware of any other method than making CONFIG_MTD_NAND_OMAP_BCH to bool.

That could be part of the solution. Does the following patch work? It
now forces elm and omap to be built the same -- either both as modules
or both built-in -- but it solves the rest of the problem I think.

(This also has the side effect of causing transition pains for any
.config file that had CONFIG_MTD_NAND_OMAP_BCH=m, since this becomes
boolean now.)

Comments

Ezequiel Garcia Sept. 17, 2014, 9:54 a.m. UTC | #1
On 17 September 2014 09:33, Brian Norris <computersforpeace@gmail.com> wrote:
> On Wed, Sep 10, 2014 at 04:05:56PM +0300, Roger Quadros wrote:
>> On 09/10/2014 03:48 PM, Ezequiel Garcia wrote:
>> > On 08 Sep 01:53 PM, Roger Quadros wrote:
>> >> On 09/08/2014 11:45 AM, Roger Quadros wrote:
>> >>> On 09/06/2014 10:56 PM, Ezequiel Garcia wrote:
>> >> I still get the following error if I set CONFIG_MTD_NAND_OMAP2 to y and
>> >> CONFIG_MTD_NAND_OMAP_BCH to m.
>> >>
>> >> CONFIG_MTD_NAND_OMAP_BCH is used to select the ELM driver and it must be limited to
>> >> be built-in if CONFIG_MTD_NAND_OMAP2 is built-in.
>> >>
>> >
>> > Hm, yup. Any ideas on how to accomplish that? My Kconfig-foo is not strong enough :(
>>
>> Mine neither ;). I'm unaware of any other method than making CONFIG_MTD_NAND_OMAP_BCH to bool.
>
> That could be part of the solution. Does the following patch work? It
> now forces elm and omap to be built the same -- either both as modules
> or both built-in -- but it solves the rest of the problem I think.
>
> (This also has the side effect of causing transition pains for any
> .config file that had CONFIG_MTD_NAND_OMAP_BCH=m, since this becomes
> boolean now.)
>

http://patchwork.ozlabs.org/patch/388249/

I used my time-machine to go back in time and submitted the patch for you :-)
Brian Norris Sept. 18, 2014, 2:54 a.m. UTC | #2
On Wed, Sep 17, 2014 at 10:54:03AM +0100, Ezequiel Garcia wrote:
> On 17 September 2014 09:33, Brian Norris <computersforpeace@gmail.com> wrote:
> > On Wed, Sep 10, 2014 at 04:05:56PM +0300, Roger Quadros wrote:
> >> On 09/10/2014 03:48 PM, Ezequiel Garcia wrote:
> >> > On 08 Sep 01:53 PM, Roger Quadros wrote:
> >> >> On 09/08/2014 11:45 AM, Roger Quadros wrote:
> >> >>> On 09/06/2014 10:56 PM, Ezequiel Garcia wrote:
> >> >> I still get the following error if I set CONFIG_MTD_NAND_OMAP2 to y and
> >> >> CONFIG_MTD_NAND_OMAP_BCH to m.
> >> >>
> >> >> CONFIG_MTD_NAND_OMAP_BCH is used to select the ELM driver and it must be limited to
> >> >> be built-in if CONFIG_MTD_NAND_OMAP2 is built-in.
> >> >>
> >> >
> >> > Hm, yup. Any ideas on how to accomplish that? My Kconfig-foo is not strong enough :(
> >>
> >> Mine neither ;). I'm unaware of any other method than making CONFIG_MTD_NAND_OMAP_BCH to bool.
> >
> > That could be part of the solution. Does the following patch work? It
> > now forces elm and omap to be built the same -- either both as modules
> > or both built-in -- but it solves the rest of the problem I think.
> >
> > (This also has the side effect of causing transition pains for any
> > .config file that had CONFIG_MTD_NAND_OMAP_BCH=m, since this becomes
> > boolean now.)
> >
> 
> http://patchwork.ozlabs.org/patch/388249/
> 
> I used my time-machine to go back in time and submitted the patch for you :-)

I'm glad you prioritized MTD over all the other cool things you could do
with your time machine. But I guess, you really don't need to prioritize
much when you have infinite time, do you?

</joke>

I can get lost when I only pay 50% attention for a few weeks, then try
to sort through the accumulated pile of email.

Brian
diff mbox

Patch

diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
index c68868f60588..4dc8990898dc 100644
--- a/drivers/mtd/devices/Makefile
+++ b/drivers/mtd/devices/Makefile
@@ -12,7 +12,7 @@  obj-$(CONFIG_MTD_LART)		+= lart.o
 obj-$(CONFIG_MTD_BLOCK2MTD)	+= block2mtd.o
 obj-$(CONFIG_MTD_DATAFLASH)	+= mtd_dataflash.o
 obj-$(CONFIG_MTD_M25P80)	+= m25p80.o
-obj-$(CONFIG_MTD_NAND_OMAP_BCH)	+= elm.o
+obj-$(CONFIG_MTD_NAND_OMAP_BCH_BUILD) += elm.o
 obj-$(CONFIG_MTD_SPEAR_SMI)	+= spear_smi.o
 obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
 obj-$(CONFIG_MTD_BCM47XXSFLASH)	+= bcm47xxsflash.o
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index f1cf503517fd..6390b2b58edb 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -96,9 +96,8 @@  config MTD_NAND_OMAP2
 
 config MTD_NAND_OMAP_BCH
 	depends on MTD_NAND_OMAP2
-	tristate "Support hardware based BCH error correction"
+	bool "Support hardware based BCH error correction"
 	default n
-	select BCH
 	help
 	  This config enables the ELM hardware engine, which can be used to
 	  locate and correct errors when using BCH ECC scheme. This offloads
@@ -106,6 +105,12 @@  config MTD_NAND_OMAP_BCH
 	  legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine
 	  so they should not enable this config symbol.
 
+config MTD_NAND_OMAP_BCH_BUILD
+	tristate
+	depends on MTD_NAND_OMAP_BCH
+	default MTD_NAND_OMAP2
+	select BCH
+
 config MTD_NAND_IDS
 	tristate