Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Syntax of files.* configuration
On Sat, Jun 21, 2025 at 12:08:50 +0000, Vincent DEFERT wrote:
> Is there any documentation explaining this syntax?
Have you checked config(5)? It's a bit terse, but it should answer
all of your questions, I think.
> - what the optional 'with meson_uart' means
> - where and how the 'meson_uart' boolean is set
| Different attach definitions must use different names using
| the with option. It is then possible to use the associated
| name as a conditional element in a file statement.
> - whether there is a relationship between the names in those configuration
> files and the first argument of the CFATTACH_DECL_NEW macro
Yes, config(1) creates (among other things) the ioconf.c file for the
kernel, and "attach" directives
attach base at attr[, attr[, ...]] [with name] [: dependencies]
emit references to struct cfattach named either ${name}_ca, or
${base}_ca if there's no "with" clause.
When you implement the attachment, you provide the struct cfattach
definition with one of the CFATTACH_DECL* macros (that adds the "_ca"
suffix to its first argument).
So for
attach foo at bar
define CFATTACH_DECL*(foo, ...) - probably in what is your only driver
file, foo.c that has both the driver and its only attachment.
And for
attach foo at bar with foo_bar
define CFATTACH_DECL*(foo_bar, ...) in the file with that specific
attachment, probably named dev/bar/foo_bar.c (or something similar
under arch). The bar attachment glue is typically included into the
kernel with
file dev/bar/foo_bar.c foo_bar
in dev/bar/file.bar where the conditional guard makes sure that file
is used only when there's actually foo* at bar? attachment in your
kernel config.
-uwe
Home |
Main Index |
Thread Index |
Old Index