написал консольную программку, где для доступа к физической памяти использовалась mmap ; при этом подключался заголовочный файл sys/mman.h
в makefile никаких дополнительных путей не указывал,
но все собирается, все работает, гут.
то есть где-то она находит этот mman.h
теперь переношу это в драйвер. подключаю тот же sys/mman.h
сборка делается таким мейкфайлом:
проблема в том, что для сборки модуля make переходит в папку с исходниками ядра, и при этом путь sys/mman.h уже не находится :(
что самое странное, я пробовал через mc искать в папке /home/user/src/linux-2.6.28 файл mman.h - находится несколько штук, но в них нет определения mmap!
:'-(
дурацкий вопрос - а зачем оно (mmap) вам надо в драйвере?
пином подрыгать, регистр прочитать, ячейку памяти изменить?
это все делается прямо в линуксе функциями к соответствующему АРМу
да, спасибо.
в принципе я ее использовал, но не знал что с ней можно использовать блочные функции (memcpy_fromio), думал что только чтение по словам и байтам (ioread32 и т.п.).
с ioremap_nocache все откомпилировалось и даже как будто работает :)