Linux spi驱动分析(二)----SPI核心(bus、device_driver和device)
一、spi总线注册
        这里所说的SPI核心,就是指/drivers/spi/目录下spi.c文件中提供给其他文件的函数,首先看下spi核心的初始化函数spi_init(void)。程序如下:
- static int __init spi_init(void)
 - {
 -     int    status;
 
-     buf = kmalloc(SPI_BUFSIZ, GFP_KERNEL);
 -     if (!buf)
{
 -         status = 
-ENOMEM;
 -         goto err0;
 -     }
 
-     status = bus_register(&spi_bus_type);
 -     if (status
< 0)
 -         goto err1;
 
-     status = class_register(&spi_master_class);
 -     if (status
< 0)
 -         goto err2;
 -     return 0;
 
- err2:
 -     bus_unregister(&spi_bus_type);
 - err1:
 -     kfree(buf);
 -     buf = NULL;
 - err0:
 - &