Messages in this thread |  | | From | Heiko Stuebner <> | | Subject | Re: [PATCH v3 2/2] mmc: dw_mmc: add resets support to dw_mmc | | Date | Fri, 01 Apr 2016 20:42:40 +0200 |
| |
Am Mittwoch, 30. März 2016, 15:24:56 schrieb Guodong Xu:
[...]
> @@ -2949,7 +2956,9 @@ int dw_mci_probe(struct dw_mci *host) > > if (!host->pdata) { > host->pdata = dw_mci_parse_dt(host); > - if (IS_ERR(host->pdata)) { > + if (PTR_ERR(host->pdata) == -EPROBE_DEFER) { > + return -EPROBE_DEFER; > + } else if (IS_ERR(host->pdata)) {
how is this related to adding the reset handling?
Making the driver handle probe deferral better should be a separate patch.
> dev_err(host->dev, "platform data not available\n"); > return -EINVAL; > } > @@ -3012,6 +3021,9 @@ int dw_mci_probe(struct dw_mci *host) > } > } > > + if (!IS_ERR(host->pdata->rstc)) > + reset_control_deassert(host->pdata->rstc); > +
Wouldn't reset_control_reset be better? The way it is now it would expect the reset to be asserted somewhere else before dw_mmc probes?
> setup_timer(&host->cmd11_timer, > dw_mci_cmd11_timer, (unsigned long)host); >
[...]
> diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h > index 7b41c6d..b95cd84 100644 > --- a/include/linux/mmc/dw_mmc.h > +++ b/include/linux/mmc/dw_mmc.h > @@ -14,9 +14,10 @@ > #ifndef LINUX_MMC_DW_MMC_H > #define LINUX_MMC_DW_MMC_H > > -#include <linux/scatterlist.h> > -#include <linux/mmc/core.h> > #include <linux/dmaengine.h> > +#include <linux/mmc/core.h> > +#include <linux/reset.h> > +#include <linux/scatterlist.h>
unrelated changed regarding the reordering of includes.
Heiko
|  |