mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Trent Piepho <xyzzy@speakeasy.org>
To: Jan Engelhardt <jengelh@linux01.gwdg.de>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>,
	v4l-dvb maintainer list <v4l-dvb-maintainer@linuxtv.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [v4l-dvb-maintainer] [PATCH 35/36] Use menuconfig objects II - DVB
Date: Thu, 3 May 2007 13:39:44 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.58.0705031247300.32689@shell2.speakeasy.net> (raw)
In-Reply-To: <Pine.LNX.4.61.0705031453360.18504@yvahk01.tjqt.qr>

On Thu, 3 May 2007, Jan Engelhardt wrote:
> On May 3 2007 09:37, Mauro Carvalho Chehab wrote:
> >Trent is mentioning an out-of-tree building system to allow easier
> >testing of V4L/DVB patches by end users and developers and during driver
> >development time. The building system allows faster
> >compilation/linkedition during driver development, by allowing you to
> >use:
> >	make menuconfig/qconfig/xconfig
> >
> >inside the tree, unselecting the drivers that you're not working.
>
> Is that all? Because you can do

Before I bore you to death with v4l-dvb stuff, I've written something about
the "use menuconfig objects" patches at the end.

No, it's much more than that.  The v4l-dvb tree at linuxtv.org is
significantly different than just a copy of linux/drivers/media.

For one thing, the v4l-dvb tree will build on kernels between 2.6.12 and the
latest git kernel.  There still some support for pre 2.6 kernels too, but it's
not maintained.

This way we can ask people to download the latest hg (we use Mercurial) and
test it, without also telling them to download and compile the latest kernel
from git.

The out of tree v4l-dvb build system uses the same Kconfig/Makefiles as it
does in the kernel.  This part of the kernel build system is not easily
exported to out of tree modules, so we have some scripts to handle this.

Some drivers won't work on older kernels, and we have a way to detecting this
and modifying kconfig entries to disable the driver.  If someone has ISA
disabled in their kernel, or is lacking OSS header files, they can not use an
ISA radio card driver or compile an OSS tvcard sound module.  On the other
hand, if someone has disabled DVB in their kernel, it's still possible to
build and use the out of tree DVB drivers.  There is a perl script that
understands the kconfig language and deals with resolving kconfig dependencies
(Rather than write a kconfig expression parser and evaluator, I wrote a
kconfig expression to perl expression translator).  We take care of needing to
use the kernel autoconf.h file, yet wanting to override the options set in the
out of tree v4l-dvb configuration.

> >The point rised by Trent is that, currently, this is not prepared to
> >handle the "menuconfig" and "if/endif" tags.

BTW, I've now fixed this.

Jan, have you looked at the effect these changes have when using xconfig, and
not just menuconfig?

While your changes make menuconfig better, they have nearly opposite effect on
xconfig.

xconfig has the menu tree display in the left panel, where one can see the
overall layout of the menu tree and jump directly to any menu (even one
multiple levels deep).  All the menuconfigs that used to be menus don't show
up here anymore.

To turn a menuconfig off, you must go to the top level menu containing the
menuconfig you want (and you must know which one that is!).  Then you have to
drill down through each menu level one by one, by finding that menu in the top
panel (which also has all the config options listed) and clicking on it to get
to the next one.  When you get to the menuconfig you want, you must enter it
and then you finally get the box to turn that menuconfig off.

It looks like your changes are going in, so I suppose the solution is to
improve the way xconfig handles "menuconfig".

I wonder, would it be possible to change the kconfig language so that:
menuconfig XXXX
	boolean "name of menu"

Did the same thing as:
config XXXX
	boolean "name of menu"
menu "name of menu"
	depends on XXXX

This way you could change this:

menuconfig XXXX
if XXXX
[....all the other options....]
endif

Into this:

menuconfig XXXX
[....all the other options....]
endmenu

The reason is that a frontend would easily be able to understand the coupling
between the "menuconfig XXXX" and the "if XXXX".  It will make it easier for
the frontend to see that all the options are inside and controlled by the
enclosing menuconfig.

  parent reply	other threads:[~2007-05-03 20:40 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-30 11:03 [PATCH 00/36] Use menuconfig objects II - (overview) Jan Engelhardt
2007-04-30 11:20 ` [PATCH 01/36] Use menuconfig objects I.b - block Jan Engelhardt
2007-04-30 11:20 ` [PATCH 02/36] Use menuconfig objects II - auxdisplay Jan Engelhardt
2007-04-30 11:21 ` [PATCH 03/36] Use menuconfig objects II - battery Jan Engelhardt
2007-04-30 11:22 ` [PATCH 04/36] Use menuconfig objects II - block devices Jan Engelhardt
2007-04-30 11:24 ` [PATCH 05/36] Use menuconfig objects II - EDAC Jan Engelhardt
2007-04-30 11:26 ` [PATCH 06/36] Use menuconfig objects II - fusion Jan Engelhardt
2007-04-30 11:27 ` [PATCH 07/36] Use menuconfig objects II - HID Jan Engelhardt
2007-04-30 11:28 ` [PATCH 08/36] Use menuconfig objects II - hwmon Jan Engelhardt
2007-05-03 16:58   ` Jean Delvare
2007-04-30 11:29 ` [PATCH 09/36] Use menuconfig objects II - IEEE1394 Jan Engelhardt
2007-04-30 11:32 ` [PATCH 10/36] Use menuconfig objects II - Infiniband Jan Engelhardt
2007-04-30 11:33 ` [PATCH 11/36] Use menuconfig objects II - IPMI Jan Engelhardt
2007-04-30 14:43   ` Corey Minyard
2007-04-30 11:35 ` [PATCH 12/36] Use menuconfig objects II - ISDN Jan Engelhardt
2007-04-30 11:35 ` [PATCH 13/36] Use menuconfig objects II - KVM/Virt Jan Engelhardt
2007-04-30 13:45   ` Avi Kivity
2007-04-30 11:36 ` [PATCH 14/36] Use menuconfig objects II - LED Jan Engelhardt
2007-04-30 11:37 ` [PATCH 15/36] Use menuconfig objects II - Macintosh Jan Engelhardt
2007-04-30 11:38 ` [PATCH 16/36] Use menuconfig objects II - MD Jan Engelhardt
2007-04-30 11:40 ` [PATCH 17/36] Use menuconfig objects II - misc strange dev Jan Engelhardt
2007-04-30 11:40 ` [PATCH 18/36] Use menuconfig objects II - MMC Jan Engelhardt
2007-04-30 13:51   ` Pierre Ossman
2007-05-01 15:57   ` Pierre Ossman
2007-05-01 20:37     ` Jan Engelhardt
2007-05-02  5:19       ` Pierre Ossman
2007-05-02 17:47         ` Jan Engelhardt
2007-04-30 11:41 ` [PATCH 19/36] Use menuconfig objects II - module menu Jan Engelhardt
2007-04-30 11:43 ` [PATCH 20/36] Use menuconfig objects II - netdev (general+100mbit) Jan Engelhardt
2007-04-30 11:44 ` [PATCH 21/36] Use menuconfig objects II - netdev/atm Jan Engelhardt
2007-04-30 11:45 ` [PATCH 22/36] Use menuconfig objects II - netdev/pcmcia Jan Engelhardt
2007-04-30 11:45 ` [PATCH 23/36] Use menuconfig objects II - netdev/wan Jan Engelhardt
2007-05-01 20:04   ` Krzysztof Halasa
2007-04-30 11:46 ` [PATCH 24/36] Use menuconfig objects II - oprofile Jan Engelhardt
2007-04-30 11:48 ` [PATCH 25/36] Use menuconfig objects II - (external_)power Jan Engelhardt
2007-04-30 11:49 ` [PATCH 26/36] Use menuconfig objects II - RTC Jan Engelhardt
2007-04-30 11:50 ` [PATCH 27/36] Use menuconfig objects II - SCSI Jan Engelhardt
2007-04-30 11:52 ` [PATCH 28/36] Use menuconfig objects II - sound Jan Engelhardt
2007-04-30 14:19   ` Johannes Berg
2007-04-30 14:25     ` Johannes Berg
2007-04-30 14:45     ` Jan Engelhardt
2007-04-30 14:55       ` Johannes Berg
2007-04-30 15:12     ` Jan Engelhardt
2007-04-30 15:14       ` Jan Engelhardt
2007-04-30 15:21   ` [PATCH 28/36 #2] " Jan Engelhardt
2007-04-30 15:41     ` Johannes Berg
2007-04-30 16:13       ` Jan Engelhardt
2007-04-30 11:53 ` [PATCH 29/36] Use menuconfig objects II - Telephony Jan Engelhardt
2007-04-30 11:53 ` [PATCH 30/36] Use menuconfig objects II - TPM Jan Engelhardt
2007-04-30 11:54 ` [PATCH 31/36] Use menuconfig objects II - UIO Jan Engelhardt
2007-04-30 11:55 ` [PATCH 32/36] Use menuconfig objects II - USB Jan Engelhardt
2007-04-30 11:56 ` [PATCH 33/36] Use menuconfig objects II - video/logo Jan Engelhardt
2007-05-01  0:08   ` Antonino A. Daplas
2007-04-30 11:56 ` [PATCH 34/36] Use menuconfig objects II - watchdog Jan Engelhardt
2007-04-30 12:30 ` [PATCH 35/36] Use menuconfig objects II - DVB Jan Engelhardt
2007-05-02 18:10   ` [v4l-dvb-maintainer] " Mauro Carvalho Chehab
2007-05-02 21:38     ` Trent Piepho
2007-05-03  6:56       ` Jan Engelhardt
2007-05-03 12:37         ` Mauro Carvalho Chehab
2007-05-03 12:54           ` Jan Engelhardt
2007-05-03 18:38             ` Mauro Carvalho Chehab
2007-05-03 20:39             ` Trent Piepho [this message]
2007-05-03 20:49               ` Sam Ravnborg
2007-05-04  0:28                 ` Roman Zippel
2007-05-04  1:40                   ` Trent Piepho
2007-05-04  7:46                     ` Jan Engelhardt
2007-05-03 20:50               ` Sam Ravnborg
2007-05-03 20:53               ` Jan Engelhardt
2007-04-30 12:30 ` [PATCH 36/36] Use menuconfig objects II - V4L Jan Engelhardt
2007-05-02 18:03   ` [v4l-dvb-maintainer] " Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.58.0705031247300.32689@shell2.speakeasy.net \
    --to=xyzzy@speakeasy.org \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@infradead.org \
    --cc=v4l-dvb-maintainer@linuxtv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®