繁体   English   中英

为 Linux 驱动程序添加设备数据结构和注册

[英]Adding device data structures and registration for Linux driver

我正在添加一个陀螺仪/加速度驱动程序 (Invensense MPU3050), 我的 kernel (LPC Linux) 上可用。 我使用 LTIB 来构建映像和 rootfs。

我设法添加了所有文件,并且驱动程序可用并且可以完美编译。 现在我需要在“board-generic.c”文件( README )的 i2c_board_info_structure 中添加一个 mpu3050_platform_data 结构,然后在同一个“board-generic.c”文件中添加一些行来注册它。

问题是,我找不到这个/这些文件/s。 他们的名字是否取决于 linux 分布? 相同的信息是否写在其他地方?

您需要将此添加到支持您正在使用的 tegra 板的文件中。 在当前的 3.0-rc3 kernel(我检查的最后一个标签)中,我看到了这些 tegra 板文件(在 arch/arm/mach-tegra 中):

  • 板和谐.c
  • 板-paz00.c
  • 板-seaboard.c
  • 板-trimslice.c

这些文件为给定的 tegra 板配置 static 器件。 然后,您的配置文件会选择构建哪些配置文件。 以下是相应的配置选项(来自 arch/arm/mach-tegra/Kconfig):

comment "Tegra board type"

config MACH_HARMONY
       bool "Harmony board"
       select MACH_HAS_SND_SOC_TEGRA_WM8903
       help
         Support for nVidia Harmony development platform

config MACH_KAEN
       bool "Kaen board"
       select MACH_SEABOARD
       select MACH_HAS_SND_SOC_TEGRA_WM8903
       help
         Support for the Kaen version of Seaboard

config MACH_PAZ00
       bool "Paz00 board"
       help
         Support for the Toshiba AC100/Dynabook AZ netbook

config MACH_SEABOARD
       bool "Seaboard board"
       select MACH_HAS_SND_SOC_TEGRA_WM8903
       help
         Support for nVidia Seaboard development platform. It will
     also be included for some of the derivative boards that
     have large similarities with the seaboard design.

config MACH_TRIMSLICE
       bool "TrimSlice board"
       select TEGRA_PCI
       help
         Support for CompuLab TrimSlice platform

config MACH_WARIO
       bool "Wario board"
       select MACH_SEABOARD
       help
         Support for the Wario version of Seaboard

您的构建系统 (LTIB) 肯定定义了这些配置宏之一(例如 CONFIG_MACH_HARMONY)。 查看您的配置文件,查看启用了哪个,然后在相应的 board-xxx.c 文件中添加您的 i2c 设备的声明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM