Linux下SPI驅動分析 2

2021-05-24 11:14:20 字數 1998 閱讀 8719

接上乙個繼續看spi.c。

/* 名詞解釋of: openfirmware

* 呼叫層次spi_match_device-->of_driver_match_device-->of_match_device-->

* of_match_node

* 用於驅動程式檢查platform_device是否在其支援列表裡

*/80static

int spi_match_device(struct device *dev, struct device_driver *drv)

8194

/* struct kobj_uevent_env 是核心使用者空間的乙個環境引數

* uevent是sysfs向使用者空間發出的訊息,這裡實際上新增的是一串字串訊息。

* 關於uevent參考:http://blog.csdn.net/walkingman321/archive/2010/10/01/5917737.aspx

*/95static

int spi_uevent(struct device *dev, struct kobj_uevent_env *env)

96

/* 配置了電源管理

* 現在不清楚suspend和resume函式**實現,等找到了再說

*/ 103#ifdef config_pm

104/* 掛起

*/105static

int spi_suspend(struct device *dev, pm_message_t message)

106117 return value;

118}

119/* 恢復

*/120static

int spi_resume(struct device *dev)

121132 return value;

133}

134135#else

/* 沒有電源管理 */

136#define spi_suspend null

137#define spi_resume null

138#endif

/* 匯流排 參考:http://hi.baidu.com/xingzuzi/blog/item/d12c03f473b3c2a0a50f5260.html

*/140struct bus_type spi_bus_type = ;

148export_symbol_gpl(spi_bus_type);

/* 驅動註冊

*/151static

int spi_drv_probe(struct device *dev)

152157

/* 驅動刪除

*/158static

int spi_drv_remove(struct device *dev)

159164

/* 關閉

*/165static

void spi_drv_shutdown(struct device *dev)

166

/* 註冊spi驅動

*/172/**

173 * spi_register_driver - register a spi driver

174 * @sdrv: the driver to register

175 * context: can sleep

176 */

177int spi_register_driver(struct spi_driver *sdrv)

178188export_symbol_gpl(spi_register_driver);

今天先到這了。。。明天繼續

linux下spi驅動分析

核心版本 linux 2.6.29 主要的幾個結構platform device platform driver s3c24xx spi spi master spi bitbang spi device spi driver spidev data s3c spi info第一步 註冊platfo...

Linux下SPI驅動簡解

基礎知識 第一點 硬體四線 第二點 重要結構體和函式 struct spi device struct spi message struct spi transfer int spi async struct spi device spi,struct spi message message sta...

Linux裝置驅動 SPI驅動

spi驅動匯流排架構 spi核心層 x spi控制器驅動層 x spi裝置驅動層 spi函式介面 api 簡單介紹spi協議,硬體原理 4412datasheet sdi 資料輸入buf i2c scl6 sdo 資料輸出buf i2c sda6 sclk 時鐘buf gpc1 1 cs 片選bk ...