Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Syntax of files.* configuration
Hi!
I want to write an I2C driver for the Allwinner Meson target, so I have
explored the source tree to try and understand how existing drivers worked.
I get how the C code works, but I struggle to understand the various
build configuration files.
If I take the UART driver as an example, I've found:
- In arch/evbarm/conf/GENERIC64, the following line:
mesonuart* at fdt? pass 4 # Amlogic Meson UART
- In arch/arm/amlogic/files.meson, the following snippet:
device mesonuart
attach mesonuart at fdt with meson_uart
file arch/arm/amlogic/meson_uart.c meson_uart
I understand that:
- the 'mesonuart' in GENERIC64 is the same as in files.meson
- the * after mesonuart reflects the fact that there may be several
instances of the driver
- 'device' declares the new driver, and optionally the interfaces it
implements, specified after a colon (i2cbus and i2cexec in my case)
- 'attach' means the driver is attached to the matching devices from the
device tree based on their 'compatible' identifier
- 'file' declares the C module implementing the driver when the optional
boolean expression after the file name is true
I don't understand:
- what the ? after 'fdt' and 'pass 4' mean
- what the optional 'with meson_uart' means
- where and how the 'meson_uart' boolean is set
- whether there is a relationship between the names in those
configuration files and the first argument of the CFATTACH_DECL_NEW macro
Is there any documentation explaining this syntax?
Or alternatively, could you please clarify these points?
Thank you in advance!
Vincent
Home |
Main Index |
Thread Index |
Old Index