Re: [PATCH 3/3] [v6] pinctrl: qcom: qdf2xxx: add support for new ACPI HID QCOM8002

Timur Tabi
2017-12-19T01:18:10Z

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.