Re: [PATCH v2 06/14] mmc: dw_mmc: simplify optional reset handling

From: Philipp Zabel
Date: Mon Mar 20 2017 - 07:02:46 EST


On Mon, 2017-03-20 at 11:49 +0100, Andrzej Hajda wrote:
> On 20.03.2017 11:27, Philipp Zabel wrote:
[...]
> > diff --git a/include/linux/reset.h b/include/linux/reset.h
> > index 86b4ed75359e8..c905ff1c21ec6 100644
> > --- a/include/linux/reset.h
> > +++ b/include/linux/reset.h
> > @@ -74,14 +74,14 @@ static inline struct reset_control *__of_reset_control_get(
> > const char *id, int index, bool shared,
> > bool optional)
> > {
> > - return ERR_PTR(-ENOTSUPP);
> > + return optional ? NULL : ERR_PTR(-ENOTSUPP);
> > }
> >
> > static inline struct reset_control *__devm_reset_control_get(
> > struct device *dev, const char *id,
> > int index, bool shared, bool optional)
> > {
> > - return ERR_PTR(-ENOTSUPP);
> > + return optional ? NULL : ERR_PTR(-ENOTSUPP);
> > }
> >
> > #endif /* CONFIG_RESET_CONTROLLER */
> > ---------->8----------
>
> In dw_mmc.c file there are also unconditional calls to
> reset_control_assert, with disabled RESET_CONTROLLER it will cause
> unexpected WARNs.
> Anyway if you change reset API as above I think you should remove all
> warns from reset stubs, because NULL reset is valid, but these warns are
> there for reason - contradiction.

You are right, I have to let go of those, too.

regards
Philipp