Messages in this thread | | | From | Rob Herring <> | Date | Tue, 1 Sep 2015 15:43:09 -0500 | Subject | Re: [PATCH v4 6/8] scsi: ufs: make the UFS variant a platform device |
| |
On Sun, Aug 30, 2015 at 9:52 AM, Yaniv Gardi <ygardi@codeaurora.org> wrote: > This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS > a platform device. > In order to do so a few additional changes are required: > 1. The ufshcd-pltfrm is no longer serves as a platform device. > Now it only serves as a group of platform APIs such as PM APIs > (runtime suspend/resume, system suspend/resume etc), parsers of > clocks, regulators and pm_levels from DT. > 2. What used to be the old platform "probe" is now "only" > a pltfrm_init() routine, that does exactly the same, but only > being called by the new probe function of the UFS variant. > > Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org> > > --- > Documentation/devicetree/bindings/ufs/ufs-qcom.txt | 57 ++++++++++++++ > .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 4 +-
For the binding:
Reviewed-by: Rob Herring <robh@kernel.org>
A comment on the driver part still.
> diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c > index 329ac84..8027435 100644 > --- a/drivers/scsi/ufs/ufs-qcom.c > +++ b/drivers/scsi/ufs/ufs-qcom.c
[...]
> +static int ufs_qcom_probe(struct platform_device *pdev) > +{ > + int err; > + struct device *dev = &pdev->dev; > + struct ufs_hba *hba; > + > + /* Perform generic probe */ > + err = ufshcd_pltfrm_init(pdev, &ufs_hba_qcom_vops); > + if (err) { > + dev_err(dev, "ufshcd_pltfrm_init() failed %d\n", err); > + goto out; > + } > + > + hba = platform_get_drvdata(pdev);
I thought this was not necessary?
> + if (unlikely(!hba)) { > + dev_err(dev, "no hba structure after successful probing\n"); > + goto dealloc_host; > + } > + > + return 0;
| |