[PATCH] pinctrl: msm: allow the gpio base to be configurable
From: Bjorn Andersson <hidden>
Date: 2018-01-29 00:51:33
Also in:
linux-arm-msm, linux-gpio
On Sun 28 Jan 15:29 PST 2018, Timur Tabi wrote:
On 1/28/18 5:23 PM, Bjorn Andersson wrote:quoted
What platform has multiple TLMMs? [..]An upcoming one.
Cool :)
quoted
quoted
diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c index b7b6849625ec..4dc76e15bd14 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c@@ -901,7 +901,7 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) return -EINVAL; chip = &pctrl->chip; - chip->base = 0;quoted
My bad, this should have been -1.Perhaps, but it's been 0 for a very long time, so I don't want to break any existing platforms by suddenly relocating all GPIOs across all Qualcomm platforms.
Yeah, I see that I got this wrong when I wrote the driver 4 years ago... There should be no in-kernel users depending on these numbers being hard coded, so anyone depending on these numbers starting at 0 would be user space - doing so incorrectly.
What do you think about my other idea?
With static numbering of gpios you end up having cross-instance and cross-driver tweaks to make things fit the number space. In particular when you combine different gpio chips in different ways for different devices this becomes a mess. That's why the idea of static gpio numbering was abandoned a long long time ago. So while it does solve an immediate problem for you it is proven not to be the right solution in the long run... Regards, Bjorn