驱动架构
platform_device与platform_driver匹配进入probe,注册spi_master
在spi_master list和spi_board_info list总寻找匹配的bus num,并注册spi_device
spi_device与spi_driver匹配进入spi_probe函数开始spi device相关的操作。
添加一个spi设备
添加spi_board_info
在bsp目录下添加一个spi_board_info,并使用spi_register_board_info注册它。
这个spi_board_info在注册的时候会寻找SPI_GPIO_BUS_NUM指定的bus num,一旦匹配便创建一个struct spi_device,name为xxx
添加spi设备驱动
可以参考drivers/spi/spidev.c文件中spidev设备驱动的注册,实现一个struct spi_driver,它的name要与上一步创建的struct spi_device的name相匹配
至此,struct spi_device就有了对应的struct spi_driver驱动。
参考文章