Есть плата на базе 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>;
};
};