Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1349823
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 2/2] mmc: dw_mmc: add resets support to dw_mci_parse_dt() |
| Date | 2016-03-04 04:50 +0100 |
| Message-ID | <r8OUx-F5-1@gated-at.bofh.it> (permalink) |
| References | <r8qpc-89F-25@gated-at.bofh.it> <r8qpc-89F-23@gated-at.bofh.it> <r8qSe-7S-11@gated-at.bofh.it> <r8OBc-wF-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
在 2016/3/4 11:27, zhangfei 写道: > > > On 03/03/2016 10:00 AM, Shawn Lin wrote: >> Hi Guodong, >> >> On 2016/3/3 9:33, Guodong Xu wrote: >>> With this, user can add a 'resets' property into dw_mmc dts >>> node, and when driver probe and parse_dt, it will call >>> reset APIs to reset dw_mmc host controller. >>> >>> Please also refer to Documentation/devicetree/bindings/reset/reset.txt >> >> I have no hard objection for this patch, but I'd rather not add it >> unless we actually need it. Could you elaborate more about any futher >> actions you will take if it's applied(i.e: deal with some unrecoverable >> broken case)? If we just reset the controller while probing, actually I >> can't find any problems without it based on tons of my reboot test. > > mmc register maybe abnormal state, if mmc is used in uefi, like boot > from emmc. > So we need reset mmc register when kernel boot up, instead of assuming > mmc is in clean state. > Next step is adding reset node in dts for drivers/mmc/host/dw_mmc-k3.c > as reset driver is already there. Fair enough. Thanks for explaining. > >>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >>> index 242f9a0..d3a7376 100644 >>> --- a/drivers/mmc/host/dw_mmc.c >>> +++ b/drivers/mmc/host/dw_mmc.c >>> @@ -2878,6 +2878,13 @@ static struct dw_mci_board >>> *dw_mci_parse_dt(struct dw_mci *host) >>> if (!pdata) >>> return ERR_PTR(-ENOMEM); >>> >>> + /* find reset controller when exist */ >>> + pdata->rstc = devm_reset_control_get_optional(dev, NULL); >>> + if (IS_ERR(pdata->rstc)) >>> + pdata->rstc = NULL; >>> + else >>> + reset_control_deassert(pdata->rstc); >>> + >> >> if the PTR_ERR(pdata->rstc) is -EPROBE_DEFER, should we defer probing >> the driver? > Yes, good catch. > > Thanks > > > -- Best Regards Shawn Lin
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 2/2] mmc: dw_mmc: add resets support to dw_mci_parse_dt() Guodong Xu <guodong.xu@linaro.org> - 2016-03-03 02:40 +0100
Re: [PATCH 2/2] mmc: dw_mmc: add resets support to dw_mci_parse_dt() Shawn Lin <shawn.lin@rock-chips.com> - 2016-03-03 03:10 +0100
Re: [PATCH 2/2] mmc: dw_mmc: add resets support to dw_mci_parse_dt() zhangfei <zhangfei.gao@linaro.org> - 2016-03-04 04:30 +0100
Re: [PATCH 2/2] mmc: dw_mmc: add resets support to dw_mci_parse_dt() Shawn Lin <shawn.lin@rock-chips.com> - 2016-03-04 04:50 +0100
csiph-web