On Sun, Aug 30, 2015 at 9:52 AM, Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> > > --- > Documentation/devicetree/bindings/ufs/ufs-qcom.txt | 57 ++++++++++++++ > .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 4 +- For the binding: Reviewed-by: Rob Herring <robh@xxxxxxxxxx> 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; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html