[PATCH 3/3] [v6] pinctrl: qcom: qdf2xxx: add support for new ACPI HID QCOM8002
Timur Tabi
timur at codeaurora.org
Wed Dec 13 15:09:16 PST 2017
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.
More information about the linux-arm-kernel
mailing list