Skip to contentSkip to conversation

meta: add usb/base feature

PATCH In review [email protected] 3 participants 13 messages May 4, 2012 – May 6, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/7 meta: add usb/base feature

From: Tom Zanussi <[email protected]>

Add a feature to enable 'base' support for USB.

---
 meta/cfg/kernel-cache/features/usb/base.cfg |    3 +++
 meta/cfg/kernel-cache/features/usb/base.scc |    4 ++++
 2 files changed, 7 insertions(+), 0 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc
meta/cfg/kernel-cache/features/usb/base.cfg new file +3 -0
new file mode 100644
index 0000000..dec6a47
@@ -0,0 +1,3 @@
+CONFIG_USB_SUPPORT=y
+CONFIG_USB=y
+
meta/cfg/kernel-cache/features/usb/base.scc new file +4 -0
new file mode 100644
index 0000000..3c93475
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable core options for USB support"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware base.cfg
Signature · 1 line
1.7.0.4
#1 lore raw

PATCH 2/7 meta: add usb/xhci-hcd feature

From: Tom Zanussi <[email protected]>

Add an 'xhci-hcd' feature that turns on the kernel options required to support xhci (USB 3.0).

---
 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc
meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg new file +1 -0
new file mode 100644
index 0000000..ae4294b
@@ -0,0 +1 @@
+CONFIG_USB_XHCI_HCD=y
meta/cfg/kernel-cache/features/usb/xhci-hcd.scc new file +4 -0
new file mode 100644
index 0000000..e9af080
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for xhci (USB 3.0)"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware xhci-hcd.cfg
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 3/7 meta: add usb/ehci-hcd feature

In reply to [email protected]

From: Tom Zanussi <[email protected]>

Add an 'ehci-hcd' feature that turns on the kernel options required to support ehci (USB 2.0).

---
 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc
meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg new file +1 -0
new file mode 100644
index 0000000..7322dc2
@@ -0,0 +1 @@
+CONFIG_USB_EHCI_HCD=y
meta/cfg/kernel-cache/features/usb/ehci-hcd.scc new file +4 -0
new file mode 100644
index 0000000..eafc580
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ehci (USB 2.0)"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware ehci-hcd.cfg
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH 4/7 meta: add usb/ohci-hcd feature

In reply to [email protected]

From: Tom Zanussi <[email protected]>

Add an 'ohci-hcd' feature that turns on the kernel options required to support ohci (USB 1.x).

---
 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc
meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg new file +1 -0
new file mode 100644
index 0000000..59f6d5f
@@ -0,0 +1 @@
+CONFIG_USB_OHCI_HCD=y
meta/cfg/kernel-cache/features/usb/ohci-hcd.scc new file +4 -0
new file mode 100644
index 0000000..c53e38c
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ohci (USB 1.x)"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware ohci-hcd.cfg
Signature · 1 line
1.7.0.4
#4 lore raw

PATCH 5/7 meta: add usb/uhci-hcd feature

In reply to [email protected]

From: Tom Zanussi <[email protected]>

Add a 'uhci-hcd' feature that turns on the kernel options required to support uhci (USB 1.x).

---
 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc
meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg new file +1 -0
new file mode 100644
index 0000000..9c9d8c2
@@ -0,0 +1 @@
+CONFIG_USB_UHCI_HCD=y
meta/cfg/kernel-cache/features/usb/uhci-hcd.scc new file +4 -0
new file mode 100644
index 0000000..02ea9ff
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for uhci (USB 1.x)"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware uhci-hcd.cfg
Signature · 1 line
1.7.0.4
#5 lore raw

PATCH 6/7 meta/crownbay: use usb features

In reply to [email protected]

From: Tom Zanussi <[email protected]>

Use the available usb features and remove the associated config settings from the top-level crownbay feature.

---
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
 2 files changed, 5 insertions(+), 6 deletions(-)
meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg +0 -6
index b101419..7d1362b 100644
@@ -10,17 +10,11 @@ CONFIG_ATA_SFF=y
 CONFIG_PCI=y
 CONFIG_MMC=y
 CONFIG_MMC_SDHCI=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB=y
-CONFIG_USB_ARCH_HAS_EHCI=y
 CONFIG_R8169=y
 CONFIG_PATA_SCH=y
 CONFIG_MMC_SDHCI_PCI=y
-CONFIG_USB_EHCI_HCD=y
 CONFIG_PCIEPORTBUS=y
 CONFIG_NET=y
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USB_OHCI_HCD=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_SOUND=y
meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc +5 -0
index 0ff6ac6..cc3c8bd 100644
@@ -16,3 +16,8 @@ include features/logbuf/size-normal.scc
 
 include features/latencytop/latencytop.scc
 include features/profiling/profiling.scc
+
+include features/usb/base.scc
+include features/usb/ehci-hcd.scc
+include features/usb/ohci-hcd.scc
+include features/usb/uhci-hcd.scc
Signature · 1 line
1.7.0.4
#6 lore raw

PATCH 7/7 meta: add mei feature

In reply to [email protected]

From: Tom Zanussi <[email protected]>

Add an 'mei' feature that turns on the kernel options required to support the Intel Management Engine Interface.

---
 meta/cfg/kernel-cache/features/amt/mei/mei.cfg |    3 +++
 meta/cfg/kernel-cache/features/amt/mei/mei.scc |    4 ++++
 2 files changed, 7 insertions(+), 0 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc
meta/cfg/kernel-cache/features/amt/mei/mei.cfg new file +3 -0
new file mode 100644
index 0000000..c1c2ace
@@ -0,0 +1,3 @@
+CONFIG_STAGING=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_INTEL_MEI=y
meta/cfg/kernel-cache/features/amt/mei/mei.scc new file +4 -0
new file mode 100644
index 0000000..c506a04
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for the Intel Management Engine Interface"
+define KFEATURE_COMPATIBILITY board
+
+kconf hardware mei.cfg
Signature · 1 line
1.7.0.4
#7 lore raw

cover add usb and mei features

From: Tom Zanussi <[email protected]>

This adds a few new features, one each for usb/[xeou]hci-hcd and another for amt/mei, and refactors existing config options into a new usb/base, which are then used in crownbay.

v2: after suggestions from Bruce and Darren of a preference for a more flattened feature tree structure, moved all the features into a single usb/ feature dir. I did however retain the common 'base' feature because inlining that in each feature would mean that the same common set would be repeated in multiple config fragments if more than one usb feature was included in a BSP.

Please pull into linux-yocto-3.2.

Thanks,

Tom

The following changes since commit b14a08f5c7b469a5077c10942f4e1aec171faa9d:
Yang Shi (1):
meta: Clean up BSPs kernel config

are available in the git repository at:

git://git.yoctoproject.org/linux-yocto-2.6.37-contrib.git tzanussi/xhcd-mei-features
http://git.yoctoproject.org/cgit.cgi//log/?h=tzanussi/xhcd-mei-features

Tom Zanussi (7):
meta: add usb/base feature
meta: add usb/xhci-hcd feature
meta: add usb/ehci-hcd feature
meta: add usb/ohci-hcd feature
meta: add usb/uhci-hcd feature
meta/crownbay: use usb features
meta: add mei feature

 meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
 meta/cfg/kernel-cache/features/amt/mei/mei.cfg  |    3 +++
 meta/cfg/kernel-cache/features/amt/mei/mei.scc  |    4 ++++
 meta/cfg/kernel-cache/features/usb/base.cfg     |    3 +++
 meta/cfg/kernel-cache/features/usb/base.scc     |    4 ++++
 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
 14 files changed, 39 insertions(+), 6 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc
#8 lore raw

Re: [PATCH 0/7][KERNEL] add usb and mei features

Quoted 6 lines · On 05/04/2012 03:07 PM, [email protected] wrote:

From: Tom Zanussi <[email protected]>

This adds a few new features, one each for usb/[xeou]hci-hcd and another for amt/mei, and refactors existing config options into a new usb/base, which are then used in crownbay.

Quoted 6 lines

v2: after suggestions from Bruce and Darren of a preference for a more flattened feature tree structure, moved all the features into a single usb/ feature dir. I did however retain the common 'base' feature because inlining that in each feature would mean that the same common set would be repeated in multiple config fragments if more than one usb feature was included in a BSP.

As things stand now, a BSP would have to include both the base and the *hcd right?

include usb/base.scc
include ehci-hcd.scc

Seems to me we should manage the dependencies wherever we can. When I've created fragments I've been including their requirements as well to make it easier on the integrator. Since you've put the dependencies in their own fragment, why not include the fragment in the *hcd.scc files?

+++ b/meta/cfg/kernel-cache/features/usb/ehci-hcd.scc @@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ehci (USB 2.0)" +define KFEATURE_COMPATIBILITY board
+
+ include base.scc
+kconf hardware ehci-hcd.cfg

Now if someone need only include the one line for the *hcd. Since it's only a total of 3 lines of CONFIG settings we're packaging up here, it seems to me we should be able to enable it with only 1 line of meta data.

--
Darren

Quoted 53 lines

Please pull into linux-yocto-3.2.

Thanks,

Tom

The following changes since commit b14a08f5c7b469a5077c10942f4e1aec171faa9d:
Yang Shi (1):
meta: Clean up BSPs kernel config

are available in the git repository at:

git://git.yoctoproject.org/linux-yocto-2.6.37-contrib.git tzanussi/xhcd-mei-features
http://git.yoctoproject.org/cgit.cgi//log/?h=tzanussi/xhcd-mei-features

Tom Zanussi (7):
meta: add usb/base feature
meta: add usb/xhci-hcd feature
meta: add usb/ehci-hcd feature
meta: add usb/ohci-hcd feature
meta: add usb/uhci-hcd feature
meta/crownbay: use usb features
meta: add mei feature

 meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
 meta/cfg/kernel-cache/features/amt/mei/mei.cfg  |    3 +++
 meta/cfg/kernel-cache/features/amt/mei/mei.scc  |    4 ++++
 meta/cfg/kernel-cache/features/usb/base.cfg     |    3 +++
 meta/cfg/kernel-cache/features/usb/base.scc     |    4 ++++
 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
 14 files changed, 39 insertions(+), 6 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc
Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#9 lore raw

Re: [PATCH 0/7][KERNEL] add usb and mei features

Quoted 34 lines · Darren Hart
Quoted 6 lines · On 05/04/2012 03:07 PM, [email protected] wrote:

From: Tom Zanussi <[email protected]>

This adds a few new features, one each for usb/[xeou]hci-hcd and another for amt/mei, and refactors existing config options into a new usb/base, which are then used in crownbay.

Quoted 6 lines

v2: after suggestions from Bruce and Darren of a preference for a more flattened feature tree structure, moved all the features into a single usb/ feature dir. I did however retain the common 'base' feature because inlining that in each feature would mean that the same common set would be repeated in multiple config fragments if more than one usb feature was included in a BSP.

As things stand now, a BSP would have to include both the base and the *hcd right?

include usb/base.scc
include ehci-hcd.scc

Seems to me we should manage the dependencies wherever we can. When I've created fragments I've been including their requirements as well to make it easier on the integrator. Since you've put the dependencies in their own fragment, why not include the fragment in the *hcd.scc files?

+++ b/meta/cfg/kernel-cache/features/usb/ehci-hcd.scc

(quoted diff) +5 -0
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ehci (USB 2.0)"
+define KFEATURE_COMPATIBILITY board
+
+ include base.scc
+kconf hardware ehci-hcd.cfg
Quoted 4 lines

Now if someone need only include the one line for the *hcd. Since it's only a total of 3 lines of CONFIG settings we're packaging up here, it seems to me we should be able to enable it with only 1 line of meta data.

Yes, this is exactly what I did in the previous patchset.

The problem is that if we do this for each of the *hcd fragments, we end up with the options in base.cfg repeated for each, which may or may not produce a config-check warning.

To avoid that, we need to be able to add the base.cfg items once followed by the individual *hcd items as I did with the crownbay example:

+include features/usb/base.scc
+include features/usb/ehci-hcd.scc
+include features/usb/ohci-hcd.scc
+include features/usb/uhci-hcd.scc

Tom

Quoted 57 lines

--
Darren

Quoted 53 lines

Please pull into linux-yocto-3.2.

Thanks,

Tom

The following changes since commit b14a08f5c7b469a5077c10942f4e1aec171faa9d:
Yang Shi (1):
meta: Clean up BSPs kernel config

are available in the git repository at:

git://git.yoctoproject.org/linux-yocto-2.6.37-contrib.git tzanussi/xhcd-mei-features
http://git.yoctoproject.org/cgit.cgi//log/?h=tzanussi/xhcd-mei-features

Tom Zanussi (7):
meta: add usb/base feature
meta: add usb/xhci-hcd feature
meta: add usb/ehci-hcd feature
meta: add usb/ohci-hcd feature
meta: add usb/uhci-hcd feature
meta/crownbay: use usb features
meta: add mei feature

 meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
 meta/cfg/kernel-cache/features/amt/mei/mei.cfg  |    3 +++
 meta/cfg/kernel-cache/features/amt/mei/mei.scc  |    4 ++++
 meta/cfg/kernel-cache/features/usb/base.cfg     |    3 +++
 meta/cfg/kernel-cache/features/usb/base.scc     |    4 ++++
 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
 14 files changed, 39 insertions(+), 6 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc
#10 lore raw

Re: [PATCH 0/7][KERNEL] add usb and mei features

Quoted 42 lines · Tom Zanussi
Quoted 34 lines · Darren Hart
Quoted 6 lines · On 05/04/2012 03:07 PM, [email protected] wrote:

From: Tom Zanussi <[email protected]>

This adds a few new features, one each for usb/[xeou]hci-hcd and another for amt/mei, and refactors existing config options into a new usb/base, which are then used in crownbay.

Quoted 6 lines

v2: after suggestions from Bruce and Darren of a preference for a more flattened feature tree structure, moved all the features into a single usb/ feature dir. I did however retain the common 'base' feature because inlining that in each feature would mean that the same common set would be repeated in multiple config fragments if more than one usb feature was included in a BSP.

As things stand now, a BSP would have to include both the base and the *hcd right?

include usb/base.scc
include ehci-hcd.scc

Seems to me we should manage the dependencies wherever we can. When I've created fragments I've been including their requirements as well to make it easier on the integrator. Since you've put the dependencies in their own fragment, why not include the fragment in the *hcd.scc files?

+++ b/meta/cfg/kernel-cache/features/usb/ehci-hcd.scc

(quoted diff) +5 -0
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ehci (USB 2.0)"
+define KFEATURE_COMPATIBILITY board
+
+ include base.scc
+kconf hardware ehci-hcd.cfg
Quoted 4 lines

Now if someone need only include the one line for the *hcd. Since it's only a total of 3 lines of CONFIG settings we're packaging up here, it seems to me we should be able to enable it with only 1 line of meta data.

Yes, this is exactly what I did in the previous patchset.

Quoted 3 lines

The problem is that if we do this for each of the *hcd fragments, we end up with the options in base.cfg repeated for each, which may or may not produce a config-check warning.

"May or may not"? If our tools complain about setting a config to the same value, I would prefer to address that in the tools.

Bruce, any comment on the intended behavior of the tools?

--
Darren

Quoted 72 lines

To avoid that, we need to be able to add the base.cfg items once followed by the individual *hcd items as I did with the crownbay example:

(quoted diff) +4 -0
+include features/usb/base.scc
+include features/usb/ehci-hcd.scc
+include features/usb/ohci-hcd.scc
+include features/usb/uhci-hcd.scc

Tom

Quoted 57 lines

--
Darren

Quoted 53 lines

Please pull into linux-yocto-3.2.

Thanks,

Tom

The following changes since commit b14a08f5c7b469a5077c10942f4e1aec171faa9d:
Yang Shi (1):
meta: Clean up BSPs kernel config

are available in the git repository at:

git://git.yoctoproject.org/linux-yocto-2.6.37-contrib.git tzanussi/xhcd-mei-features
http://git.yoctoproject.org/cgit.cgi//log/?h=tzanussi/xhcd-mei-features

Tom Zanussi (7):
meta: add usb/base feature
meta: add usb/xhci-hcd feature
meta: add usb/ehci-hcd feature
meta: add usb/ohci-hcd feature
meta: add usb/uhci-hcd feature
meta/crownbay: use usb features
meta: add mei feature

 meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
 meta/cfg/kernel-cache/features/amt/mei/mei.cfg  |    3 +++
 meta/cfg/kernel-cache/features/amt/mei/mei.scc  |    4 ++++
 meta/cfg/kernel-cache/features/usb/base.cfg     |    3 +++
 meta/cfg/kernel-cache/features/usb/base.scc     |    4 ++++
 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
 14 files changed, 39 insertions(+), 6 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc
Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#11 lore raw

Re: [PATCH 0/7][KERNEL] add usb and mei features

Quoted 44 lines · Darren Hart
Quoted 42 lines · Tom Zanussi
Quoted 34 lines · Darren Hart
Quoted 6 lines · On 05/04/2012 03:07 PM, [email protected] wrote:

From: Tom Zanussi <[email protected]>

This adds a few new features, one each for usb/[xeou]hci-hcd and another for amt/mei, and refactors existing config options into a new usb/base, which are then used in crownbay.

Quoted 6 lines

v2: after suggestions from Bruce and Darren of a preference for a more flattened feature tree structure, moved all the features into a single usb/ feature dir. I did however retain the common 'base' feature because inlining that in each feature would mean that the same common set would be repeated in multiple config fragments if more than one usb feature was included in a BSP.

As things stand now, a BSP would have to include both the base and the *hcd right?

include usb/base.scc
include ehci-hcd.scc

Seems to me we should manage the dependencies wherever we can. When I've created fragments I've been including their requirements as well to make it easier on the integrator. Since you've put the dependencies in their own fragment, why not include the fragment in the *hcd.scc files?

+++ b/meta/cfg/kernel-cache/features/usb/ehci-hcd.scc

(quoted diff) +5 -0
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ehci (USB 2.0)"
+define KFEATURE_COMPATIBILITY board
+
+ include base.scc
+kconf hardware ehci-hcd.cfg
Quoted 4 lines

Now if someone need only include the one line for the *hcd. Since it's only a total of 3 lines of CONFIG settings we're packaging up here, it seems to me we should be able to enable it with only 1 line of meta data.

Yes, this is exactly what I did in the previous patchset.

Quoted 7 lines
Quoted 3 lines

The problem is that if we do this for each of the *hcd fragments, we end up with the options in base.cfg repeated for each, which may or may not produce a config-check warning.

"May or may not"? If our tools complain about setting a config to the same value, I would prefer to address that in the tools.

Well, there is this in the tools:

# Egads. People are listing the same thing multiple times within a fragment. # An evil sin that deserves its own category (and insults). KCONF_FRAG_ERRS=$KCONF_DIR/fragment_errors.txt

Tongue-in-cheek obviously, but is pointing out bad form regardless.

Anyway, the right way to solve this would be to implement fragment dependencies, where each of the *hcd fragments would contain something like

depends-on base.scc
kconf hardware ehci-hcd.cfg

and the tools would make sure only one instance of the base.scc options was included.

Obviously we don't have that or anything like that planned (which would probably be an upstreamable project, not something I wanted to address with this relatively (I thought) minor cleanup).

Tom

Quoted 80 lines

Bruce, any comment on the intended behavior of the tools?

--
Darren

Quoted 72 lines

To avoid that, we need to be able to add the base.cfg items once followed by the individual *hcd items as I did with the crownbay example:

(quoted diff) +4 -0
+include features/usb/base.scc
+include features/usb/ehci-hcd.scc
+include features/usb/ohci-hcd.scc
+include features/usb/uhci-hcd.scc

Tom

Quoted 57 lines

--
Darren

Quoted 53 lines

Please pull into linux-yocto-3.2.

Thanks,

Tom

The following changes since commit b14a08f5c7b469a5077c10942f4e1aec171faa9d:
Yang Shi (1):
meta: Clean up BSPs kernel config

are available in the git repository at:

git://git.yoctoproject.org/linux-yocto-2.6.37-contrib.git tzanussi/xhcd-mei-features
http://git.yoctoproject.org/cgit.cgi//log/?h=tzanussi/xhcd-mei-features

Tom Zanussi (7):
meta: add usb/base feature
meta: add usb/xhci-hcd feature
meta: add usb/ehci-hcd feature
meta: add usb/ohci-hcd feature
meta: add usb/uhci-hcd feature
meta/crownbay: use usb features
meta: add mei feature

 meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
 meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
 meta/cfg/kernel-cache/features/amt/mei/mei.cfg  |    3 +++
 meta/cfg/kernel-cache/features/amt/mei/mei.scc  |    4 ++++
 meta/cfg/kernel-cache/features/usb/base.cfg     |    3 +++
 meta/cfg/kernel-cache/features/usb/base.scc     |    4 ++++
 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
 14 files changed, 39 insertions(+), 6 deletions(-)
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg
 create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg
 create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc
#12 lore raw

Re: [PATCH 0/7][KERNEL] add usb and mei features

In reply to Darren Hart
Quoted 45 lines · Darren Hart
Quoted 42 lines · Tom Zanussi
Quoted 34 lines · Darren Hart
Quoted 6 lines · On 05/04/2012 03:07 PM, [email protected] wrote:

From: Tom Zanussi<[email protected]>

This adds a few new features, one each for usb/[xeou]hci-hcd and another for amt/mei, and refactors existing config options into a new usb/base, which are then used in crownbay.

Quoted 6 lines

v2: after suggestions from Bruce and Darren of a preference for a more flattened feature tree structure, moved all the features into a single usb/ feature dir. I did however retain the common 'base' feature because inlining that in each feature would mean that the same common set would be repeated in multiple config fragments if more than one usb feature was included in a BSP.

As things stand now, a BSP would have to include both the base and the *hcd right?

include usb/base.scc
include ehci-hcd.scc

Seems to me we should manage the dependencies wherever we can. When I've created fragments I've been including their requirements as well to make it easier on the integrator. Since you've put the dependencies in their own fragment, why not include the fragment in the *hcd.scc files?

+++ b/meta/cfg/kernel-cache/features/usb/ehci-hcd.scc

(quoted diff) +5 -0
@@ -0,0 +1,4 @@
+define KFEATURE_DESCRIPTION "Enable options for ehci (USB 2.0)"
+define KFEATURE_COMPATIBILITY board
+
+ include base.scc
+kconf hardware ehci-hcd.cfg
Quoted 4 lines

Now if someone need only include the one line for the *hcd. Since it's only a total of 3 lines of CONFIG settings we're packaging up here, it seems to me we should be able to enable it with only 1 line of meta data.

Yes, this is exactly what I did in the previous patchset.

Quoted 8 lines
Quoted 3 lines

The problem is that if we do this for each of the *hcd fragments, we end up with the options in base.cfg repeated for each, which may or may not produce a config-check warning.

"May or may not"? If our tools complain about setting a config to the same value, I would prefer to address that in the tools.

Bruce, any comment on the intended behavior of the tools?

That warning is supposed to only trigger if you literally are in the same fragment. The switch to a new fragment should allow the duplication.

There is a secondary warning that yells if an option is redefined by ANY fragment. That mode is to support a configuration scheme that says all fragments should be exclusive and additive. I made that into a flag some time ago.

That being said, the switch to merge_config (the upstream script), caused a few things to be more difficult. This is one of them. I have some changes to this already queued, and I'm not seeing anything like this in my tests. I've got something that allows the multiple includes to work fine (and stops short of a new keyword (although that it tempting to reduce complexity)).

I'll run some configuration tests here when I merge the series, and see if a regression snuck in.

Cheers,

Bruce

Quoted 77 lines

--
Darren

Quoted 72 lines

To avoid that, we need to be able to add the base.cfg items once followed by the individual *hcd items as I did with the crownbay example:

(quoted diff) +4 -0
+include features/usb/base.scc
+include features/usb/ehci-hcd.scc
+include features/usb/ohci-hcd.scc
+include features/usb/uhci-hcd.scc

Tom

Quoted 57 lines

--
Darren

Quoted 53 lines

Please pull into linux-yocto-3.2.

Thanks,

Tom

The following changes since commit b14a08f5c7b469a5077c10942f4e1aec171faa9d:
Yang Shi (1):
meta: Clean up BSPs kernel config

are available in the git repository at:

git://git.yoctoproject.org/linux-yocto-2.6.37-contrib.git tzanussi/xhcd-mei-features
http://git.yoctoproject.org/cgit.cgi//log/?h=tzanussi/xhcd-mei-features

Tom Zanussi (7):
meta: add usb/base feature
meta: add usb/xhci-hcd feature
meta: add usb/ehci-hcd feature
meta: add usb/ohci-hcd feature
meta: add usb/uhci-hcd feature
meta/crownbay: use usb features
meta: add mei feature

  meta/cfg/kernel-cache/bsp/crownbay/crownbay.cfg |    6 ------
  meta/cfg/kernel-cache/bsp/crownbay/crownbay.scc |    5 +++++
  meta/cfg/kernel-cache/features/amt/mei/mei.cfg  |    3 +++
  meta/cfg/kernel-cache/features/amt/mei/mei.scc  |    4 ++++
  meta/cfg/kernel-cache/features/usb/base.cfg     |    3 +++
  meta/cfg/kernel-cache/features/usb/base.scc     |    4 ++++
  meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg |    1 +
  meta/cfg/kernel-cache/features/usb/ehci-hcd.scc |    4 ++++
  meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg |    1 +
  meta/cfg/kernel-cache/features/usb/ohci-hcd.scc |    4 ++++
  meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg |    1 +
  meta/cfg/kernel-cache/features/usb/uhci-hcd.scc |    4 ++++
  meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg |    1 +
  meta/cfg/kernel-cache/features/usb/xhci-hcd.scc |    4 ++++
  14 files changed, 39 insertions(+), 6 deletions(-)

create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.cfg create mode 100644 meta/cfg/kernel-cache/features/amt/mei/mei.scc create mode 100644 meta/cfg/kernel-cache/features/usb/base.cfg create mode 100644 meta/cfg/kernel-cache/features/usb/base.scc create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.cfg create mode 100644 meta/cfg/kernel-cache/features/usb/ehci-hcd.scc create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.cfg create mode 100644 meta/cfg/kernel-cache/features/usb/ohci-hcd.scc create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.cfg create mode 100644 meta/cfg/kernel-cache/features/usb/uhci-hcd.scc create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.cfg create mode 100644 meta/cfg/kernel-cache/features/usb/xhci-hcd.scc