Hi Maxime,

On 21/11/18 3:41 PM, Maxime Ripard wrote:
> Hi Kishon,
> 
> On Tue, Nov 20, 2018 at 11:02:34AM +0530, Kishon Vijay Abraham I wrote:
>>>> +static int cdns_dphy_config_from_opts(struct phy *phy,
>>>> +                                struct phy_configure_opts_mipi_dphy *opts,
>>>> +                                struct cdns_dphy_cfg *cfg)
>>>> +{
>>>> +  struct cdns_dphy *dphy = phy_get_drvdata(phy);
>>>> +  unsigned int dsi_hfp_ext = 0;
>>>> +  int ret;
>>>> +
>>>> +  ret = phy_mipi_dphy_config_validate(opts);
>>>> +  if (ret)
>>>> +          return ret;
>>>> +
>>>> +  ret = cdns_dsi_get_dphy_pll_cfg(dphy, cfg,
>>>> +                                  opts, &dsi_hfp_ext);
>>>> +  if (ret)
>>>> +          return ret;
>>>> +
>>>> +  opts->wakeup = cdns_dphy_get_wakeup_time_ns(dphy);
>>
>> Is the wakeup populated here used by the consumer driver?
> 
> It's supposed to, if it can yes.

But I guess right now it's not using. I'm thinking the usefulness of validate
callback (only from this series point of view). Why should a consumer driver
invoke validate if it doesn't intend to configure the PHY?

The 3 steps required are
        * The consumer driver gets the default config
        * The consumer driver changes some of the configuration and
        * The consumer driver invokes phy configure callback.

phy_configure anyways can validate the config before actually configuring the 
phy.

Thanks
Kishon

Reply via email to