Добавление структур данных устройства и регистрация для драйвера Linux - PullRequest
0 голосов
/ 11 июля 2011

Я добавляю драйвер гироскопа / ускорения (Invensense MPU3050), доступный здесь для моего ядра (LPC Linux).Я использую LTIB для создания образа и rootfs.

Я могу добавить все файлы, драйвер доступен и отлично компилируется!Теперь мне нужно добавить структуру mpu3050_platform_data в i2c_board_info_structure в файле "board-generic.c" ( README ), а затем зарегистрировать ее, добавив несколько строк в тот же файл "board-generic.c".

Проблема в том, что я не могу найти этот / эти файлы.Их имя зависит от дистрибутива Linux?Та же самая информация записана где-то еще?

1 Ответ

1 голос
/ 12 июля 2011

Вам необходимо добавить это в файл, поддерживающий используемую вами платформу Tegra. В текущем ядре 3.0-rc3 (последний тэг, который я извлек), я вижу файлы Tegra Board (в arch / arm / mach-tegra):

  • плата-harmony.c
  • плата-paz00.c
  • плата-seaboard.c
  • плата-trimslice.c

Эти файлы настраивают статические устройства для данной платы Tegra. Ваш конфигурационный файл затем выбирает, какие из них построены. Вот соответствующие параметры конфигурации (из 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). Посмотрите файл конфигурации, посмотрите, какой из них включен, и добавьте объявление вашего устройства i2c в соответствующий файл board-xxx.c.

...