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

Commit 12dc8c08 authored by Hanumant Singh's avatar Hanumant Singh
Browse files

pinctrl: msm: Fix pin parsing and remove CONFIG_PINCTRL_MSM



1) pinctrl-msm.c cantaining the device tree parsing logic
and the pinmux framework interface cannot be compiled independently.
It has a dependency on the underlying TLMM implementation.
Remove CONFIG_MSM_PINCTRL and use CONFIG_PINCTRL_MSM_TLMM_V3
to compile the TLMM implementation as well as the device tree
parsing logic.
2) Fix the bug that causes incorrect pintype labels to be applied
while parsing pins from device tree entries.

Change-Id: I16b1955da185c37d323912c555343bc4eb632655
Signed-off-by: default avatarHanumant Singh <hanumant@codeaurora.org>
parent 86155e46
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -159,16 +159,12 @@ config PINCTRL_SINGLE
	help
	  This selects the device tree based generic pinctrl driver.

config PINCTRL_MSM
config PINCTRL_MSM_TLMM_V3
	depends on OF
	bool
	select PINMUX
	select GENERIC_PINCONF

config PINCTRL_MSM_TLMM_V3
	bool
	select PINCTRL_MSM

config PINCTRL_SIRF
	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
	depends on ARCH_SIRF
+1 −2
Original line number Diff line number Diff line
@@ -23,8 +23,7 @@ obj-$(CONFIG_PINCTRL_IMX53) += pinctrl-imx53.o
obj-$(CONFIG_PINCTRL_IMX6Q)	+= pinctrl-imx6q.o
obj-$(CONFIG_PINCTRL_IMX6Q)	+= pinctrl-imx6dl.o
obj-$(CONFIG_PINCTRL_FALCON)	+= pinctrl-falcon.o
obj-$(CONFIG_PINCTRL_MSM)	+= pinctrl-msm.o
obj-$(CONFIG_PINCTRL_MSM_TLMM_V3)	+= pinctrl-msm-tlmm-v3.o
obj-$(CONFIG_PINCTRL_MSM_TLMM_V3)	+= pinctrl-msm.o pinctrl-msm-tlmm-v3.o
obj-$(CONFIG_PINCTRL_MXS)	+= pinctrl-mxs.o
obj-$(CONFIG_PINCTRL_IMX23)	+= pinctrl-imx23.o
obj-$(CONFIG_PINCTRL_IMX28)	+= pinctrl-imx28.o
+5 −3
Original line number Diff line number Diff line
@@ -352,7 +352,7 @@ static int msm_of_get_pin(struct device_node *np, int index,
				struct msm_pinctrl_dd *dd, uint *pin)
{
	struct of_phandle_args pargs;
	struct msm_pintype_info *pinfo;
	struct msm_pintype_info *pinfo, *pintype;
	int num_pintypes;
	int ret, i;

@@ -360,9 +360,10 @@ static int msm_of_get_pin(struct device_node *np, int index,
								index, &pargs);
	if (ret)
		return ret;
	pinfo = dd->msm_pintype;
	pintype = dd->msm_pintype;
	num_pintypes = dd->num_pintypes;
	for (i = 0; i < num_pintypes; i++)  {
		pinfo = &pintype[i];
		/* Find the matching pin type node */
		if (pargs.np != pinfo->node)
			continue;
@@ -527,7 +528,8 @@ static int msm_pinctrl_dt_parse_pintype(struct device_node *dev_node,
		for (i = 0; i < pinfo_entries; i++) {
			pintype = &pinfo[i];
			/* Check if node is pintype node */
			if (!of_find_property(pt_node, pinfo->prop_name, NULL))
			if (!of_find_property(pt_node, pintype->prop_name,
									NULL))
				continue;
			of_node_get(pt_node);
			pintype->node = pt_node;