O que essa macro significa no código do kernel do linux?

2

veja eu encontrei um arquivo de configuração em que este é macro definido

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
CONFIG_KEYBOARD_OMAP4=y

Mas não entendo qual macro devo habilitar para conectar o teclado USB ao pandabord? Existe alguma documentação para essa macro de arquivos de configuração?

Jeegar Patel
fonte
3
Essas não são macros e sua pergunta não está relacionada à programação.
Tripleee
Talvez você quer uma configuração para USB HID en.wikipedia.org/wiki/USB_human_interface_device_class como CONFIG_USB_HIDe outros, mas stackoverflow é o lugar errado para perguntar.
Basile Starynkevitch
11
E você pode obter alguma documentação com, por exemplo,make menuconfig
Basile Starynkevitch

Respostas:

3

Essas não são macros. Este é o arquivo de configuração gerado antes de compilar um kernel gerado por "make menuconfig" ou "make xconfig" etc.

Eles indicam quais drivers devem ser criados quando o kernel é compilado.

'y' significa que o suporte está embutido no kernel

'm' significa que o driver é construído como um módulo do kernel

daya
fonte
1

Verifique o código do driver compatível e, com cada driver, haverá uma macro definida no makefile. Selecione essa macro como you com mbase nos seus requisitos. Também não se esqueça de selecionar os drivers dependentes do teclado, que podem ser o núcleo USB e os drivers ocultos.

Vou sugerir uma melhor execução make menuconfigpara sua arquitetura e selecionar o driver do teclado. Isso permitirá que todos os drivers dependentes.

iSegmentationF
fonte
0

Essas não são macros como estão aqui, mas tornam-se macros para o código C usar no include / generate / autoconf.h gerado.

  • CONFIG_XXXXXX=yse tornará #define CONFIG_XXXXXX 1mais tarde.
  • CONFIG_XXXXXX=mse tornará #define CONFIG_XXXXXX_MODULE 1mais tarde.

Os itens não definidos aqui não serão #definedposteriores.

emrainey
fonte