关于SPI设备驱动程序中如何设置CS片选的问题?

针对spi Device driver中,一般都会调用以下三个接口来进行spi xfer中数据的传输工作
spi_message_init(&msg);|
spi_message_add_tail(&xfer[0], &msg);
spi_sync(dac, &msg);
在调用spi_sync这个接口后,根据韦老师在19_编写SPI_Master驱动程序_老方法视频中讲的是使用的老方法进行的传输


但是在该方法的调用流程中,并未看到有设置片选引脚的动作;
而在新方法中明显可以看到有调用spi_set_cs接口来选择Device中对应的片选引脚;
所以我的问题是 在老方法的传输中具体是在哪里选择片选引脚的?还麻烦老师给解答下,最好可以把代码细节贴出来 感谢!

对于老的方法,在spi master的transfer函数里选中芯片。
举例:

  1. 初始化:
    drivers\spi\spi-topcliff-pch.c: master->transfer = pch_spi_transfer;

  2. pch_spi_transfer:
    它唤醒一个工作队列 schedule_work(&data->work);

  3. 工作队列对应的函数:
    INIT_WORK(&data->work, pch_spi_process_messages);

  4. 工作队列里选中设备:
    pch_spi_process_messages > pch_spi_select_chip(data, data->current_msg->spi);