CONFIG_GPIO_SYSFS заставляет / sys / class / leds исчезать

У меня встроенная плата Linux, над которой я работаю, с кнопкой и несколькими светодиодами.

По умолчанию я могу управлять светодиодами через

/sys/class/leds/redled/brightness 

Однако у меня нет способа контролировать кнопку. Если я включу CONFIG_GPIO_SYSFS, я больше не вижу светодиодов – / sys / class / leds / пуст. Кроме того, GPIO, которые теоретически должны идти на светодиоды, ничего не делают, поэтому я даже не могу их взломать.

Любые мысли о том, как я могу заставить обоих работать?

Решение оказалось достаточно простым. Оказалось, что я ткнул неправильный GPIO. Начальное смещение было определено в:

  $ LINUX / арка / рука / маш-AT91 / включить / маш / gpio.h 

в виде:

 #define PIN_BASE NR_AIC_IRQS 

NR_AIC_IRQS определяется в irqs.h в том же каталоге, что и:

 #define NR_AIC_IRQS 32 

Булавки, которые я искал, были PB12 и PB13, которые я нашел в gpio.h, которые определены как:

 #define AT91_PIN_PB12 (PIN_BASE + 0X20 + 12) #define AT91_PIN_PB13 (PIN_BASE + 0X20 + 13) 

Таким образом, контакты, которые я искал, были 32 + 32 + 12 = 76 и 77.