Re: Sparse GPIO maps with pinctrl-msm.c?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri 16 Jun 09:07 PDT 2017, Timur Tabi wrote:

> On 6/16/17 10:55 AM, Bjorn Andersson wrote:
> > npins are the number of "pins" handles by the TLMM, while ngpios are the
> > number of GPIO lines. I.e. npins >= ngpios and non platforms where we
> > control e.g. sdc properties you can see that npins > ngpios.
> 
> I'm talking about the 'npins' in struct msm_pingroup:
> 
> struct msm_pingroup {
> 	const char *name;
> 	const unsigned *pins;
> 	unsigned npins;
> 
> Every client driver of pinctrl-msm sets this value to 1 for every group.
> 

The npins here would allow us to properly name the multiple pins in e.g.
sdcX_data. But we're not doing this and I would be surprised if anyone
found it useful to get this in.

So it make sense to hardcode this value in msm_get_group_pins() and drop
it from the struct.

> > It's not an awesome solution for mobile either. But to solve this we
> > have two problems to solve;
> > 
> > 1) as the XPU configuration isn't fixed we need to be dynamic or
> > configurable in some sensible way
> 
> I was planning on updating the TLMM ACPI node to include a property that
> lists the acceptable GPIOs.
> 

But this list is related to your XPU configuration and not the TLMM
block, so the list of enabled/disabled pins should not go in the driver.

> > 2) the pinctrl framework does have some support for sparse pin spaces,
> > but this would need to be extended to allow us to (easily) register a
> > sparse list of pins
> 
> I was hoping there would be a way in pinctrl-msm to tell the framework, "Oh,
> you want to export this pin? Sorry, I forgot to tell you that it doesn't
> exist."
> 

There are quite a few functions in pinctrl-msm that would need to be
augmented with such checks, so I don't like this approach.

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux