2015-09-13 23:52 GMT+09:00 Yaniv Gardi <yga...@codeaurora.org>:
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 1c37a7d..9638553 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -40,6 +40,7 @@
>  #include <linux/async.h>
>  #include <linux/devfreq.h>
>
> +#include <linux/of.h>
>  #include "ufshcd.h"
>  #include "unipro.h"
>  #define UFSHCD_REQ_SENSE_SIZE  18
> @@ -87,6 +88,8 @@
>  /* Interrupt aggregation default timeout, unit: 40us */
>  #define INT_AGGR_DEF_TO        0x02
>
> +#define UFSHCD_DEFAULT_LANES_PER_DIRECTION             2
> +
>  #define ufshcd_toggle_vreg(_dev, _vreg, _on)                           \
>         ({                                                              \
>                 int _ret;                                               \
> @@ -5765,6 +5768,21 @@ static struct devfreq_dev_profile ufs_devfreq_profile 
> = {
>         .get_dev_status = ufshcd_devfreq_get_dev_status,
>  };
>
> +static void ufshcd_init_lanes_per_dir(struct ufs_hba *hba)
> +{
> +       struct device *dev = hba->dev;
> +       int ret;
> +
> +       ret = of_property_read_u32(dev->of_node, "lanes-per-direction",
> +               &hba->lanes_per_direction);
> +       if (ret) {
> +               dev_dbg(hba->dev,
> +                       "%s: failed to read lanes-per-direction, ret=%d\n",
> +                       __func__, ret);
> +               hba->lanes_per_direction = UFSHCD_DEFAULT_LANES_PER_DIRECTION;
> +       }
> +}
> +
>  /**
>   * ufshcd_init - Driver initialization routine
>   * @hba: per-adapter instance
> @@ -5788,6 +5806,8 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem 
> *mmio_base, unsigned int irq)
>         hba->mmio_base = mmio_base;
>         hba->irq = irq;
>
> +       ufshcd_init_lanes_per_dir(hba);
> +
>         err = ufshcd_hba_init(hba);
>         if (err)
>                 goto out_error;

Should this be called in ufshcd_pltfrm_init() and move
ufshcd_init_lanes_per_dir() to
ufshcd-pltfrm.c?  Because all 'of_' stuffs are in ufshcd-pltfrm.c.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to