Re: [PATCH v2 3/7] soc: qcom: add QCOM PBS driver

From: Bjorn Andersson
Date: Mon Jul 31 2023 - 15:23:06 EST


On Wed, Jul 26, 2023 at 05:36:08PM +0200, Konrad Dybcio wrote:
> On 25.07.2023 21:34, Anjelique Melendez wrote:
> > +struct pbs_dev *get_pbs_client_device(struct device *dev)
> > +{
> > + struct device_node *pbs_dev_node;
> > + struct platform_device *pdev;
> > + struct pbs_dev *pbs;
> > +
> > + pbs_dev_node = of_parse_phandle(dev->of_node, "qcom,pbs", 0);
> > + if (!pbs_dev_node) {
> > + dev_err(dev, "Missing qcom,pbs property\n");
> > + return ERR_PTR(-ENODEV);
> > + }
> > +
> > + pdev = of_find_device_by_node(pbs_dev_node);
> > + if (!pdev) {
> > + dev_err(dev, "Unable to find PBS dev_node\n");
> > + pbs = ERR_PTR(-EPROBE_DEFER);
> > + goto out;
> > + }
> > +
> > + pbs = platform_get_drvdata(pdev);
> > + if (!pbs) {
> This check seems unnecessary, the PBS driver would have had to fail
> probing if set_drvdata never got called.
>

That's not necessarily the case, the platform_device will exist before
the probe function has been invoked. So checking this sounds
appropriate.

But if we have a valid link, but no drvdata, perhaps it would be more
appropriate to return -EPROBE_DEFER?

Regards,
Bjorn