Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d5fc282 authored by Veerabhadrarao Badiganti's avatar Veerabhadrarao Badiganti
Browse files

mmc: sdhci-msm: Invalidate pin drive type data if it's not present



Pin drive-type data for different clock-rates would be read from
the device tree.  In case if this data is not present in dt, then
invalidate the data-structures related to this drive-type data.

Without invalidating this data, it will have non-zero values
(error value returned by pinctrl_lookup_state()), which is causing issues.

Change-Id: I0efbd19ed883b9f95be2e073e54303a6a19ee569
Signed-off-by: default avatarVeerabhadrarao Badiganti <vbadigan@codeaurora.org>
parent 71582f57
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -1615,23 +1615,31 @@ static int sdhci_msm_parse_pinctrl_info(struct device *dev,

	pctrl_data->pins_drv_type_400KHz = pinctrl_lookup_state(
			pctrl_data->pctrl, "ds_400KHz");
	if (IS_ERR(pctrl_data->pins_drv_type_400KHz))
	if (IS_ERR(pctrl_data->pins_drv_type_400KHz)) {
		dev_dbg(dev, "Could not get 400K pinstates, err:%d\n", ret);
		pctrl_data->pins_drv_type_400KHz = NULL;
	}

	pctrl_data->pins_drv_type_50MHz = pinctrl_lookup_state(
			pctrl_data->pctrl, "ds_50MHz");
	if (IS_ERR(pctrl_data->pins_drv_type_50MHz))
	if (IS_ERR(pctrl_data->pins_drv_type_50MHz)) {
		dev_dbg(dev, "Could not get 50M pinstates, err:%d\n", ret);
		pctrl_data->pins_drv_type_50MHz = NULL;
	}

	pctrl_data->pins_drv_type_100MHz = pinctrl_lookup_state(
			pctrl_data->pctrl, "ds_100MHz");
	if (IS_ERR(pctrl_data->pins_drv_type_100MHz))
	if (IS_ERR(pctrl_data->pins_drv_type_100MHz)) {
		dev_dbg(dev, "Could not get 100M pinstates, err:%d\n", ret);
		pctrl_data->pins_drv_type_100MHz = NULL;
	}

	pctrl_data->pins_drv_type_200MHz = pinctrl_lookup_state(
			pctrl_data->pctrl, "ds_200MHz");
	if (IS_ERR(pctrl_data->pins_drv_type_200MHz))
	if (IS_ERR(pctrl_data->pins_drv_type_200MHz)) {
		dev_dbg(dev, "Could not get 200M pinstates, err:%d\n", ret);
		pctrl_data->pins_drv_type_200MHz = NULL;
	}

	pdata->pctrl_data = pctrl_data;
out: