On Wed, 22 Jul 2020 at 07:15, Walter Lozano <walter.loz...@collabora.com> wrote: > > After enabling OF_PLATDATA support to both MMC and GPIO drivers add the > support for card detection. > > Signed-off-by: Walter Lozano <walter.loz...@collabora.com> > --- > > (no changes since v1) > > drivers/mmc/fsl_esdhc_imx.c | 27 ++++++++++++++++++++++++++- > 1 file changed, 26 insertions(+), 1 deletion(-)
Reviewed-by: Simon Glass <s...@chromium.org> See below > > diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c > index f2509b5cc9..4448565b5a 100644 > --- a/drivers/mmc/fsl_esdhc_imx.c > +++ b/drivers/mmc/fsl_esdhc_imx.c > @@ -1498,7 +1498,32 @@ static int fsl_esdhc_probe(struct udevice *dev) > priv->bus_width = 4; > else > priv->bus_width = 1; > - priv->non_removable = 1; > + > + if (dtplat->non_removable) > + priv->non_removable = 1; > + else > + priv->non_removable = 0; > + > +#if CONFIG_IS_ENABLED(DM_GPIO) Can this use if() ? > + if (!priv->non_removable) { > + struct udevice *gpiodev; > + struct driver_info *info; > + > + info = (struct driver_info *)dtplat->cd_gpios->node; > + > + ret = device_get_by_driver_info(info, &gpiodev); > + > + if (ret) > + return ret; > + > + ret = gpio_dev_request_index(gpiodev, gpiodev->name, > "cd-gpios", > + dtplat->cd_gpios->arg[0], > GPIOD_IS_IN, > + dtplat->cd_gpios->arg[1], > &priv->cd_gpio); > + > + if (ret) > + return ret; > + } > +#endif > #endif > > if (data) > -- > 2.20.1 >