lkml.org 
[lkml]   [2015]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ARM: bcm2835: Add header file for pinctrl constants
On 02/22/2015 01:13 PM, Arnd Bergmann wrote:
> On Sunday 22 February 2015 16:59:56 Charles Keepax wrote:
>> +
>> +/* IRQ Flags */
>> +#define BCM2835_PIN_IRQ_RISING 1
>> +#define BCM2835_PIN_IRQ_FALLING 2
>> +#define BCM2835_PIN_IRQ_EDGE (BCM2835_PIN_IRQ_RISING | \
>> + BCM2835_PIN_IRQ_FALLING)
>> +#define BCM2835_PIN_IRQ_LOW 4
>> +#define BCM2835_PIN_IRQ_HIGH 8
>
> Are these different from the standard definitions?
>
>> +/* Pin Function Settings */
>> +#define BCM2835_PIN_FUNC_GPIO_IN 0
>> +#define BCM2835_PIN_FUNC_GPIO_OUT 1
>> +#define BCM2835_PIN_FUNC_ALT5 2
>> +#define BCM2835_PIN_FUNC_ALT4 3
>> +#define BCM2835_PIN_FUNC_ALT0 4
>> +#define BCM2835_PIN_FUNC_ALT1 5
>> +#define BCM2835_PIN_FUNC_ALT2 6
>> +#define BCM2835_PIN_FUNC_ALT3 7
>
> Why are these required? They don't seem to be used by any driver,
> which leads me to suspect that they are just the hardware numbers.
>
> In that case, don't add any syntactical sugar like that and just
> use the hardware numbers directly.
>
> What's with the strange mapping of numbers anyway?

Especially given that the number->semantics meaning is a little
non-linear it seems like using #defines/... to document what the numbers
mean seems reasonable. It allows easily validating the DT files without
having to go look up the meaning of the numbers in the documentation.



\
 
 \ /
  Last update: 2015-02-23 20:21    [W:1.596 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site