LINUX.ORG.RU

Перенос модуля из 2.6x в 3.x ядро

 , , , ,


0

1

Есть плата на базе SAM9G25, понадобилось перенести модуль из ядра 2.6.39 в 3.18.20, модуль перестал видеть заголовок mach/gpio.h, я так понял это как то связанно с dts.
Для старого ядра я определял ножки так

#define PIN_START                       AT91_PIN_PA3
#define PIN_RESET                       AT91_PIN_PA8 
#define PIN_CS                          AT91_PIN_PA14
#define PIN_DRDY                        AT91_PIN_PA7
#define PIN_DIN                         AT91_PIN_PA12


Теперь эти пины он не видит, пины нужны для работы с ADC по SPI, подскажите как мне определять пины в ядре 3.x . Так же мне пришлось перенести определение spi, из board-sam9x25ek.c. Не совсем уверен что получилось правильно:
static struct spi_board_info ariag25_spi_devices[] = {
    {
        .modalias    = "adcspi",
        .chip_select    = 0,
        .max_speed_hz    = 3 * 1000 * 1000,
        .bus_num    = 0,
        .mode = SPI_MODE_1,
    },
};

В dts ядра 3.х:
			spi0: spi@f0000000 {
    				status = "okay";
    				interrupts = <13 4 5>;
    				cs-gpios = <&pioA 14 0>, <&pioA 7 0>, <0>, <0>;

    				adcspi@0 {
        			compatible = "adcspi";
        			spi-max-frequency = <3000000>;
				spi-cpha;
        			reg = <0>;
    				};
			};

★★★★★

А почему именно 3.18? Атмел именно на этой версии перешёл на ДТС. Если версию поменьше возьмёте, то останетесь ещё с сишными BSP

Задача слишком специфичная. Смотрите, что народ в EvaluationKit платах пишет.

Я полтора года назад переезжал с 3.10 на 4.1 для атмеловского контроллера. Запарился разбираться со своим ДТС и переносом своих драйверов. Недели две история длилась.

Удачи,
velik

velikS
()
Ответ на: комментарий от velikS

Мне необходимо ядро с патчем реального времени, в данной ветке нормально поддерживается только ядро 3.18.20

splinter ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.