* [d-kernel] viafb & vt1211 kernel modules
@ 2005-07-08 10:40 Grigory Batalov
2005-07-08 11:50 ` Sergey Vlasov
0 siblings, 1 reply; 3+ messages in thread
From: Grigory Batalov @ 2005-07-08 10:40 UTC (permalink / raw)
To: devel-kernel
[-- Attachment #1.1: Type: text/plain, Size: 815 bytes --]
Здравствуйте!
Я добавил в CVS поддержку фреймбуффера для VIA: feat/drivers-viafb.
Патч взял отсюда: http://patcher2k.012webpages.com/, лишь подогнал
Makefile для 2.6.12. На моей VIA EPIA-MII12000 теперь видно консоль
в телевизоре =).
Правда, для этого пришлось вынести vesafb в модуль и не загружать
его, поскольку вместо него используется viafb.
Модуль 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
Прилагаю патч для std26-up, добавляющий модуль viafb и выносящий
vesafb из ядра в модуль, а также патч для vt1211.
Кто выносит вердикт по подобным изменениям, чтобы все подряд
не начали ломать ядра? =)
[-- Attachment #1.2: std26-up.diff --]
[-- Type: text/plain, Size: 1369 bytes --]
diff -ruN std26-up.orig/kernel-image-std26-up.spec std26-up/kernel-image-std26-up.spec
--- std26-up.orig/kernel-image-std26-up.spec 2005-07-04 19:45:40 +0400
+++ std26-up/kernel-image-std26-up.spec 2005-07-08 13:09:12 +0400
@@ -51,6 +51,7 @@
#add_patch_list kernel-feat-drivers-drm
%add_patch_list kernel-feat-drivers-video-splash
+%add_patch_list kernel-feat-drivers-viafb
%add_patch_list kernel-feat-drivers-input
%add_patch_list kernel-feat-drivers-lirc
%add_patch_list kernel-feat-drivers-net-sk98lin
diff -ruN std26-up.orig/modules.build std26-up/modules.build
--- std26-up.orig/modules.build 2005-07-04 19:45:40 +0400
+++ std26-up/modules.build 2005-07-08 13:09:12 +0400
@@ -14,3 +14,4 @@
unionfs
ipw2100
ipw2200
+vt1211
diff -ruN std26-up.orig/SOURCES/config-2.6.12-std26-up std26-up/SOURCES/config-2.6.12-std26-up
--- std26-up.orig/SOURCES/config-2.6.12-std26-up 2005-07-02 20:52:16 +0400
+++ std26-up/SOURCES/config-2.6.12-std26-up 2005-07-08 13:09:23 +0400
@@ -2278,13 +2278,14 @@
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_CIRRUS=m
+CONFIG_FB_CLE266=m
CONFIG_FB_PM2=m
# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
CONFIG_FB_CYBER2000=m
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
-CONFIG_FB_VESA=y
+CONFIG_FB_VESA=m
CONFIG_VIDEO_SELECT=y
CONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
[-- Attachment #1.3: vt1211.diff --]
[-- Type: text/plain, Size: 928 bytes --]
diff -ruN vt1211.orig/kernel-modules-vt1211.spec vt1211/kernel-modules-vt1211.spec
--- vt1211.orig/kernel-modules-vt1211.spec 2005-07-04 19:45:42 +0400
+++ vt1211/kernel-modules-vt1211.spec 2005-07-07 02:51:52 +0400
@@ -6,7 +6,7 @@
%define krelease @krelease@
%define flavour @kflavour@
-%define module_dir /lib/modules/%kversion-%flavour-%krelease/%module_name
+%define module_dir /lib/modules/%kversion-%flavour-%krelease/drivers/i2c/chips
Summary: %module_name modules
Name: kernel-modules-%module_name-%flavour
@@ -54,8 +54,10 @@
make -C $KERNEL_SOURCE SUBDIRS=$PWD modules
%install
-export KERNEL_SOURCE=%_usrsrc/linux-%kversion-%flavour
-make -C $KERNEL_SOURCE SUBDIRS=$PWD INSTALL_MOD_PATH=%buildroot/%module_dir modules_install
+%if "%kversion" > "2.6.0"
+%__mkdir -p $RPM_BUILD_ROOT/%module_dir
+%__cp -a *.ko $RPM_BUILD_ROOT/%module_dir
+%endif
%post
%post_kernel_modules %kversion-%flavour-%krelease
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [d-kernel] viafb & vt1211 kernel modules
2005-07-08 10:40 [d-kernel] viafb & vt1211 kernel modules Grigory Batalov
@ 2005-07-08 11:50 ` Sergey Vlasov
2005-07-08 13:35 ` Grigory Batalov
0 siblings, 1 reply; 3+ messages in thread
From: Sergey Vlasov @ 2005-07-08 11:50 UTC (permalink / raw)
To: devel-kernel
[-- Attachment #1: Type: text/plain, Size: 2052 bytes --]
On Fri, Jul 08, 2005 at 02:40:20PM +0400, Grigory Batalov 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() не
освобождаются ресурсы.
> Правда, для этого пришлось вынести 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 не имеет
значения, в какой подкаталог засунут модуль.
> Прилагаю патч для std26-up, добавляющий модуль viafb и выносящий
> vesafb из ядра в модуль,
vesafb выносу в модуль не поддаётся в принципе. Скорее всего, в
результате такого редактирования файла конфигурации он просто отключился
(нормальным способом CONFIG_FB_VESA=m поставить нельзя).
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [d-kernel] viafb & vt1211 kernel modules
2005-07-08 11:50 ` Sergey Vlasov
@ 2005-07-08 13:35 ` Grigory Batalov
0 siblings, 0 replies; 3+ messages in thread
From: Grigory Batalov @ 2005-07-08 13:35 UTC (permalink / raw)
To: ALT Linux kernel packages development
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-07-08 13:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-08 10:40 [d-kernel] viafb & vt1211 kernel modules Grigory Batalov
2005-07-08 11:50 ` Sergey Vlasov
2005-07-08 13:35 ` Grigory Batalov
ALT Linux kernel packages development
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
public-inbox-index devel-kernel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git