SPI_REGISTER_BOARD_I(9) | Serial Peripheral Interface (S | SPI_REGISTER_BOARD_I(9) |
NAME¶
spi_register_board_info - register SPI devices for a given board
SYNOPSIS¶
int spi_register_board_info(struct spi_board_info const * info, unsigned n);
ARGUMENTS¶
info
n
CONTEXT¶
can sleep
DESCRIPTION¶
Board-specific early init code calls this (probably during arch_initcall) with segments of the SPI device table. Any device nodes are created later, after the relevant parent SPI controller (bus_num) is defined. We keep this table of devices forever, so that reloading a controller driver will not make Linux forget about these hard-wired devices.
Other code can also call this, e.g. a particular add-on board might provide SPI devices through its expansion connector, so code initializing that board would naturally declare its SPI devices.
The board info passed can safely be __initdata ... but be careful of any embedded pointers (platform_data, etc), they're copied as-is.
RETURN¶
zero on success, else a negative error code.
COPYRIGHT¶
January 2017 | Kernel Hackers Manual 4.8. |