Subject: Re: mmc core broken dependency on CONFIG_BLOCK (Was: linux-next: Tree for Oct 11 (mmc))

From: Andrei Warkentin <[email-masked]>
Date: Tue, 11 Oct 2011 12:31:57 -0700 (PDT)

Hi Randy,

----- Original Message -----
> From: "Randy Dunlap" <[email-masked]>
> To: "Stephen Rothwell" <[email-masked]>
> Cc: [email-masked], "LKML" <[email-masked]>, [email-masked], "Chris Ball"
> <[email-masked]>
> Sent: Tuesday, October 11, 2011 2:49:39 PM
> Subject: Re: linux-next: Tree for Oct 11 (mmc)
> 
> On 10/11/11 02:11, Stephen Rothwell wrote:
> > Hi all,
> > 
> > The linux-next tree is now available from
> > git://github.com/sfrothwell/linux-next.git as a temporary measure
> > while
> > the kernel.org servers are unavailable.
> > 
> > It may also turn up on git.kernel.org (depending on the mirroring).
> >  The
> > patch set is still absent, however.
> > 
> > Changes since 20111007:
> 
> 
> When CONFIG_BLOCK is not enabled:
> 
> In file included from
> next-2011-1011/drivers/mmc/card/sdio_uart.c:43:0:
> next-2011-1011/include/linux/mmc/card.h:175:12: error:
> 'DISK_NAME_LEN' undeclared here (not in a function)
> 
> Deleting the #include <linux/mmc/card.h> fixes the sdio_uart.c build.
> However, the same problem occurs in mmc/core/core.c:
> 

Because linux/genhd is now included, oops. I'm pretty positive this is due to the "mmc : general purpose partition support" patch pulled recently. I am adding NamJae, who was the author.

> In file included from next-2011-1011/drivers/mmc/core/core.c:30:0:
> next-2011-1011/include/linux/mmc/card.h:175:12: error:
> 'DISK_NAME_LEN' undeclared here (not in a function)
> 
> Should mmc/core/ depend on BLOCK?  or should it just be made
> to build even when BLOCK is not enabled?
> 

I don't think there should be a direct dependency on BLOCK. I have two suggestions -
1) Have our own define similar to (and in fact smaller):
   linux/genhd.h:#define DISK_NAME_LEN                     32
2) Put the MMC physical partition code under an #ifdef CONFIG_BLOCK, which is a reasonable
   proposition, given that there wouldn't be any need to parse physical partition info if
   it would never be consumed by the MMC block driver.

Thoughts?

A