首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有可选多平台驱动程序接口的Linux设备驱动程序

具有可选多平台驱动程序接口的Linux设备驱动程序
EN

Stack Overflow用户
提问于 2018-09-30 16:01:08
回答 1查看 157关注 0票数 0

假设我有一个具有多个接口选项的芯片,例如,该芯片可能有一个I2C接口和一个SPI接口,我可以选择其中一个接口并相应地连接设备。我将如何为这样的设备编写linux设备驱动程序?

具有这种行为的芯片是ssd1307,它已经在主线linux内核(https://github.com/torvalds/linux/blob/master/drivers/video/fbdev/ssd1307fb.c)中实现了驱动程序,它只为其I2C接口实现(该芯片还具有3/4 Wire接口)。正如您在代码中所看到的,探测函数在很大程度上依赖于它是一个I2C接口,因此为了使用SPI接口,我需要编写一个全新的驱动程序,重复许多常见的代码,或者插入许多#ifdefs,这对我来说似乎不是很好的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-07 20:55:06

对于提供多种接口类型的芯片,标准实践是为其提供核心驱动程序和接口特定的前端。

有几个例子,例如声音/soc/codecs/: pcm179x.c / pcm179x-i2c.c / pcm179x-spi.c等。

这还不是(现在?)为ssd1307做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52579617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档