From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 8 Jul 2005 17:35:22 +0400 From: Grigory Batalov To: ALT Linux kernel packages development Subject: Re: [d-kernel] viafb & vt1211 kernel modules Message-ID: <20050708133522.GA30489@lrn.ru> References: <20050708144020.6a179bc0.bga@altlinux.ru> <20050708115010.GA5552@master.mivlgu.local> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20050708115010.GA5552@master.mivlgu.local> X-BeenThere: devel-kernel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jul 2005 13:35:22 -0000 Archived-At: List-Archive: List-Post: On Fri, Jul 08, 2005 at 03:50:10PM +0400, Sergey Vlasov wrote: > > Я добавил в CVS поддержку фреймбуффера для VIA: feat/drivers-viafb. > > Патч взял отсюда: http://patcher2k.012webpages.com/, лишь подогнал > > Makefile для 2.6.12. На моей VIA EPIA-MII12000 теперь видно консоль > > в телевизоре =). > > При беглом просмотре обнаружены как минимум следующие ошибки: > > 1) static char * mode __initdata = "720x576" и все последующие аналогичные > переменные не должны быть помечены как __initdata - эти переменные должны > оставаться доступными для чтения текущих значений параметров модуля через > sysfs. Аналогичная ошибка была в драйвере intelfb в 2.6.11 (в > kernel-fix-drivers-video по этому поводу был 2.6_01_intelfb-oops.patch; > сейчас там его нет, поскольку в 2.6.12 эту ошибку исправили). > > 2) static struct fb_fix_screeninfo viafb_fix __initdata - тут должно быть > __devinitdata. > > 3) Нет проверки успешного выполнения framebuffer_alloc() и > fb_alloc_cmap(). > > 4) В случае неудачного завершения setmode() или register_framebuffer() не > освобождаются ресурсы. Ну да, я уже один раз словил kernel oops =). > > Правда, для этого пришлось вынести vesafb в модуль и не загружать > > его, поскольку вместо него используется viafb. > > Должно быть достаточно убрать параметр vga=... Спасибо, попробую. > > Модуль vt1211 для std26-up устанавливается в странное место, > > что-то вроде > > /lib/modules/2.6.12-std26-up-alt1/lib/modules/2.6.12-std26-up-alt1/extra > > Предлагаю для него более подходящее: > > /lib/modules/2.6.12-std26-up-alt1/drivers/i2c/chips > > Вообще-то основная масса kernel-modules-* складывается как раз в отдельные > каталоги (в частности, чтобы возникало меньше вопросов по поводу того, > какие каталоги каким пакетам принадлежат). А для modprobe не имеет > значения, в какой подкаталог засунут модуль. Так а 2.6.12-std26-up-alt1 зачем два раза? Пусть бы хоть extra/vt1211, а то очень похоже на ошибку упаковки. > > Прилагаю патч для std26-up, добавляющий модуль viafb и выносящий > > vesafb из ядра в модуль, > > vesafb выносу в модуль не поддаётся в принципе. Скорее всего, в > результате такого редактирования файла конфигурации он просто отключился > (нормальным способом CONFIG_FB_VESA=m поставить нельзя). Наверное, так. Я поставил =m руками, а потом уже не проверял, что там после пересборки в конфиге получилось =). Да и Бог с ним, раз можно просто убрать vga. -- Grigory Batalov