linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
@ 2005-12-11 18:52 Adrian Bunk
  2005-12-11 19:21 ` Russell King
  0 siblings, 1 reply; 16+ messages in thread
From: Adrian Bunk @ 2005-12-11 18:52 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-sh, tony.luck, linux-ia64, grundler, matthew, linuxppc-dev,
	lethal, kkojima, rmk, parisc-linux

defconfig's shouldn't set CONFIG_BROKEN=y.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

 arch/arm/configs/bast_defconfig       |    3 +--
 arch/arm/configs/collie_defconfig     |    3 +--
 arch/arm/configs/s3c2410_defconfig    |    3 +--
 arch/ia64/configs/sim_defconfig       |    3 +--
 arch/ia64/configs/zx1_defconfig       |    3 +--
 arch/m32r/mappi/defconfig.smp         |    3 +--
 arch/m32r/mappi/defconfig.up          |    3 +--
 arch/m32r/mappi3/defconfig.smp        |    3 +--
 arch/parisc/configs/712_defconfig     |    3 +--
 arch/parisc/configs/a500_defconfig    |    3 +--
 arch/parisc/configs/c3000_defconfig   |    3 +--
 arch/ppc/configs/mpc86x_ads_defconfig |    3 +--
 arch/ppc/configs/mpc885ads_defconfig  |    3 +--
 arch/ppc/configs/rpxcllf_defconfig    |    3 +--
 arch/ppc/configs/rpxlite_defconfig    |    3 +--
 arch/sh/configs/hp680_defconfig       |    3 +--
 arch/sh/configs/sh03_defconfig        |    3 +--
 arch/sh/configs/systemh_defconfig     |    3 +--
 18 files changed, 18 insertions(+), 36 deletions(-)

--- linux-2.6.15-rc5-mm2-full/arch/arm/configs/bast_defconfig.old	2005-12-11 19:37:15.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/arm/configs/bast_defconfig	2005-12-11 19:37:37.000000000 +0100
@@ -14,8 +14,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 
 #
--- linux-2.6.15-rc5-mm2-full/arch/arm/configs/collie_defconfig.old	2005-12-11 19:37:44.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/arm/configs/collie_defconfig	2005-12-11 19:37:52.000000000 +0100
@@ -13,8 +13,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
--- linux-2.6.15-rc5-mm2-full/arch/arm/configs/s3c2410_defconfig.old	2005-12-11 19:38:01.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/arm/configs/s3c2410_defconfig	2005-12-11 19:38:08.000000000 +0100
@@ -13,8 +13,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 
--- linux-2.6.15-rc5-mm2-full/arch/ia64/configs/sim_defconfig.old	2005-12-11 19:38:17.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/ia64/configs/sim_defconfig	2005-12-11 19:38:38.000000000 +0100
@@ -6,9 +6,8 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
+CONFIG_CLEAN_COMPILE=y
 # CONFIG_STANDALONE is not set
-CONFIG_BROKEN=y
 CONFIG_BROKEN_ON_SMP=y
 
 #
--- linux-2.6.15-rc5-mm2-full/arch/ia64/configs/zx1_defconfig.old	2005-12-11 19:38:52.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/ia64/configs/zx1_defconfig	2005-12-11 19:38:59.000000000 +0100
@@ -8,8 +8,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
--- linux-2.6.15-rc5-mm2-full/arch/m32r/mappi/defconfig.smp.old	2005-12-11 19:39:08.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/m32r/mappi/defconfig.smp	2005-12-11 19:39:15.000000000 +0100
@@ -13,8 +13,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
--- linux-2.6.15-rc5-mm2-full/arch/m32r/mappi/defconfig.up.old	2005-12-11 19:39:25.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/m32r/mappi/defconfig.up	2005-12-11 19:39:32.000000000 +0100
@@ -13,8 +13,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
--- linux-2.6.15-rc5-mm2-full/arch/m32r/mappi3/defconfig.smp.old	2005-12-11 19:39:41.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/m32r/mappi3/defconfig.smp	2005-12-11 19:39:48.000000000 +0100
@@ -13,8 +13,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
--- linux-2.6.15-rc5-mm2-full/arch/parisc/configs/712_defconfig.old	2005-12-11 19:40:00.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/parisc/configs/712_defconfig	2005-12-11 19:40:08.000000000 +0100
@@ -16,8 +16,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 
--- linux-2.6.15-rc5-mm2-full/arch/parisc/configs/a500_defconfig.old	2005-12-11 19:40:32.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/parisc/configs/a500_defconfig	2005-12-11 19:40:38.000000000 +0100
@@ -16,8 +16,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
--- linux-2.6.15-rc5-mm2-full/arch/parisc/configs/c3000_defconfig.old	2005-12-11 19:40:50.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/parisc/configs/c3000_defconfig	2005-12-11 19:40:57.000000000 +0100
@@ -16,8 +16,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 
--- linux-2.6.15-rc5-mm2-full/arch/ppc/configs/mpc86x_ads_defconfig.old	2005-12-11 19:41:53.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/ppc/configs/mpc86x_ads_defconfig	2005-12-11 19:42:01.000000000 +0100
@@ -17,8 +17,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 
--- linux-2.6.15-rc5-mm2-full/arch/ppc/configs/mpc885ads_defconfig.old	2005-12-11 19:42:21.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/ppc/configs/mpc885ads_defconfig	2005-12-11 19:42:30.000000000 +0100
@@ -17,8 +17,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 
--- linux-2.6.15-rc5-mm2-full/arch/ppc/configs/rpxcllf_defconfig.old	2005-12-11 19:42:40.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/ppc/configs/rpxcllf_defconfig	2005-12-11 19:42:48.000000000 +0100
@@ -15,8 +15,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 
 #
--- linux-2.6.15-rc5-mm2-full/arch/ppc/configs/rpxlite_defconfig.old	2005-12-11 19:43:21.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/ppc/configs/rpxlite_defconfig	2005-12-11 19:43:27.000000000 +0100
@@ -15,8 +15,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 
 #
--- linux-2.6.15-rc5-mm2-full/arch/sh/configs/hp680_defconfig.old	2005-12-11 19:43:36.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/sh/configs/hp680_defconfig	2005-12-11 19:43:43.000000000 +0100
@@ -14,8 +14,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 
 #
--- linux-2.6.15-rc5-mm2-full/arch/sh/configs/sh03_defconfig.old	2005-12-11 19:43:53.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/sh/configs/sh03_defconfig	2005-12-11 19:44:02.000000000 +0100
@@ -14,8 +14,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 
--- linux-2.6.15-rc5-mm2-full/arch/sh/configs/systemh_defconfig.old	2005-12-11 19:44:19.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/arch/sh/configs/systemh_defconfig	2005-12-11 19:44:40.000000000 +0100
@@ -14,8 +14,7 @@
 # Code maturity level options
 #
 CONFIG_EXPERIMENTAL=y
-# CONFIG_CLEAN_COMPILE is not set
-CONFIG_BROKEN=y
+CONFIG_CLEAN_COMPILE=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-11 18:52 [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y Adrian Bunk
@ 2005-12-11 19:21 ` Russell King
  2005-12-11 19:31   ` Adrian Bunk
  0 siblings, 1 reply; 16+ messages in thread
From: Russell King @ 2005-12-11 19:21 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: linux-sh, tony.luck, linux-ia64, grundler, matthew, linux-kernel,
	linuxppc-dev, lethal, kkojima, parisc-linux

On Sun, Dec 11, 2005 at 07:52:12PM +0100, Adrian Bunk wrote:
> defconfig's shouldn't set CONFIG_BROKEN=y.

NACK.  This changes other configuration options in addition, for example
in collie_defconfig:

-CONFIG_MTD_OBSOLETE_CHIPS=y
-# CONFIG_MTD_AMDSTD is not set
-CONFIG_MTD_SHARP=y
-# CONFIG_MTD_JEDEC is not set

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-11 19:21 ` Russell King
@ 2005-12-11 19:31   ` Adrian Bunk
  2005-12-11 19:44     ` Russell King
  2005-12-12  9:38     ` [2.6 patch] defconfig's shouldn't " David Woodhouse
  0 siblings, 2 replies; 16+ messages in thread
From: Adrian Bunk @ 2005-12-11 19:31 UTC (permalink / raw)
  To: linux-kernel, tony.luck, linux-ia64, matthew, grundler,
	parisc-linux, paulus, linuxppc-dev, lethal, kkojima, dwmw2
  Cc: linux-mtd

On Sun, Dec 11, 2005 at 07:21:10PM +0000, Russell King wrote:
> On Sun, Dec 11, 2005 at 07:52:12PM +0100, Adrian Bunk wrote:
> > defconfig's shouldn't set CONFIG_BROKEN=y.
> 
> NACK.  This changes other configuration options in addition, for example
> in collie_defconfig:
> 
> -CONFIG_MTD_OBSOLETE_CHIPS=y
> -# CONFIG_MTD_AMDSTD is not set
> -CONFIG_MTD_SHARP=y
> -# CONFIG_MTD_JEDEC is not set

That's not a problem introduced by my patch.

Either the depency of MTD_OBSOLETE_CHIPS on BROKEN is correct (in which 
case CONFIG_MTD_OBSOLETE_CHIPS=y wouldn't bring you anything), or the 
dependency on BROKEN is not correct and should be corrected.

David, can you comment on this issue?

> Russell King

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-11 19:31   ` Adrian Bunk
@ 2005-12-11 19:44     ` Russell King
  2005-12-13  0:10       ` Adrian Bunk
  2005-12-12  9:38     ` [2.6 patch] defconfig's shouldn't " David Woodhouse
  1 sibling, 1 reply; 16+ messages in thread
From: Russell King @ 2005-12-11 19:44 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel, linux-mtd,
	linuxppc-dev, lethal, dwmw2, kkojima, parisc-linux

On Sun, Dec 11, 2005 at 08:31:18PM +0100, Adrian Bunk wrote:
> On Sun, Dec 11, 2005 at 07:21:10PM +0000, Russell King wrote:
> > On Sun, Dec 11, 2005 at 07:52:12PM +0100, Adrian Bunk wrote:
> > > defconfig's shouldn't set CONFIG_BROKEN=y.
> > 
> > NACK.  This changes other configuration options in addition, for example
> > in collie_defconfig:
> > 
> > -CONFIG_MTD_OBSOLETE_CHIPS=y
> > -# CONFIG_MTD_AMDSTD is not set
> > -CONFIG_MTD_SHARP=y
> > -# CONFIG_MTD_JEDEC is not set
> 
> That's not a problem introduced by my patch.

It's a problem introduced by your patch because the resulting defconfig
file becomes _wrong_ by your change, and other changes in the defconfig
are thereby hidden.

If you change any options in a defconfig file, and they're obviously not
leaf options, you should check what impact they have on other options by
running it through an "oldconfig" cycle.  That's what I just did with
this script:

#!/bin/sh -e
alias amake='make CROSS_COMPILE=arm-linux- ARCH=arm'
amake $1 O=../build/t >/dev/null 2>&1
mv ../build/t/.config ../build/t/.config.orig
sed '/CONFIG_BROKEN/d;s,^# CONFIG_CLEAN_COMPILE is not set,CONFIG_CLEAN_COMPILE=y,' < ../build/t/.config.orig > ../build/t/.config
amake oldconfig O=../build/t >/dev/null 2>&1
diff -u ../build/t/.config.orig ../build/t/.config

Hence I discovered that disabling CONFIG_BROKEN removes the above
options for the collie case.

BTW, it might be worth using something like the above script for all
the changes to the defconfig files in your patch so that it correctly
updates these files.  It will also mean that any review of it is more
meaningful because we can see the full extent of your changes.

> Either the depency of MTD_OBSOLETE_CHIPS on BROKEN is correct (in which 
> case CONFIG_MTD_OBSOLETE_CHIPS=y wouldn't bring you anything), or the 
> dependency on BROKEN is not correct and should be corrected.

That's something which collie folk need to comment on.  However, what
I can say is that the collie_defconfig builds successfully today:

http://armlinux.simtec.co.uk/kautobuild/2.6.15-rc5-git1/collie_defconfig/zimage.log

so it's quite possible that the Kconfig is out of sync with reality.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-11 19:31   ` Adrian Bunk
  2005-12-11 19:44     ` Russell King
@ 2005-12-12  9:38     ` David Woodhouse
  1 sibling, 0 replies; 16+ messages in thread
From: David Woodhouse @ 2005-12-12  9:38 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel, linux-mtd,
	linuxppc-dev, lethal, kkojima, parisc-linux

On Sun, 2005-12-11 at 20:31 +0100, Adrian Bunk wrote:
> Either the depency of MTD_OBSOLETE_CHIPS on BROKEN is correct (in
> which case CONFIG_MTD_OBSOLETE_CHIPS=y wouldn't bring you anything),
> or the dependency on BROKEN is not correct and should be corrected.
> 
> David, can you comment on this issue?

I don't see any justification for MTD_OBSOLETE_CHIPS depending on
BROKEN. That option covers a few of the obsolete chip drivers which
people shouldn't be using any more -- and I'm perfectly willing to
believe that one or two of those don't work any more, but if that's the
case then those individual drivers ought to be marked BROKEN (or just
removed). We shouldn't mark MTD_OBSOLETE_CHIPS broken.

I'd like to see the collie_defconfig updated to use the appropriate CFI
driver back end.

-- 
dwmw2

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-11 19:44     ` Russell King
@ 2005-12-13  0:10       ` Adrian Bunk
  2005-12-13 13:34         ` Simon Richter
  0 siblings, 1 reply; 16+ messages in thread
From: Adrian Bunk @ 2005-12-13  0:10 UTC (permalink / raw)
  To: linux-kernel, tony.luck, linux-ia64, matthew, grundler,
	parisc-linux, paulus, linuxppc-dev, lethal, kkojima, dwmw2,
	linux-mtd

On Sun, Dec 11, 2005 at 07:44:37PM +0000, Russell King wrote:
> On Sun, Dec 11, 2005 at 08:31:18PM +0100, Adrian Bunk wrote:
> > On Sun, Dec 11, 2005 at 07:21:10PM +0000, Russell King wrote:
> > > On Sun, Dec 11, 2005 at 07:52:12PM +0100, Adrian Bunk wrote:
> > > > defconfig's shouldn't set CONFIG_BROKEN=y.
> > > 
> > > NACK.  This changes other configuration options in addition, for example
> > > in collie_defconfig:
> > > 
> > > -CONFIG_MTD_OBSOLETE_CHIPS=y
> > > -# CONFIG_MTD_AMDSTD is not set
> > > -CONFIG_MTD_SHARP=y
> > > -# CONFIG_MTD_JEDEC is not set
> > 
> > That's not a problem introduced by my patch.
> 
> It's a problem introduced by your patch because the resulting defconfig
> file becomes _wrong_ by your change, and other changes in the defconfig
> are thereby hidden.
>...


No, CONFIG_BROKEN=y in a defconfig file is a bug.

Either the defconfig doesn't use BROKEN code in which case it's simply 
wrong, or it's a wrong workaround (as in the CONFIG_MTD_SHARP case) for 
a wrong BROKEN dependency.


And it's a dangerous workaround:

Consider e.g. that "both marked as obsolete and BROKEN" are the best 
candidates for "remove obsolete code" cleanups - and there goes your 
driver to /dev/null ...


> Russell King

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-13  0:10       ` Adrian Bunk
@ 2005-12-13 13:34         ` Simon Richter
  2005-12-13 14:00           ` Adrian Bunk
  0 siblings, 1 reply; 16+ messages in thread
From: Simon Richter @ 2005-12-13 13:34 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel,
	linuxppc-dev, lethal, linux-mtd, dwmw2, kkojima, parisc-linux

[-- Attachment #1: Type: text/plain, Size: 752 bytes --]

Hi,

Adrian Bunk wrote:

>>It's a problem introduced by your patch because the resulting defconfig
>>file becomes _wrong_ by your change, and other changes in the defconfig
>>are thereby hidden.
>>...

> No, CONFIG_BROKEN=y in a defconfig file is a bug.

Indeed, but that's not the point. A defconfig file should be the result 
of running one of the various configuration targets; yours are 
hand-patched. If you run the defconfig target, it will copy the config 
file and run oldconfig, thus resulting in a different configuration file 
(because options may now be gone and hence disabled) than what was in 
the defconfig, and thus people may come to the wrong conclusion that if 
a driver is enabled in a defconfig file, it will be built.

    Simon

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 307 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-13 13:34         ` Simon Richter
@ 2005-12-13 14:00           ` Adrian Bunk
  2005-12-13 17:31             ` Russell King
  0 siblings, 1 reply; 16+ messages in thread
From: Adrian Bunk @ 2005-12-13 14:00 UTC (permalink / raw)
  To: Simon Richter
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel,
	linuxppc-dev, lethal, linux-mtd, dwmw2, kkojima, parisc-linux

On Tue, Dec 13, 2005 at 02:34:04PM +0100, Simon Richter wrote:

> Hi,

Hi Simon,

> Adrian Bunk wrote:
> 
> >>It's a problem introduced by your patch because the resulting defconfig
> >>file becomes _wrong_ by your change, and other changes in the defconfig
> >>are thereby hidden.
> >>...
> 
> >No, CONFIG_BROKEN=y in a defconfig file is a bug.
> 
> Indeed, but that's not the point. A defconfig file should be the result 
> of running one of the various configuration targets; yours are 
> hand-patched. If you run the defconfig target, it will copy the config 
> file and run oldconfig, thus resulting in a different configuration file 
> (because options may now be gone and hence disabled) than what was in 
> the defconfig, and thus people may come to the wrong conclusion that if 
> a driver is enabled in a defconfig file, it will be built.

defconfig files are virtually never a configuration for the kernel they 
are shipped with since they aren't updated every time some configuration 
option is changed.

Consider a defconfig with CONFIG_BROKEN=n, and a driver that is enabled 
in this defconfig gets for some reason marked as broken in the Kconfig 
file - this will give exactly the same result as the one you describe.

>    Simon

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y
  2005-12-13 14:00           ` Adrian Bunk
@ 2005-12-13 17:31             ` Russell King
  2005-12-13 18:05               ` [2.6 patch] don't allow users to " Adrian Bunk
  0 siblings, 1 reply; 16+ messages in thread
From: Russell King @ 2005-12-13 17:31 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel,
	linuxppc-dev, lethal, linux-mtd, dwmw2, kkojima, parisc-linux

On Tue, Dec 13, 2005 at 03:00:01PM +0100, Adrian Bunk wrote:
> defconfig files are virtually never a configuration for the kernel they 
> are shipped with since they aren't updated every time some configuration 
> option is changed.
> 
> Consider a defconfig with CONFIG_BROKEN=n, and a driver that is enabled 
> in this defconfig gets for some reason marked as broken in the Kconfig 
> file - this will give exactly the same result as the one you describe.

Adrian,

The defconfig files in arch/arm/configs are for platform configurations
and are provided by the platform maintainers as a _working_ configuration
for their platform.  They're not "defconfigs".  They got called
"defconfigs" as a result of the kbuild "cleanups".  Please don't confuse
them as such.

If, in order to have a working platform configuration, they deem that
CONFIG_BROKEN must be enabled, then that's the way it is.

Therefore, I request that either you leave the ARM platform configurations
well alone, or follow the advice I've given so that we can _properly_
assess the impact of your changes.

Thanks.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 17:31             ` Russell King
@ 2005-12-13 18:05               ` Adrian Bunk
  2005-12-13 18:28                 ` Geert Uytterhoeven
  2005-12-13 20:01                 ` Russell King
  0 siblings, 2 replies; 16+ messages in thread
From: Adrian Bunk @ 2005-12-13 18:05 UTC (permalink / raw)
  To: Simon Richter, linux-kernel, tony.luck, linux-ia64, matthew,
	grundler, parisc-linux, paulus, linuxppc-dev, lethal, kkojima,
	dwmw2, linux-mtd

On Tue, Dec 13, 2005 at 05:31:12PM +0000, Russell King wrote:
> On Tue, Dec 13, 2005 at 03:00:01PM +0100, Adrian Bunk wrote:
> > defconfig files are virtually never a configuration for the kernel they 
> > are shipped with since they aren't updated every time some configuration 
> > option is changed.
> > 
> > Consider a defconfig with CONFIG_BROKEN=n, and a driver that is enabled 
> > in this defconfig gets for some reason marked as broken in the Kconfig 
> > file - this will give exactly the same result as the one you describe.
> 
> Adrian,

Hi Russell,

> The defconfig files in arch/arm/configs are for platform configurations
> and are provided by the platform maintainers as a _working_ configuration
> for their platform.  They're not "defconfigs".  They got called
> "defconfigs" as a result of the kbuild "cleanups".  Please don't confuse
> them as such.
> 
> If, in order to have a working platform configuration, they deem that
> CONFIG_BROKEN must be enabled, then that's the way it is.

if a working platform configuration configuration requires 
CONFIG_BROKEN=y, the problem is a bug that should be fixed properly.

We are talking about a class of bugs that can usually be easily fixed if 
reported - so why aren't they reported?

The MTD_SHARP case is a good example, because otherwise I might have 
soon sent a patch that would have removed this driver with the rationale
"both marked as obsolete and BROKEN can clearly be removed".

> Therefore, I request that either you leave the ARM platform configurations
> well alone, or follow the advice I've given so that we can _properly_
> assess the impact of your changes.

Unless someone can tell me a valid case for enabling BROKEN that does 
both create a working configuration and not hide real issues it seems 
the approch below might be the way to go.

Yes, you might dislike this at the first sight.

But if you consider that although this might result in a short-term 
breakage of some configurations, this will also result in proper bug 
reports and fixing of the wrong BROKEN dependency bugs, I hope you agree 
that this will actually improve the situation.

> Thanks.

cu
Adrian


<--  snip  -->


Do not allow people to create configurations with CONFIG_BROKEN=y.

The sole reason for CONFIG_BROKEN=y would be if you are working on 
fixing a broken driver, but in this case editing the Kconfig file is 
trivial.

Never ever should a user enable CONFIG_BROKEN.


Signed-off-by: Adrian Bunk <bunk@stusta.de>

--- linux-2.6.15-rc5-mm2-full/init/Kconfig.old	2005-12-13 18:48:40.000000000 +0100
+++ linux-2.6.15-rc5-mm2-full/init/Kconfig	2005-12-13 18:48:52.000000000 +0100
@@ -31,19 +31,8 @@
 	  you say Y here, you will be offered the choice of using features or
 	  drivers that are currently considered to be in the alpha-test phase.
 
-config CLEAN_COMPILE
-	bool "Select only drivers expected to compile cleanly" if EXPERIMENTAL
-	default y
-	help
-	  Select this option if you don't even want to see the option
-	  to configure known-broken drivers.
-
-	  If unsure, say Y
-
 config BROKEN
 	bool
-	depends on !CLEAN_COMPILE
-	default y
 
 config BROKEN_ON_SMP
 	bool

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 18:05               ` [2.6 patch] don't allow users to " Adrian Bunk
@ 2005-12-13 18:28                 ` Geert Uytterhoeven
  2005-12-13 18:51                   ` Adrian Bunk
  2005-12-13 18:59                   ` Jesper Juhl
  2005-12-13 20:01                 ` Russell King
  1 sibling, 2 replies; 16+ messages in thread
From: Geert Uytterhoeven @ 2005-12-13 18:28 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew,
	Linux Kernel Development, Linux/PPC Development, lethal,
	linux-mtd, dwmw2, kkojima, parisc-linux

On Tue, 13 Dec 2005, Adrian Bunk wrote:
> Do not allow people to create configurations with CONFIG_BROKEN=y.
> 
> The sole reason for CONFIG_BROKEN=y would be if you are working on 
> fixing a broken driver, but in this case editing the Kconfig file is 
> trivial.
> 
> Never ever should a user enable CONFIG_BROKEN.
                      ^^^^
OK, a user, not an expert. Let's assume users don't enable EXPERIMENTAL.

But I'd like to at least have the possibility to enable broken drivers, even if
it's just for compile regression tests.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 18:28                 ` Geert Uytterhoeven
@ 2005-12-13 18:51                   ` Adrian Bunk
  2005-12-13 18:59                   ` Jesper Juhl
  1 sibling, 0 replies; 16+ messages in thread
From: Adrian Bunk @ 2005-12-13 18:51 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: tony.luck, linux-ia64, grundler, matthew,
	Linux Kernel Development, Linux/PPC Development, lethal,
	linux-mtd, dwmw2, kkojima, parisc-linux

On Tue, Dec 13, 2005 at 07:28:41PM +0100, Geert Uytterhoeven wrote:
> On Tue, 13 Dec 2005, Adrian Bunk wrote:
> > Do not allow people to create configurations with CONFIG_BROKEN=y.
> > 
> > The sole reason for CONFIG_BROKEN=y would be if you are working on 
> > fixing a broken driver, but in this case editing the Kconfig file is 
> > trivial.
> > 
> > Never ever should a user enable CONFIG_BROKEN.
>                       ^^^^
> OK, a user, not an expert. Let's assume users don't enable EXPERIMENTAL.

Let's assume users don't have any hardware (e.g. several SATA drivers) 
that requires EXPERIMENTAL...

> But I'd like to at least have the possibility to enable broken drivers, even if
> it's just for compile regression tests.

If a kernel developer really wants to enable BROKEN drivers, my patch 
still gives them the possibility to do so with a trivial edit of
init/Kconfig.

> Gr{oetje,eeting}s,
> 
> 						Geert

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 18:28                 ` Geert Uytterhoeven
  2005-12-13 18:51                   ` Adrian Bunk
@ 2005-12-13 18:59                   ` Jesper Juhl
  1 sibling, 0 replies; 16+ messages in thread
From: Jesper Juhl @ 2005-12-13 18:59 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: tony.luck, linux-ia64, grundler, matthew,
	Linux Kernel Development, Adrian Bunk, Linux/PPC Development,
	lethal, linux-mtd, dwmw2, kkojima, parisc-linux

On 12/13/05, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Tue, 13 Dec 2005, Adrian Bunk wrote:
> > Do not allow people to create configurations with CONFIG_BROKEN=3Dy.
> >
> > The sole reason for CONFIG_BROKEN=3Dy would be if you are working on
> > fixing a broken driver, but in this case editing the Kconfig file is
> > trivial.
> >
> > Never ever should a user enable CONFIG_BROKEN.
>                       ^^^^
> OK, a user, not an expert. Let's assume users don't enable EXPERIMENTAL.
>
> But I'd like to at least have the possibility to enable broken drivers, e=
ven if
> it's just for compile regression tests.
>
I agree, and it's very convenient to be able to enable it in
menuconfig etc. Perhaps CONFIG_BROKEN should just be moved to kernel
hacking instead...?

--
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 18:05               ` [2.6 patch] don't allow users to " Adrian Bunk
  2005-12-13 18:28                 ` Geert Uytterhoeven
@ 2005-12-13 20:01                 ` Russell King
  2005-12-13 20:19                   ` Adrian Bunk
  1 sibling, 1 reply; 16+ messages in thread
From: Russell King @ 2005-12-13 20:01 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel,
	linuxppc-dev, lethal, linux-mtd, dwmw2, kkojima, parisc-linux

On Tue, Dec 13, 2005 at 07:05:52PM +0100, Adrian Bunk wrote:
> On Tue, Dec 13, 2005 at 05:31:12PM +0000, Russell King wrote:
> > The defconfig files in arch/arm/configs are for platform configurations
> > and are provided by the platform maintainers as a _working_ configuration
> > for their platform.  They're not "defconfigs".  They got called
> > "defconfigs" as a result of the kbuild "cleanups".  Please don't confuse
> > them as such.
> > 
> > If, in order to have a working platform configuration, they deem that
> > CONFIG_BROKEN must be enabled, then that's the way it is.
> 
> if a working platform configuration configuration requires 
> CONFIG_BROKEN=y, the problem is a bug that should be fixed properly.

Maybe they're only broken for a small subset of platforms, and someone
added a BROKEN without properly considering whether it should be global
or not?

I don't disagree with the overall notion that CONFIG_BROKEN should not
be set _where_ _possible_.  However, if it needs to be set to get the
required options, then that's what needs to happen until such time that
the above is corrected.

However - and now to the main bug bear - how can we tell what is really
broken if you _just_ change the default configuration file settings for
CONFIG_BROKEN?  What happens is that, on review, we see a simple change.
We'd assume that it has little impact, and we accept that change.

Maybe a month or two down the line, someone whines that their platform
doesn't work for some reason, and it's tracked down to this and the
resulting fallout from disabling CONFIG_BROKEN.

That means that the original review was _worthless_.  It wasn't a
review at all.

So, what I am trying to get across is the need to show the _full_ set
of changes to a default configuratoin when you disable CONFIG_BROKEN,
which is trivially producable if you run the script I've already posted.

You can even use that in conjunction with your present patch to produce
a patch which shows _exactly_ _everything_ which changes as a result of
disabling CONFIG_BROKEN.  Surely giving reviewers the _full_ story is
far better than half a story, and should be something that any change
to the kernel strives for.

If not, what's the point of the original change?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 20:01                 ` Russell King
@ 2005-12-13 20:19                   ` Adrian Bunk
  2005-12-13 22:01                     ` Russell King
  0 siblings, 1 reply; 16+ messages in thread
From: Adrian Bunk @ 2005-12-13 20:19 UTC (permalink / raw)
  To: Simon Richter, linux-kernel, tony.luck, linux-ia64, matthew,
	grundler, parisc-linux, paulus, linuxppc-dev, lethal, kkojima,
	dwmw2, linux-mtd

On Tue, Dec 13, 2005 at 08:01:06PM +0000, Russell King wrote:
> On Tue, Dec 13, 2005 at 07:05:52PM +0100, Adrian Bunk wrote:
> > On Tue, Dec 13, 2005 at 05:31:12PM +0000, Russell King wrote:
> > > The defconfig files in arch/arm/configs are for platform configurations
> > > and are provided by the platform maintainers as a _working_ configuration
> > > for their platform.  They're not "defconfigs".  They got called
> > > "defconfigs" as a result of the kbuild "cleanups".  Please don't confuse
> > > them as such.
> > > 
> > > If, in order to have a working platform configuration, they deem that
> > > CONFIG_BROKEN must be enabled, then that's the way it is.
> > 
> > if a working platform configuration configuration requires 
> > CONFIG_BROKEN=y, the problem is a bug that should be fixed properly.
> 
> Maybe they're only broken for a small subset of platforms, and someone
> added a BROKEN without properly considering whether it should be global
> or not?
> 
> I don't disagree with the overall notion that CONFIG_BROKEN should not
> be set _where_ _possible_.  However, if it needs to be set to get the
> required options, then that's what needs to happen until such time that
> the above is corrected.

Where is the bug report from the person who set CONFIG_BROKEN=y in the 
collie defconfig that the BROKEN dependency on MTD_SHARP was wrong?

> However - and now to the main bug bear - how can we tell what is really
> broken if you _just_ change the default configuration file settings for
> CONFIG_BROKEN?  What happens is that, on review, we see a simple change.
> We'd assume that it has little impact, and we accept that change.
> 
> Maybe a month or two down the line, someone whines that their platform
> doesn't work for some reason, and it's tracked down to this and the
> resulting fallout from disabling CONFIG_BROKEN.

The whining is the bug report the person who set the CONFIG_BROKEN=y in 
the defconfig didn't send.

And things would have been even worse if I had sent a patch erasing 
MTD_SHARP from the kernel because code "both marked as obsolete and 
BROKEN can clearly be removed" and the code was therefore completely 
removed two months before the first person whined?

> That means that the original review was _worthless_.  It wasn't a
> review at all.
> 
> So, what I am trying to get across is the need to show the _full_ set
> of changes to a default configuratoin when you disable CONFIG_BROKEN,
> which is trivially producable if you run the script I've already posted.
> 
> You can even use that in conjunction with your present patch to produce
> a patch which shows _exactly_ _everything_ which changes as a result of
> disabling CONFIG_BROKEN.  Surely giving reviewers the _full_ story is
> far better than half a story, and should be something that any change
> to the kernel strives for.
> 
> If not, what's the point of the original change?

The point is that I haven't yet heard any good reason for 
CONFIG_BROKEN=y in a defconfig.

No, it's not a good reason if someone used it as a workaround instead of 
sending a bug report that would result in a fixing of the wrong BROKEN 
dependency.

Where is the bug report of the person setting CONFIG_BROKEN=y in the 
collie defconfig that the MTD_SHARP dependency on BROKEN was wrong?

> Russell King

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [2.6 patch] don't allow users to set CONFIG_BROKEN=y
  2005-12-13 20:19                   ` Adrian Bunk
@ 2005-12-13 22:01                     ` Russell King
  0 siblings, 0 replies; 16+ messages in thread
From: Russell King @ 2005-12-13 22:01 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: tony.luck, linux-ia64, grundler, matthew, linux-kernel,
	linuxppc-dev, lethal, linux-mtd, dwmw2, kkojima, parisc-linux

On Tue, Dec 13, 2005 at 09:19:20PM +0100, Adrian Bunk wrote:
> On Tue, Dec 13, 2005 at 08:01:06PM +0000, Russell King wrote:
> > That means that the original review was _worthless_.  It wasn't a
> > review at all.
> > 
> > So, what I am trying to get across is the need to show the _full_ set
> > of changes to a default configuratoin when you disable CONFIG_BROKEN,
> > which is trivially producable if you run the script I've already posted.
> > 
> > You can even use that in conjunction with your present patch to produce
> > a patch which shows _exactly_ _everything_ which changes as a result of
> > disabling CONFIG_BROKEN.  Surely giving reviewers the _full_ story is
> > far better than half a story, and should be something that any change
> > to the kernel strives for.
> > 
> > If not, what's the point of the original change?
> 
> The point is that I haven't yet heard any good reason for 
> CONFIG_BROKEN=y in a defconfig.

I'm sorry, I feel like I'm beating my head against a brick wall.  I
have said everything that needs to be said, and made my position on
this patch crystal clear.

The patch to the ARM configuration files is nacked as it stands.
Please go back and rework it along the guidelines I've pointed out
several times in this thread and maybe then it becomes acceptable.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2005-12-13 22:02 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-11 18:52 [2.6 patch] defconfig's shouldn't set CONFIG_BROKEN=y Adrian Bunk
2005-12-11 19:21 ` Russell King
2005-12-11 19:31   ` Adrian Bunk
2005-12-11 19:44     ` Russell King
2005-12-13  0:10       ` Adrian Bunk
2005-12-13 13:34         ` Simon Richter
2005-12-13 14:00           ` Adrian Bunk
2005-12-13 17:31             ` Russell King
2005-12-13 18:05               ` [2.6 patch] don't allow users to " Adrian Bunk
2005-12-13 18:28                 ` Geert Uytterhoeven
2005-12-13 18:51                   ` Adrian Bunk
2005-12-13 18:59                   ` Jesper Juhl
2005-12-13 20:01                 ` Russell King
2005-12-13 20:19                   ` Adrian Bunk
2005-12-13 22:01                     ` Russell King
2005-12-12  9:38     ` [2.6 patch] defconfig's shouldn't " David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).