当前位置: 技术问答>linux和unix
为什么在/dev目录下不能生成spidev1.0的设备文件
来源: 互联网 发布时间:2017-05-28
本文导语: static struct spi_board_info imx5_spi_printer_device[] __initdata = { { .modalias = "spidev", .max_speed_hz = 8000000, .bus_num = 1, .chip_select = 0, .mode = SPI_MODE_0, }, }; static void spi_device_init(void) { spi_register_board_info(imx5_spi_printer_...
static struct spi_board_info imx5_spi_printer_device[] __initdata =
{
{
.modalias = "spidev",
.max_speed_hz = 8000000,
.bus_num = 1,
.chip_select = 0,
.mode = SPI_MODE_0,
},
};
static void spi_device_init(void)
{
spi_register_board_info(imx5_spi_printer_device,ARRAY_SIZE(imx5_spi_printer_device));
}
请问我还需要哪些配置才能在/dev下生成spidev1.0的设备文件,菜鸟求解
|
我之前搞过一下SPI,那个时候,只用设置了设备名称、ID号、片选这些信息,就自动生成了。
在调试过程中,我换了几个片选,发现生成不了设备文件,就跟踪着SPI驱动的代码,并printk出来,才发现在哪里错了。
楼主也试试打印一下主要过程的关键地方。
祝好!
在调试过程中,我换了几个片选,发现生成不了设备文件,就跟踪着SPI驱动的代码,并printk出来,才发现在哪里错了。
楼主也试试打印一下主要过程的关键地方。
祝好!
|
/arch/arm/boot/dts 文件中有相关的硬件描述信息。这些信和你的driver中的name字段匹配,然后调用probe函数。在probe函数中会调用device_create之类的函数。这样的一系列操作以后,在你的dev目录下会有你的设备。最终调用的是register之类的函数。