Co to makro oznacza w kodzie jądra Linuksa?

2

patrz, znalazłem jeden plik konfiguracyjny, w którym jest to zdefiniowane makro

#
# 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

Ale nie rozumiem, które makro należy włączyć do podłączania klawiatury USB z pandabordem? Czy jest jakieś dokumentacja dla tego makra plików konfiguracyjnych?

Jeegar Patel
źródło
3
To nie są makra, a twoje pytanie nie ma związku z programowaniem.
tripleee
Może chcesz konfigurację dla USB HID en.wikipedia.org/wiki/USB_human_interface_device_class jak CONFIG_USB_HIDi innych, ale przepełnienie stosu jest niewłaściwym miejscem do zapytania.
Basile Starynkevitch
1
I możesz uzyskać dokumentację np.make menuconfig
Basile Starynkevitch

Odpowiedzi:

3

To nie są makra. Jest to plik konfiguracyjny wygenerowany przed skompilowaniem jądra wygenerowanego przez „make menuconfig” lub „make xconfig” itp.

Wskazują, jakie sterowniki mają zostać zbudowane podczas kompilacji jądra.

„y” oznacza, że ​​wsparcie jest wbudowane w jądro

„m” oznacza, że ​​sterownik jest zbudowany jako moduł jądra

daya
źródło
1

Sprawdź zgodny kod sterownika, a dla każdego sterownika w makefile będzie zdefiniowane makro. Wybierz to makro jako ylub w moparciu o twoje wymagania. Nie zapomnij również wybrać sterowników zależnych od klawiatury, które mogą być rdzeniem USB i sterownikami ukrytymi.

Zasugeruję, aby lepiej uruchomić make menuconfigarchitekturę i wybrać sterownik klawiatury. Umożliwi to wszystkim zależnym sterownikom.

iSegmentationF
źródło
0

Nie są to makra, jak są tutaj, ale stają się makrami dla kodu C do użycia w wygenerowanym pliku include / wygenerowany / autoconf.h.

  • CONFIG_XXXXXX=ystanie się #define CONFIG_XXXXXX 1później.
  • CONFIG_XXXXXX=mstanie się #define CONFIG_XXXXXX_MODULE 1później.

Pozycje nie zdefiniowane tutaj nie będą #definedpóźniej.

emrainey
źródło