[U-Boot] [PATCH V2] imx: mx7dsabresd: include BLK for MMC/eMMC support of driver model

Tom Rini
2017-10-12T16:33:27Z

On Wed, Oct 11, 2017 at 06:17:12PM -0400, Tom Rini wrote:
> On Wed, Oct 11, 2017 at 07:07:04PM -0300, Fabio Estevam wrote:
> > On Wed, Oct 11, 2017 at 6:55 PM, Tom Rini <trini@konsulko.com> wrote:
> >
> > > Yes, I think that's it, along with removing the default y if DM_MMC from
> > > the BLK entry. Thanks!
> >
> > Ok, if I do as suggested:
> >
> > --- a/drivers/block/Kconfig
> > +++ b/drivers/block/Kconfig
> > @@ -1,7 +1,6 @@
> > config BLK
> > bool "Support block devices"
> > depends on DM
> > - default y if DM_MMC
> > help
> > Enable support for block devices, such as SCSI, MMC and USB
> > flash sticks. These provide a block-level interface which permits
> > diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
> > index 94050836..f4c953c 100644
> > --- a/drivers/mmc/Kconfig
> > +++ b/drivers/mmc/Kconfig
> > @@ -13,6 +13,7 @@ config MMC
> > config DM_MMC
> > bool "Enable MMC controllers using Driver Model"
> > depends on DM
> > + select BLK
> > help
> > This enables the MultiMediaCard (MMC) uclass which supports MMC and
> > Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
> >
> > Then mx7dsabresd_defconfig build and boots fine.
> >
> > However, mx6slevk_defconfig fails to build like this:
> >
> > CC common/usb_storage.o
> > common/usb_storage.c: In function ‘usb_stor_probe_device’:
> > common/usb_storage.c:208:30: error: ‘struct usb_device’ has no member
> > named ‘dev’
> > data = dev_get_platdata(udev->dev);
> > ^
> > common/usb_storage.c:218:32: error: ‘struct usb_device’ has no member
> > named ‘dev’
> > ret = blk_create_devicef(udev->dev, "usb_storage_blk", str,
> > ^
> > I can fix it by doing:
> >
> > --- a/configs/mx6slevk_defconfig
> > +++ b/configs/mx6slevk_defconfig
> > @@ -44,6 +44,7 @@ CONFIG_DM_REGULATOR_FIXED=y
> > CONFIG_DM_REGULATOR_GPIO=y
> > CONFIG_DM_THERMAL=y
> > CONFIG_USB=y
> > +CONFIG_DM_USB=y
> > CONFIG_USB_STORAGE=y
> > CONFIG_USB_HOST_ETHER=y
> > CONFIG_USB_ETHER_ASIX=y
> >
> > Is there a better fix for this breakage?
>
> Hmmm. So, if you have DM and DM_MMC, you need BLK. If you have DM and
> BLK and USB, you also need DM_USB (and vice-versa, if you have DM and DM_USB and
> not DM_MMC, things will break too, on another platform I bet). So,
> DM_USB should also select BLK I think. The case like mx6slkevk where
> you have DM_USB supported by not enabled are a bug of sorts where it
> needs to also be enabling DM_USB. I think I'll need to do a world build
> to see what fails in this case, unless you want to do it? Thanks!

OK, disregard what I had been saying. At this point, it's a matter of
correcting and testing boards to have either DM_MMC (and DM_USB and BLK)
on, or having DM_MMC off (because they want USB gadget support).

--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171012/ccff4eb2/attachment.sig>