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,
};
sysfs: cannot create duplicate filename '/class/spi_master/spi1'的更多相关文章
- Linux设备模型——设备驱动模型和sysfs文件系统解读
本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的 ...
- sysfs分析
Linux设备模型——设备驱动模型和sysfs文件系统解读 内核版本:2.6.30 1. What is sysfs? 个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应 ...
- 概述sysfs文件系统【转】
转自:http://blog.csdn.net/npy_lp/article/details/78933292 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 sys ...
- linux driver module
本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的 ...
- 使用Gadget 做usb鼠标键盘设备
使用Gadget 做usb鼠标键盘设备 感谢TI社区提供的好帮助啊!http://e2e.ti.com/support/arm/sitara_arm/f/791/p/571771/2103409?pi ...
- Git error: unable to create file xxx: Filename too long
一.问题描述 在使用 git 时,提示 error: unable to create file xxx: Filename too long error: unable to create file ...
- How to create a Virtual Machine in SmartOS
在SmartOS中,使用vmadm创建工具创建虚拟机. 此工具需要一个JSON有效负载,并使用输入JSON中指定的属性创建“kvm”或“joyent” brand zone. 正常输出是一系列单行JS ...
- MDEV Primer
/************************************************************************** * MDEV Primer * 说明: * 本文 ...
- 关于热插拔usb hotplug /proc/sys/kernel mdev udev b...
转:http://www.360doc.com/content/10/0527/18/9922_29835045.shtml 这篇文章说的很好http://blog.chinaunix.net/u1/ ...
随机推荐
- HIVE 配置文件详解
hive的配置: hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置: hive.exec.scri ...
- 【转】meta标签中的http-equiv属性使用介绍
meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言, ...
- JBOSS invoker GETSHELL(PHP版)
<?php $target = @$argv[1]; $procotol = @$argv[2]; if ($argc < 2) { print "[-]:php Jboss.p ...
- linux中动态链接库的创建与使用
LINUX系统中动态链接库的创建与使用 http://www.cnblogs.com/ardar/articles/357321.html 正常C源文件编写,编译时-shared即可得到SO, gcc ...
- numpy nonzero与isnan
nonzero 直接看例子: In [83]: x = np.array([[1,0,0], [0,2,0], [1,1,0]]) In [84]: x.shape Out[84]: (3L, 3L) ...
- 使用Blob获取图片并二进制显示实例页面
HTML代码: <div id="forAppend" class="demo"></div> JS代码: var eleAppend ...
- spring:自定义限定符注解@interface, 首选bean
spring:自定义限定符注解@interface, 首选bean 1.首选bean 在声明bean的时候,通过将其中一个可选的bean设置为首选(primary)bean能够避免自动装配时的歧义性. ...
- 安装及使用webpack
Webpack 什么是webpack:现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端社区涌现出了很多好的实践方法:1.模 ...
- Redis 存储机制
Redis存储机制分成两种Snapshot和AOF.无论是那种机制,Redis都是将数据存储在内存中. Snapshot工作原理: 是将数据先存储在内存,然后当数据累计达到某些设定的伐值的时候,就会触 ...
- mysql 自增长 AUTO_INCREMENT
Mysql可以使用AUTO_INCREMENT来设定主键的值为自增长的,其默认值是1. 如果想把它的初始值设置为n,可执行:alter table table_name auto_increment= ...