spi: enable spi_board_info to be registered after spi_master
Currently spi_register_board_info() has to be called before its related spi_master be registered, otherwise these board info will be just ignored. This patch will remove this order limit, it adds a global spi master list like the existing global board info listr. Whenever a board info or a spi_master is registered, the spi master list or board info list will be scanned, and a new spi device will be created if there is a master-board info match. Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
@ -204,6 +204,7 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv)
|
||||
/**
|
||||
* struct spi_master - interface to SPI master controller
|
||||
* @dev: device interface to this driver
|
||||
* @list: link with the global spi_master list
|
||||
* @bus_num: board-specific (and often SOC-specific) identifier for a
|
||||
* given SPI controller.
|
||||
* @num_chipselect: chipselects are used to distinguish individual
|
||||
@ -238,6 +239,8 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv)
|
||||
struct spi_master {
|
||||
struct device dev;
|
||||
|
||||
struct list_head list;
|
||||
|
||||
/* other than negative (== assign one dynamically), bus_num is fully
|
||||
* board-specific. usually that simplifies to being SOC-specific.
|
||||
* example: one SOC has three SPI controllers, numbered 0..2,
|
||||
|
Reference in New Issue
Block a user