ALT Linux kernel packages development
 help / color / mirror / Atom feed
* [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