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/ ...
随机推荐
- shell中嵌套执行expect命令实例(利用expect实现自动登录)
expect是 #!/bin/bashpasswd='123456'/usr/bin/expect <<EOFset time 30spawn ssh root@192.168.76.10 ...
- PHP开发框架
利用PHP开发框架可以帮助你编写干净和可重用的代码.PHP开发框架遵循MVC设计模式,以确保能够明确区分逻辑和演示文稿.但是有关PHP框架的争论也不少,这是因为有的人喜欢性能,有的人喜欢文档,而有的人 ...
- 【bzoj1040】骑士[ZJOI2008](树形dp)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1040 这道题,很明显根据仇恨关系构造出的图形是一堆环套树.如果是普通的树,就可以马上裸树 ...
- 【转】java中静态方法和非静态方法的存储
将某 class 产生出一个 instance 之后,此 class 所有的 instance field 都会新增一份,那么所有的 instance method 是否也会新增一份?答案是不会,我们 ...
- Android当下最流行的开源框架总结
Android中能够简化开发流程的一些框架 本文介绍的是一些博主在开发过程中经常用到的Android开源框架,所谓开源框架我的理解就是别人封装好的代码,可以直接拿过来使用,并且源码也全部公开的代码库. ...
- redis.h
[对象] typedef struct redisObject { unsigned type:4;[REDIS_STRING,REDIS_LIST, HASH, SET, ZSET] ...
- ES6-let命令
let命令 用于声明变量,但是声明的变量只能在let命令所在的代码块内有效, { let a = 10; var b = 1; } 其中,a在代码块的外部是调用不到的.对于for循环的计数器里面,就很 ...
- NSObject头文件解析 / 消息机制 / Runtime解读 (二)
本章接着NSObject头文件解析 / 消息机制 / Runtime解读(一)写 给类添加属性: BOOL class_addProperty(Class cls, const char *name, ...
- LeetCode OJ:Minimum Path Sum(最小路径和)
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
- hdu-2544-最短路(dijkstra算法模板)
题目链接 题意很清晰,入门级题目,适合各种模板,可用dijkstra, floyd, Bellman-ford, spfa Dijkstra链接 Floyd链接 Bellman-Ford链接 SPFA ...