* [U-Boot] [RFC] CONFIG naming convetion
@ 2009-07-18 11:03 Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 12:50 ` Wolfgang Denk
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-07-18 11:03 UTC (permalink / raw)
To: u-boot
Hi all,
Currently we have a mess in the drivers CONFIG naming convention
as example on I2C we have
CONFIG_I2C_XXXXX
CONFIG_DRIVER_XXX_I2C
CONFIG_XXXX_I2C
CONFIG_SYS_I2C_XXXX
I think it will good to have common and clean naming convention
so I'll propose we use this one
CONFIG_namespace_XXXXX
and
CONFIG_SYS_namespace_XXXXX
so it will resutly for I2C to this
CONFIG_I2C_XXXXX
CONFIG_SYS_I2C_XXXX
and the Makefile and KConfig it will be easier to sort and read
Best Regards,
J.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 11:03 [U-Boot] [RFC] CONFIG naming convetion Jean-Christophe PLAGNIOL-VILLARD
@ 2009-07-18 12:50 ` Wolfgang Denk
2009-07-18 13:05 ` Heiko Schocher
2009-07-18 14:48 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 15:15 ` Robin Getz
2009-07-18 18:56 ` Mike Frysinger
2 siblings, 2 replies; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-18 12:50 UTC (permalink / raw)
To: u-boot
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message <20090718110338.GA30699@game.jcrosoft.org> you wrote:
>
> I think it will good to have common and clean naming convention
> so I'll propose we use this one
Funny. You first post a patch, then only then bother to discuss the
topic.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"At least they're __________EXPERIENCED incompetents"
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 12:50 ` Wolfgang Denk
@ 2009-07-18 13:05 ` Heiko Schocher
2009-07-18 14:48 ` Jean-Christophe PLAGNIOL-VILLARD
1 sibling, 0 replies; 19+ messages in thread
From: Heiko Schocher @ 2009-07-18 13:05 UTC (permalink / raw)
To: u-boot
Hello Wolfgang, Jean-Christophe,
Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
>
> In message <20090718110338.GA30699@game.jcrosoft.org> you wrote:
>> I think it will good to have common and clean naming convention
>> so I'll propose we use this one
>
> Funny. You first post a patch, then only then bother to discuss the
> topic.
Yep, thats what I thought too ;-)
Nevertheless, I am fine with using the proposed names for i2c
CONFIG_I2C_XXXXX
CONFIG_SYS_I2C_XXXX
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 12:50 ` Wolfgang Denk
2009-07-18 13:05 ` Heiko Schocher
@ 2009-07-18 14:48 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 17:33 ` Wolfgang Denk
1 sibling, 1 reply; 19+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-07-18 14:48 UTC (permalink / raw)
To: u-boot
On 14:50 Sat 18 Jul , Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
>
> In message <20090718110338.GA30699@game.jcrosoft.org> you wrote:
> >
> > I think it will good to have common and clean naming convention
> > so I'll propose we use this one
>
> Funny. You first post a patch, then only then bother to discuss the
> topic.
the patch was send after :)
Best Regards,
J.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 11:03 [U-Boot] [RFC] CONFIG naming convetion Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 12:50 ` Wolfgang Denk
@ 2009-07-18 15:15 ` Robin Getz
2009-07-18 15:52 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 17:50 ` Wolfgang Denk
2009-07-18 18:56 ` Mike Frysinger
2 siblings, 2 replies; 19+ messages in thread
From: Robin Getz @ 2009-07-18 15:15 UTC (permalink / raw)
To: u-boot
On Sat 18 Jul 2009 07:03, Jean-Christophe PLAGNIOL-VILLARD pondered:
> Hi all,
>
> Currently we have a mess in the drivers CONFIG naming convention
> as example on I2C we have
> CONFIG_I2C_XXXXX
> CONFIG_DRIVER_XXX_I2C
> CONFIG_XXXX_I2C
> CONFIG_SYS_I2C_XXXX
>
> I think it will good to have common and clean naming convention
> so I'll propose we use this one
> CONFIG_namespace_XXXXX
> and
> CONFIG_SYS_namespace_XXXXX
>
> so it will resutly for I2C to this
>
> CONFIG_I2C_XXXXX
> CONFIG_SYS_I2C_XXXX
>
> and the Makefile and KConfig it will be easier to sort and read
I think this goes way beyond I2C....
There are ~4866 unique options in ./include/configs/*
Most of which have no name spaces at all, some are not even
used in any source files (that are in mainline anyway).
We have 2815, which already start with CONFIG_SYS_xxx, like
CONFIG_SYS_16M_MBMR Which is used in a single board:
board/snmc/qs860t/qs860t.c: memctl->memc_mbmr = CONFIG_SYS_16M_MBMR;
board/snmc/qs860t/qs860t.c: size = dram_size (CONFIG_SYS_16M_MBMR, (long *)SDRAM_BASE, SDRAM_16M_MAX_SIZE);
include/configs/QS860T.h:#define CONFIG_SYS_16M_MBMR 0x18802114 /* Mem Periodic Timer Prescaler */
It doesn't appear very "system" oriented to me...
It would be nice to come up with some list of namespaces, and what they
they should be used for...
For example, should it be:
CONFIG_DRIVER_OMAP24XX_I2C
or
CONFIG_SYS_I2C_DRIVER_OMAP24XX
or
CONFIG_DRIVER_I2C_OMAP24XX
Again - which is only used in one place:
drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
include/configs/omap2420h4.h:#define CONFIG_DRIVER_OMAP24XX_I2C
Which is fine - since it is a driver, which I'm sure that people out of tree use.
we assumed that it was:
CONFIG_DRIVER_NAND_BFIN
but it depends on who added it...
CONFIG_PATA_BFIN
drivers/block/Makefile:COBJS-$(CONFIG_PATA_BFIN) += pata_bfin.o
include/configs/bf548-ezkit.h:#define CONFIG_PATA_BFIN
I would think should be CONFIG_DRIVERS_PATA_BFIN
?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 15:15 ` Robin Getz
@ 2009-07-18 15:52 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 21:30 ` Robin Getz
2009-07-18 17:50 ` Wolfgang Denk
1 sibling, 1 reply; 19+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-07-18 15:52 UTC (permalink / raw)
To: u-boot
On 11:15 Sat 18 Jul , Robin Getz wrote:
> On Sat 18 Jul 2009 07:03, Jean-Christophe PLAGNIOL-VILLARD pondered:
> > Hi all,
> >
> > Currently we have a mess in the drivers CONFIG naming convention
> > as example on I2C we have
> > CONFIG_I2C_XXXXX
> > CONFIG_DRIVER_XXX_I2C
> > CONFIG_XXXX_I2C
> > CONFIG_SYS_I2C_XXXX
> >
> > I think it will good to have common and clean naming convention
> > so I'll propose we use this one
> > CONFIG_namespace_XXXXX
> > and
> > CONFIG_SYS_namespace_XXXXX
> >
> > so it will resutly for I2C to this
> >
> > CONFIG_I2C_XXXXX
> > CONFIG_SYS_I2C_XXXX
> >
> > and the Makefile and KConfig it will be easier to sort and read
>
> I think this goes way beyond I2C....
>
> There are ~4866 unique options in ./include/configs/*
>
> Most of which have no name spaces at all, some are not even
> used in any source files (that are in mainline anyway).
>
> We have 2815, which already start with CONFIG_SYS_xxx, like
> CONFIG_SYS_16M_MBMR Which is used in a single board:
>
CONFIG_SYS_
is already well defined
README extract
* Configuration _SETTINGS_:
These depend on the hardware etc. and should not be meddled with if
you don't know what you're doing; they have names beginning with
"CONFIG_SYS_".
so we do not need to touch non subsystem thinks on contrary of i2c, pci, nand etc...
> It doesn't appear very "system" oriented to me...
it's as we had reorganise the drivers file place as example or
the common Makefile and continue to do it eveyday (take a look on Peter e-mail
about arch dir)
>
> It would be nice to come up with some list of namespaces, and what they
> they should be used for...
>
> For example, should it be:
> CONFIG_DRIVER_OMAP24XX_I2C
> or
> CONFIG_SYS_I2C_DRIVER_OMAP24XX
> or
> CONFIG_DRIVER_I2C_OMAP24XX
DRIVER is really un-nessary IMHO
>
> Again - which is only used in one place:
> drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
> include/configs/omap2420h4.h:#define CONFIG_DRIVER_OMAP24XX_I2C
>
> Which is fine - since it is a driver, which I'm sure that people out of tree use.
brake out of tree thinks is really not a problem
I'll never consider out of tree thinks to be an obstacle to move on
>
> we assumed that it was:
> CONFIG_DRIVER_NAND_BFIN
>
> but it depends on who added it...
> CONFIG_PATA_BFIN
when you'll write Kconfig
you will have something like this
config PATA_BFIN
bool "Blackfing Pata driver"
depend on BLACKFIN
>
> drivers/block/Makefile:COBJS-$(CONFIG_PATA_BFIN) += pata_bfin.o
> include/configs/bf548-ezkit.h:#define CONFIG_PATA_BFIN
>
> I would think should be CONFIG_DRIVERS_PATA_BFIN
too long at the end
Best Regards,
J.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 14:48 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-07-18 17:33 ` Wolfgang Denk
0 siblings, 0 replies; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-18 17:33 UTC (permalink / raw)
To: u-boot
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message <20090718144826.GC30699@game.jcrosoft.org> you wrote:
>
> > Funny. You first post a patch, then only then bother to discuss the
> > topic.
> the patch was send after :)
Well, hard facts tell a different story:
Patch:
...
Received: from ns32433.ovh.net (HELO localhost)
(plagnioj%jcrosoft.com at 213.251.161.87)
by ns0.ovh.net with SMTP; 18 Jul 2009 10:58:33 -0000
Message-id: <1247914560-30501-1-git-send-email-plagnioj@jcrosoft.com>
Note that "1247914560" = Sat Jul 18 12:56:00 2009
...
Subject: [U-Boot] [PATCH] i2c: use for CONFIGs a common naming
convention CONFIG_I2C
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sat, 18 Jul 2009 12:56:00 +0200
To: u-boot at lists.denx.de
Proposal:
...
Received: from ns32433.ovh.net (HELO localhost)
(plagnioj%jcrosoft.com at 213.251.161.87)
by ns0.ovh.net with SMTP; 18 Jul 2009 11:06:09 -0000
Message-id: <20090718110338.GA30699@game.jcrosoft.org>
...
Subject: [RFC] CONFI# G naming convetion
From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Date: Sat, 18 Jul 2009 13:03:38 +0200
To: U-Boot <u-boot@lists.denx.de>
The Date: header and internal timestamps (Messag-ID) clearly show
that the patch was sent 5 minutes before the proposal.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Look! There! Evil!.. pure and simple, total evil from the Eighth
Dimension!" - Buckaroo Banzai
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 15:15 ` Robin Getz
2009-07-18 15:52 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-07-18 17:50 ` Wolfgang Denk
2009-07-18 21:13 ` Robin Getz
2009-07-19 5:54 ` Heiko Schocher
1 sibling, 2 replies; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-18 17:50 UTC (permalink / raw)
To: u-boot
Dear Robin Getz,
In message <200907181115.26404.rgetz@blackfin.uclinux.org> you wrote:
>
> It would be nice to come up with some list of namespaces, and what they
> they should be used for...
Agreed.
> For example, should it be:
> CONFIG_DRIVER_OMAP24XX_I2C
> or
> CONFIG_SYS_I2C_DRIVER_OMAP24XX
> or
> CONFIG_DRIVER_I2C_OMAP24XX
Well, the difference between CONFIG_ and CONFIG_SYS_ is well-defined.
And the "DRIVER_" part makes not much sense to me in any of the
examples above.
My personal way of thinking about such options is usually CPU/archi-
tecture first, so I would probably chose CONFIG_OMAP24XX_I2C to en-
able/disable the I2C driver on a OMAP24XX based board, but I under-
stand that there are reasons to prefer CONFIG_I2C_OMAP24XX as well -
let's see if there is a clear majority of opiniions...
> Again - which is only used in one place:
> drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
> include/configs/omap2420h4.h:#define CONFIG_DRIVER_OMAP24XX_I2C
>
> Which is fine - since it is a driver, which I'm sure that people out of tree use.
Well, if only out-of-tree ports use it, it probably should never have
been added in the first place.
> I would think should be CONFIG_DRIVERS_PATA_BFIN
I dosagree, the "DRIVERS" part is just added line noise.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Politician: An eel in the fundamental mud upon which the
superstructure of organized society is reared. When he wriggles he
mistakes the agitation of his tail for the trembling of the edifice.
As compared with the statesman, he suffers the disadvantage of being
alive. - Ambrose Bierce
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 11:03 [U-Boot] [RFC] CONFIG naming convetion Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 12:50 ` Wolfgang Denk
2009-07-18 15:15 ` Robin Getz
@ 2009-07-18 18:56 ` Mike Frysinger
2009-07-18 19:08 ` Wolfgang Denk
2 siblings, 1 reply; 19+ messages in thread
From: Mike Frysinger @ 2009-07-18 18:56 UTC (permalink / raw)
To: u-boot
On Saturday 18 July 2009 07:03:38 Jean-Christophe PLAGNIOL-VILLARD wrote:
> Hi all,
>
> Currently we have a mess in the drivers CONFIG naming convention
> as example on I2C we have
> CONFIG_I2C_XXXXX
> CONFIG_DRIVER_XXX_I2C
> CONFIG_XXXX_I2C
> CONFIG_SYS_I2C_XXXX
>
> I think it will good to have common and clean naming convention
> so I'll propose we use this one
> CONFIG_namespace_XXXXX
> and
> CONFIG_SYS_namespace_XXXXX
>
> so it will resutly for I2C to this
>
> CONFIG_I2C_XXXXX
> CONFIG_SYS_I2C_XXXX
>
> and the Makefile and KConfig it will be easier to sort and read
are there really any guidelines on what "CONFIG_SYS_" is for ? i havent
really figured out what "_SYS_" is supposed to indicate, so the new proposed
naming is just as confusing imo.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090718/734999c1/attachment.pgp
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 18:56 ` Mike Frysinger
@ 2009-07-18 19:08 ` Wolfgang Denk
0 siblings, 0 replies; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-18 19:08 UTC (permalink / raw)
To: u-boot
Dear Mike Frysinger,
In message <200907181456.20670.vapier@gentoo.org> you wrote:
>
> are there really any guidelines on what "CONFIG_SYS_" is for ? i havent
> really figured out what "_SYS_" is supposed to indicate, so the new proposed
> naming is just as confusing imo.
Actually there ARE guidelines; they are not perfect, but better than
nothing.
It helps to read the README.
If you think this is insufficint and yoiu have better ideas, please
post a patch.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The price of curiosity is a terminal experience.
- Terry Pratchett, _The Dark Side of the Sun_
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 17:50 ` Wolfgang Denk
@ 2009-07-18 21:13 ` Robin Getz
2009-07-18 22:25 ` Wolfgang Denk
2009-07-19 5:54 ` Heiko Schocher
1 sibling, 1 reply; 19+ messages in thread
From: Robin Getz @ 2009-07-18 21:13 UTC (permalink / raw)
To: u-boot
On Sat 18 Jul 2009 13:50, Wolfgang Denk pondered:
> Dear Robin Getz,
>
> In message <200907181115.26404.rgetz@blackfin.uclinux.org> you wrote:
> >
> > It would be nice to come up with some list of namespaces, and what they
> > they should be used for...
>
> Agreed.
Excellent - a common goal :)
> > For example, should it be:
> > CONFIG_DRIVER_OMAP24XX_I2C
> > or
> > CONFIG_SYS_I2C_DRIVER_OMAP24XX
> > or
> > CONFIG_DRIVER_I2C_OMAP24XX
>
> Well, the difference between CONFIG_ and CONFIG_SYS_ is well-defined.
>
> And the "DRIVER_" part makes not much sense to me in any of the
> examples above.
It's a namespace - controls if a driver is compile in or not.
Should only be used in .config files, and Makefiles.
Some (very few) already use it..
./drivers/serial/Makefile:COBJS-$(CONFIG_DRIVER_S3C4510_UART) += s3c4510b_uart.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_3C589) += 3c589.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_AX88180) += ax88180.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_CS8900) += cs8900.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_DM9000) += dm9000x.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_KS8695ETH) += ks8695eth.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_LAN91C96) += lan91c96.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_NE2000) += ne2000.o ne2000_base.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_AX88796L) += ax88796.o ne2000_base.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_NETARMETH) += netarm_eth.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_NS7520_ETHERNET) += ns7520_eth.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_NS9750_ETHERNET) += ns9750_eth.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_RTL8019) += rtl8019.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_S3C4510_ETH) += s3c4510b_eth.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_SMC91111) += smc91111.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_SMC911X) += smc911x.o
./drivers/net/Makefile:COBJS-$(CONFIG_DRIVER_TI_EMAC) += davinci_emac.o
./drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_DAVINCI_I2C) += davinci_i2c.o
./drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP1510_I2C) += omap1510_i2c.o
./drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
./drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP34XX_I2C) += omap24xx_i2c.o
./drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
./drivers/mtd/Makefile:COBJS-$(CONFIG_FLASH_CFI_DRIVER) += cfi_flash.o
./drivers/mtd/nand/Makefile:COBJS-$(CONFIG_DRIVER_NAND_BFIN) += bfin_nand.o
./board/micronas/vct/Makefile:COBJS-$(CONFIG_DRIVER_SMC911X) += ebi_smc911x.o smc_eeprom.o
./cpu/arm926ejs/davinci/Makefile:COBJS-$(CONFIG_DRIVER_TI_EMAC) += lxt972.o dp83848.o
> My personal way of thinking about such options is usually CPU/archi-
> tecture first, so I would probably chose CONFIG_OMAP24XX_I2C to en-
> able/disable the I2C driver on a OMAP24XX based board, but I under-
> stand that there are reasons to prefer CONFIG_I2C_OMAP24XX as well -
> let's see if there is a clear majority of opiniions...
If we are thinking of a "tree" type structure - it might make sense to
start at the top? I guess the question is -- is it an I2C driver for
the OMAP24xx or a OMAP24xx driver for I2C?
Since the API is a I2C API - my thought it is an I2C driver, which happens
to run on a specific SoC. The actual SoC doesn't really matter (and
should be last) - so it is similar to the directory structure we have today.
> > Again - which is only used in one place:
> > drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
> > include/configs/omap2420h4.h:#define CONFIG_DRIVER_OMAP24XX_I2C
> >
> > Which is fine - since it is a driver, which I'm sure that people out of tree use.
>
> Well, if only out-of-tree ports use it, it probably should never have
> been added in the first place.
Then I can start sending patches for unused CONFIG_ from random config files,
and no one will start complaining?
From what I can quickly tell - there seems to be about 472 different CONFIG_
options in ./include/config that are not actually used anywhere in the master
tree.
> > I would think should be CONFIG_DRIVERS_PATA_BFIN
>
> I dosagree, the "DRIVERS" part is just added line noise.
It's a name space - making sure it is differentiated from an option.
As you pointed out - this is what exists in the README today. (which
I have read, but gained no clarity from it)...
=======================
* Configuration _OPTIONS_:
These are selectable by the user and have names beginning with
"CONFIG_".
* Configuration _SETTINGS_:
These depend on the hardware etc. and should not be meddled with if
you don't know what you're doing; they have names beginning with
"CONFIG_SYS_".
=======================
I think there needs to be more words - do you mean:
- hardware, CPU level? or
- hardware, SoC level? or
- hardware, board level?
Personally - I don't think board level things should be CONFIG_SYS_, as
these need to be switched around by board porters.
I guess we could back up a step and look at the users, and defined things
as things that should be changed by:
- arch maintainers (Core/CPU specific)
- SoC maintainer (SoC specific)
- Board maintainer (PCB specific)
- End user of the above (changes options, but nothing from the above list?)
?
I'm happy to write a patch - but I have a feeling what I think isn't what
everyone else's opinion is...
-Robin
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 15:52 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-07-18 21:30 ` Robin Getz
0 siblings, 0 replies; 19+ messages in thread
From: Robin Getz @ 2009-07-18 21:30 UTC (permalink / raw)
To: u-boot
On Sat 18 Jul 2009 11:52, Jean-Christophe PLAGNIOL-VILLARD pondered:
> On 11:15 Sat 18 Jul , Robin Getz wrote:
> > It doesn't appear very "system" oriented to me...
> it's as we had reorganise the drivers file place as example or
> the common Makefile and continue to do it eveyday (take a look on Peter e-mail
> about arch dir)
> >
> > It would be nice to come up with some list of namespaces, and what they
> > they should be used for...
> >
> > For example, should it be:
> > CONFIG_DRIVER_OMAP24XX_I2C
> > or
> > CONFIG_SYS_I2C_DRIVER_OMAP24XX
> > or
> > CONFIG_DRIVER_I2C_OMAP24XX
>
> DRIVER is really un-nessary IMHO
It doesn't cost extra $ to keep 6 letters - and makes it alot more clear
about what it does.
I understand the point about having really _long_ names, and personally
think things like "ThisVariableIsATemporaryCounter" are brain dead, but
I don't think we have hit that yet with CONFIG_ yet.
We already have lots (419) that are over 30 chars, and some over 40!
40 CONFIG_SYS_TFTP_BLINK_STATUS_ON_DATA_IN
41 CONFIG_SYS_MONAHANS_TURBO_RUN_MODE_RATIO
41 CONFIG_SYS_MPC8220_SYSPLL_VCO_MULTIPLIER
42 CONFIG_SYS_PCI_SUBSYS_DEVICEID_NONMONARCH
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 21:13 ` Robin Getz
@ 2009-07-18 22:25 ` Wolfgang Denk
2009-07-20 3:55 ` Robin Getz
2009-07-20 8:02 ` Alessandro Rubini
0 siblings, 2 replies; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-18 22:25 UTC (permalink / raw)
To: u-boot
Dear Robin Getz,
In message <200907181713.25601.rgetz@blackfin.uclinux.org> you wrote:
>
> It's a namespace - controls if a driver is compile in or not.
> Should only be used in .config files, and Makefiles.
What's the difference between adding a driver and any other feature?
> Some (very few) already use it..
These can easily be fixed :-)
> > My personal way of thinking about such options is usually CPU/archi-
> > tecture first, so I would probably chose CONFIG_OMAP24XX_I2C to en-
> > able/disable the I2C driver on a OMAP24XX based board, but I under-
> > stand that there are reasons to prefer CONFIG_I2C_OMAP24XX as well -
> > let's see if there is a clear majority of opiniions...
>
> If we are thinking of a "tree" type structure - it might make sense to
> start at the top? I guess the question is -- is it an I2C driver for
> the OMAP24xx or a OMAP24xx driver for I2C?
>
> Since the API is a I2C API - my thought it is an I2C driver, which happens
> to run on a specific SoC. The actual SoC doesn't really matter (and
> should be last) - so it is similar to the directory structure we have today.
That's why I said that I understand that there are reasons for such a
name.
> Then I can start sending patches for unused CONFIG_ from random config files,
> and no one will start complaining?
Probably.
> From what I can quickly tell - there seems to be about 472 different CONFIG_
> options in ./include/config that are not actually used anywhere in the master
> tree.
I guess lots of these is indeed garbage that can be removed without
anybody noticing it.
> > > I would think should be CONFIG_DRIVERS_PATA_BFIN
> >
> > I dosagree, the "DRIVERS" part is just added line noise.
>
> It's a name space - making sure it is differentiated from an option.
Yeah, and we end up with variable names that cannot be used any more
because they exceed the maximum line length.
> I think there needs to be more words - do you mean:
> - hardware, CPU level? or
> - hardware, SoC level? or
> - hardware, board level?
Hm... I don't see any real need for adding additional characters to
the CONFIG_(SYS_)* names - I am not aware that we ever had any
problems because of name collisions.
> Personally - I don't think board level things should be CONFIG_SYS_, as
> these need to be switched around by board porters.
>
> I guess we could back up a step and look at the users, and defined things
> as things that should be changed by:
> - arch maintainers (Core/CPU specific)
> - SoC maintainer (SoC specific)
> - Board maintainer (PCB specific)
> - End user of the above (changes options, but nothing from the above list?)
Frankly, this makes no sense to me. I have yet to see any such clear
split of roles and functions. When you bring up a new board, you
usually have to check everything.
The only split that made, and still makes, kind of sense to me is the
split into normal users (CONFIG_) versus "root" (CONFIG_SYS_) groups.
> I'm happy to write a patch - but I have a feeling what I think isn't what
> everyone else's opinion is...
It seems there are at least two sets, one containing you, the other
one containing me. I have no information about the cardinality of
each, though ;-)
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Software suppliers are trying to make their software packages more
``user-friendly''. . . . Their best approach, so far, has been to
take all the old brochures, and stamp the words, ``user-friendly'' on
the cover. - Bill Gates
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 17:50 ` Wolfgang Denk
2009-07-18 21:13 ` Robin Getz
@ 2009-07-19 5:54 ` Heiko Schocher
1 sibling, 0 replies; 19+ messages in thread
From: Heiko Schocher @ 2009-07-19 5:54 UTC (permalink / raw)
To: u-boot
Hello Wolfgang,
Wolfgang Denk wrote:
> In message <200907181115.26404.rgetz@blackfin.uclinux.org> you wrote:
>> It would be nice to come up with some list of namespaces, and what they
>> they should be used for...
>
> Agreed.
>
>> For example, should it be:
>> CONFIG_DRIVER_OMAP24XX_I2C
>> or
>> CONFIG_SYS_I2C_DRIVER_OMAP24XX
>> or
>> CONFIG_DRIVER_I2C_OMAP24XX
>
> Well, the difference between CONFIG_ and CONFIG_SYS_ is well-defined.
>
> And the "DRIVER_" part makes not much sense to me in any of the
> examples above.
Agreed.
> My personal way of thinking about such options is usually CPU/archi-
> tecture first, so I would probably chose CONFIG_OMAP24XX_I2C to en-
> able/disable the I2C driver on a OMAP24XX based board, but I under-
> stand that there are reasons to prefer CONFIG_I2C_OMAP24XX as well -
> let's see if there is a clear majority of opiniions...
I vote for CONFIG_I2C_xxx because we collect all i2c drivers in
drivers/i2c without considering the plattform, so I think CONFIG_I2C_
represents better the code structure.
>> Again - which is only used in one place:
>> drivers/i2c/Makefile:COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
>> include/configs/omap2420h4.h:#define CONFIG_DRIVER_OMAP24XX_I2C
>>
>> Which is fine - since it is a driver, which I'm sure that people out of tree use.
>
> Well, if only out-of-tree ports use it, it probably should never have
> been added in the first place.
>
>> I would think should be CONFIG_DRIVERS_PATA_BFIN
>
> I dosagree, the "DRIVERS" part is just added line noise.
Yep.
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 22:25 ` Wolfgang Denk
@ 2009-07-20 3:55 ` Robin Getz
2009-07-20 20:33 ` Wolfgang Denk
2009-07-20 8:02 ` Alessandro Rubini
1 sibling, 1 reply; 19+ messages in thread
From: Robin Getz @ 2009-07-20 3:55 UTC (permalink / raw)
To: u-boot
On Sat 18 Jul 2009 18:25, Wolfgang Denk pondered:
> >
> > I guess we could back up a step and look at the users, and defined things
> > as things that should be changed by:
> >? - arch maintainers (Core/CPU specific)
> >? - SoC maintainer (SoC specific)
> >? - Board maintainer (PCB specific)
> >? - End user of the above (changes options, but nothing from the above list?)
>
> Frankly, this makes no sense to me. I have yet to see any such clear
> split of roles and functions. When you bring up a new board, you
> usually have to check everything.
>
> The only split that made, and still makes, kind of sense to me is the
> split into normal users (CONFIG_) versus "root" (CONFIG_SYS_) groups.
I guess I still don't understand how you are making the distinction between
"normal users" and "root" - I think there are more categories of users
between those two...
People responsible for the archicture/CPU core may set things up, and
not want anyone to change things - on any SoC or Board.
People responsible for SoC developments should be able to take what
the arch provider delivers, write a few device drivers, make some
specific choices that anyone who implements that SoC is going to have
to live with.
People responsible for Board porting, should be able to take what
the SoC provider delivers, customise things for their platform,
and move on.
Then there are end users - which must live with the choices that all three
have made, until they get their own hardware back, or in the case where
the hardware is a module - just change some non-hardware related options.
So maybe it is core, chip, PCB, and user.
In some cases - all 4 categories are the same person - in many cases they
are not.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-18 22:25 ` Wolfgang Denk
2009-07-20 3:55 ` Robin Getz
@ 2009-07-20 8:02 ` Alessandro Rubini
2009-07-20 14:27 ` Wolfgang Denk
1 sibling, 1 reply; 19+ messages in thread
From: Alessandro Rubini @ 2009-07-20 8:02 UTC (permalink / raw)
To: u-boot
>> > > I would think should be CONFIG_DRIVERS_PATA_BFIN
>> >
>> > I dosagree, the "DRIVERS" part is just added line noise.
>>
>> It's a name space - making sure it is differentiated from an option.
>
> Yeah, and we end up with variable names that cannot be used any more
> because they exceed the maximum line length.
What about "DRV" or even "D" if you insist? CONFIG_D_I2C_SOFT ?
I personally find the config files pretty unreadable. Options that
enable a driver should be different from those that select a
behaviour, in my opinion.
While people responsible for their board know all the stuff they
wrote, but when someone undergoes a more general code change several or
all config files must be checked. A driver namespace would help, in my
opionion.
/alessandro
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-20 8:02 ` Alessandro Rubini
@ 2009-07-20 14:27 ` Wolfgang Denk
0 siblings, 0 replies; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-20 14:27 UTC (permalink / raw)
To: u-boot
Dear Alessandro Rubini,
In message <20090720080226.GA2463@mail.gnudd.com> you wrote:
>
> What about "DRV" or even "D" if you insist? CONFIG_D_I2C_SOFT ?
That's longer than needed, and nobody will understand what the "D_"
stands for.
> I personally find the config files pretty unreadable. Options that
> enable a driver should be different from those that select a
> behaviour, in my opinion.
So what do you think when you read "CONFIG_I2C_SOFT" ?
So many people here seem to take Linux as reference - why not here?
Does Linux use "CONFIG_DRIVER_E1000", "CONFIG_DRIVER_I2C",
"CONFIG_DRIVER_IDE", "CONFIG_DRIVER_SCSI" or "CONFIG_DRIVER_SPI"?
No! Linux uses "CONFIG_E1000", "CONFIG_I2C", "CONFIG_IDE",
"CONFIG_SCSI" and "CONFIG_SPI".
> While people responsible for their board know all the stuff they
> wrote, but when someone undergoes a more general code change several or
> all config files must be checked. A driver namespace would help, in my
> opionion.
Linux has an order of magnitude more drivers than U-Boot, and they do
well without this. We don't need this either.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The more complex the mind, the greater the need for the simplicity of
play.
-- Kirk, "Shore Leave", stardate 3025.8
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-20 3:55 ` Robin Getz
@ 2009-07-20 20:33 ` Wolfgang Denk
2009-07-21 15:59 ` Robin Getz
0 siblings, 1 reply; 19+ messages in thread
From: Wolfgang Denk @ 2009-07-20 20:33 UTC (permalink / raw)
To: u-boot
Dear Robin Getz,
In message <200907192355.41601.rgetz@blackfin.uclinux.org> you wrote:
>
> People responsible for the archicture/CPU core may set things up, and
> not want anyone to change things - on any SoC or Board.
>
> People responsible for SoC developments should be able to take what
> the arch provider delivers, write a few device drivers, make some
> specific choices that anyone who implements that SoC is going to have
> to live with.
>
> People responsible for Board porting, should be able to take what
> the SoC provider delivers, customise things for their platform,
> and move on.
>
> Then there are end users - which must live with the choices that all three
> have made, until they get their own hardware back, or in the case where
> the hardware is a module - just change some non-hardware related options.
>
> So maybe it is core, chip, PCB, and user.
>
> In some cases - all 4 categories are the same person - in many cases they
> are not.
You seem to live on a different planet than me.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Any sufficiently advanced bug is indistinguishable from a feature.
- Rich Kulawiec
^ permalink raw reply [flat|nested] 19+ messages in thread
* [U-Boot] [RFC] CONFIG naming convetion
2009-07-20 20:33 ` Wolfgang Denk
@ 2009-07-21 15:59 ` Robin Getz
0 siblings, 0 replies; 19+ messages in thread
From: Robin Getz @ 2009-07-21 15:59 UTC (permalink / raw)
To: u-boot
On Mon 20 Jul 2009 16:33, Wolfgang Denk pondered:
> Dear Robin Getz,
[snip]
> You seem to live on a different planet than me.
That is a well though out point.
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2009-07-21 15:59 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-18 11:03 [U-Boot] [RFC] CONFIG naming convetion Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 12:50 ` Wolfgang Denk
2009-07-18 13:05 ` Heiko Schocher
2009-07-18 14:48 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 17:33 ` Wolfgang Denk
2009-07-18 15:15 ` Robin Getz
2009-07-18 15:52 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-18 21:30 ` Robin Getz
2009-07-18 17:50 ` Wolfgang Denk
2009-07-18 21:13 ` Robin Getz
2009-07-18 22:25 ` Wolfgang Denk
2009-07-20 3:55 ` Robin Getz
2009-07-20 20:33 ` Wolfgang Denk
2009-07-21 15:59 ` Robin Getz
2009-07-20 8:02 ` Alessandro Rubini
2009-07-20 14:27 ` Wolfgang Denk
2009-07-19 5:54 ` Heiko Schocher
2009-07-18 18:56 ` Mike Frysinger
2009-07-18 19:08 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox