我是设备驱动程序编写的新手,我需要编写一个SPI驱动程序来访问ARM上运行的嵌入式Linux的闪存。
我不明白的是,我是否需要注册一个主要和次要号码的驱动程序?或平台设备驱动程序还需要一个主要和次要数字?
如果是,何时以及如何分配?
我想,我将使用platform_driver_register()
来注册驱动程序。
答案 0 :(得分:1)
您无需注册主要或次要号码。你的问题实际上不够精确。您想为特定的SPI闪存编写驱动程序还是为SPI主机编写驱动程序?
如果这是一个SPI闪存,您想要的是使用struct spi_driver
注册您的驱动程序module_spi_driver()
然后在探测中,使用{{1在MTD susbsystem中注册您的设备}}。 MTD susbsystem将为您注册主要和未成年人。
如果您需要为主机编写驱动程序,那么您将使用mtd_device_parse_register
和struct platform_driver
注册您的驱动程序。在您的探索中,您将使用module_platform_driver()
您可能应该阅读一下Linux设备模型以获得进一步的解释。