sysfs: cannot create duplicate filename '/class/spi_master/spi1'
在編寫SPI驅動程序的時候,遇到如下問題
s3c2410-spi s3c2410-spi.0: master is unqueued, this is deprecated
------------[ cut here ]------------
WARNING: at fs/sysfs/dir.c:508 sysfs_add_one+0x80/0xa4()
sysfs: cannot create duplicate filename '/class/spi_master/spi1'
Modules linked in:
[<c000e9b0>] (unwind_backtrace+0x0/0xf8) from [<c0017a24>] (warn_slowpath_common+0x48/0x60)
[<c0017a24>] (warn_slowpath_common+0x48/0x60) from [<c0017ad0>] (warn_slowpath_fmt+0x30/0x40)
[<c0017ad0>] (warn_slowpath_fmt+0x30/0x40) from [<c00d0fe8>] (sysfs_add_one+0x80/0xa4)
[<c00d0fe8>] (sysfs_add_one+0x80/0xa4) from [<c00d2060>] (sysfs_do_create_link+0x110/0x1f8)
[<c00d2060>] (sysfs_do_create_link+0x110/0x1f8) from [<c01859b8>] (device_add+0x2d0/0x66c)
[<c01859b8>] (device_add+0x2d0/0x66c) from [<c01cc7d4>] (spi_register_master+0x74/0x270)
[<c01cc7d4>] (spi_register_master+0x74/0x270) from [<c01ccde8>] (spi_bitbang_start+0x104/0x17c)
[<c01ccde8>] (spi_bitbang_start+0x104/0x17c) from [<c02d1ee8>] (s3c24xx_spi_probe+0x1e4/0x374)
[<c02d1ee8>] (s3c24xx_spi_probe+0x1e4/0x374) from [<c0188df4>] (platform_drv_probe+0x18/0x1c)
[<c0188df4>] (platform_drv_probe+0x18/0x1c) from [<c0187a90>] (driver_probe_device+0x84/0x214)
[<c0187a90>] (driver_probe_device+0x84/0x214) from [<c0187cac>] (__driver_attach+0x8c/0x90)
[<c0187cac>] (__driver_attach+0x8c/0x90) from [<c0186530>] (bus_for_each_dev+0x64/0x90)
[<c0186530>] (bus_for_each_dev+0x64/0x90) from [<c0186c70>] (bus_add_driver+0x180/0x248)
[<c0186c70>] (bus_add_driver+0x180/0x248) from [<c018826c>] (driver_register+0x58/0x130)
[<c018826c>] (driver_register+0x58/0x130) from [<c0008560>] (do_one_initcall+0x34/0x17c)
[<c0008560>] (do_one_initcall+0x34/0x17c) from [<c03c030c>] (kernel_init+0xf4/0x1bc)
[<c03c030c>] (kernel_init+0xf4/0x1bc) from [<c000a1e8>] (kernel_thread_exit+0x0/0x8)
---[ end trace 4b71d52102dc89fe ]---
s3c2410-spi s3c2410-spi.1: Failed to register SPI master
s3c2410-spi: probe of s3c2410-spi.1 failed with error -17
錯誤的原因是:
cannot create duplicate filename '/class/spi_master/spi1' ?
創建了兩個相同的控制器,創建了兩次控制器1
解決方案:找到設置為 ?控制器1 的, ?.bus_num ,將它設為0
struct s3c2410_spi_info spi0_info={
.num_cs =0xffff ,
.bus_num ? = 0, //1 , ?//把1改成0 。 ? bus_num的值就是幾號控制器
.set_cs =s3c_spi_set_cs,
};
轉載于:https://www.cnblogs.com/alan666/p/8311954.html
總結
以上是生活随笔為你收集整理的sysfs: cannot create duplicate filename '/class/spi_master/spi1'的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络的网络——当今的互联网
- 下一篇: Hive环境的安装部署(完美安装)(集群