Stephen, any follow-up to this? I'd like to get these patches into 4.16
if at all possible. Thanks.
On 12/13/17 5:09 PM, Timur Tabi wrote:
On 12/13/2017 05:01 PM, Stephen Boyd wrote:
Given that we have MAX_GPIOS, it would be better to declare a
bitmap of available gpios of that size on the stack and then
iterate through the bitmap and set bits for the available ones.
In the QCOM8001 case, that would be setting all bits up to
num_gpios, and in the QCOM8002 case it would be iterating through
the list of gpios from the DSD property and setting the bit for
that gpio number. This avoids explicitly allocating a list of
numbers that is freed almost immediately. Instead we just stack
256 / sizeof(unsigned long) words and set bits.
I'm not sure I understand. The only think I'm allocating temporarily is
the 'gpios' array, which is an array of shorts. Each element stores the
gpio number. It's not a bit array, so "256 / sizeof(unsigned long)"
doesn't apply. I need that array to read the DSD. You can't iterate
through an DSD property without reading it completely first.
Hopefully we could lift the same logic into the core pinctrl msm
driver for usage on non-ACPI systems.
There is no new memory allocation being done in pinctrl-msm, so I don't
understand this either.
--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc. Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html