Re: [PATCH v2 2/4] pinctrl: qpnp: Qualcomm PMIC pin controller driver

From: Stephen Boyd
Date: Mon Aug 04 2014 - 21:36:27 EST


On 07/28/14 01:39, Ivan T. Ivanov wrote:
> I am working on proposal from Stephen Boyd to encode GPIO/MPP mode and
> source select into combined function. Something like this one:
>
> #define PM8XXX_DIGITAL_IN 0
> #define PM8XXX_DIGITAL_OUT 1
> #define PM8XXX_DIGITAL_IN_OUT 2
>
> ...
>
> /* mode and source select */
> #define PM8XXX_FUNCTION(m,s) ((m) << 16 | (s))
>
> #define PM8921_GPIO1_14_KYPD_SNS PM8XXX_FUNCTION(PM8XXX_DIGITAL_IN, 1)
> #define PM8921_GPIO9_14_KYPD_DRV PM8XXX_FUNCTION(PM8XXX_DIGITAL_OUT, 1)
> #define PM8921_GPIO33_35_PWM PM8XXX_FUNCTION(PM8XXX_DIGITAL_OUT, 3)
>
> ..
>
>

This isn't what I was suggesting at all. The function should be
something like KYPD, PWM and those should just be defined to be 1 or 3.
The mode should be some other property like input or output, and the
driver should or the two together and put it into the register.
Basically we shouldn't see any shifts or ors in the #defines, just
convenient numbers that correspond to the value of the field in the
register.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/