SPI设备驱动简单测试例子

内容如下: 

/*

test spi device driver

add by zjh 2011-08-10

*/

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/sched.h>

#include <linux/spi/spi.h>

#define TEST_REG 0x08


static int read_reg(struct spi_device *spi,int reg)
{
 char buf[2];
 
 buf[0] = reg <<3;

 spi_write_then_read(spi,buf,2,buf,2);
 
 return buf[1]<<8 ;
 
 
}

static int spi_test_probe(struct spi_device *spi)
{
 printk("\n----------------------------\n");
 printk("TEST_REG:0x%02x\n",read_reg(spi,TEST_REG));
 printk("\n----------------------------\n");
 return 0; 
 
}

static int spi_test_remove(struct spi_device *spi)
{
 printk(" spi driver remove\n");
 return 0; 
 
}

static struct spi_driver spi_test_driver={
    .probe = spi_test_probe,
    .remove = spi_test_remove,
    .driver ={
     .name = "testspi",
     },
 };

static int __init spi_test_init(void)
{
  return spi_register_driver(&spi_test_driver);
 
}

static void __exit spi_test_exit(void)
{
  spi_unregister_driver(&spi_test_driver); 
}

module_init(spi_test_init);
module_exit(spi_test_exit);

MODULE_DESCRIPTION("spi device test");
MODULE_LICENSE("GPL");

第二步,在/driver/spi/Makefile 文件中添加一行,如下图

 

第三步,/driver/spi/Kconfig文件中添加如下几行:

 

config SPI_TESTSPI
 tristate "Test SPI device driver"
 help
   This user test driver spi
   mode.

 

第四步,make menuconfig

 

第五步,编译。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值