Understanding get_maintainer.pl and MAINTAINERS
Hi again, I’m now preparing my patchset for bcm2835-audio. get_maintainer.pl returns: $ ./scripts/get_maintainer.pl --nokeywords --nogit --nogit-fallback drivers/staging/vc04_services/bcm2835-audio/ Stephen Warren <swarren@wwwdotorg.org> (maintainer:BROADCOM BCM2835 ARM ARCHITECTURE) Lee Jones <lee@kernel.org> (maintainer:BROADCOM BCM2835 ARM ARCHITECTURE) Eric Anholt <eric@anholt.net> (maintainer:BROADCOM BCM2835 ARM ARCHITECTURE) Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:STAGING SUBSYSTEM) Florian Fainelli <f.fainelli@gmail.com> (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) Ray Jui <rjui@broadcom.com> (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) Scott Branden <sbranden@broadcom.com> (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) bcm-kernel-feedback-list@broadcom.com (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2835 ARM ARCHITECTURE) linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2835 ARM ARCHITECTURE) devel@driverdev.osuosl.org (open list:STAGING SUBSYSTEM) linux-kernel@vger.kernel.org (open list) Why are the BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE guys added to the list? The MAINTAINERS file defines these rules: BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE M: Florian Fainelli <f.fainelli@gmail.com> M: Ray Jui <rjui@broadcom.com> M: Scott Branden <sbranden@broadcom.com> M: bcm-kernel-feedback-list@broadcom.com T: git git://github.com/broadcom/mach-bcm S: Maintained N: bcm281* N: bcm113* N: bcm216* N: kona F: arch/arm/mach-bcm/ As far as I see, none of these rules matches the given path. Am I missing something? Regards, Robin
Robin Krahl <robin.krahl@ireas.org> writes:
Hi again,
I’m now preparing my patchset for bcm2835-audio. get_maintainer.pl returns:
$ ./scripts/get_maintainer.pl --nokeywords --nogit --nogit-fallback drivers/staging/vc04_services/bcm2835-audio/ Stephen Warren <swarren@wwwdotorg.org> (maintainer:BROADCOM BCM2835 ARM ARCHITECTURE) Lee Jones <lee@kernel.org> (maintainer:BROADCOM BCM2835 ARM ARCHITECTURE) Eric Anholt <eric@anholt.net> (maintainer:BROADCOM BCM2835 ARM ARCHITECTURE) Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:STAGING SUBSYSTEM) Florian Fainelli <f.fainelli@gmail.com> (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) Ray Jui <rjui@broadcom.com> (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) Scott Branden <sbranden@broadcom.com> (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) bcm-kernel-feedback-list@broadcom.com (maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE...) linux-rpi-kernel@lists.infradead.org (moderated list:BROADCOM BCM2835 ARM ARCHITECTURE) linux-arm-kernel@lists.infradead.org (moderated list:BROADCOM BCM2835 ARM ARCHITECTURE) devel@driverdev.osuosl.org (open list:STAGING SUBSYSTEM) linux-kernel@vger.kernel.org (open list)
Why are the BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE guys added to the list? The MAINTAINERS file defines these rules:
BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE M: Florian Fainelli <f.fainelli@gmail.com> M: Ray Jui <rjui@broadcom.com> M: Scott Branden <sbranden@broadcom.com> M: bcm-kernel-feedback-list@broadcom.com T: git git://github.com/broadcom/mach-bcm S: Maintained N: bcm281* N: bcm113* N: bcm216* N: kona F: arch/arm/mach-bcm/
As far as I see, none of these rules matches the given path. Am I missing something?
The N entries are regex patterns. "bcm281*" matches any name starting with "bcm28", followed by 0 or more 1's. So "bcm2835-audio" matches. Yes, that looks like a bug in the MAINTAINERS entry. They probably intended something along N: bcm281.* N: bcm113.* N: bcm216.* Bjørn
Bjørn Mork <bjorn@mork.no> writes:
The N entries are regex patterns. "bcm281*" matches any name starting with "bcm28", followed by 0 or more 1's.
This isn't entirely correct. I assumed there was some implicit anchoring on path name components, but there isnt. So "bcm281*" will match any file containing "bcm28" somewhere in the path. I am obviously not the first one making that bogus assumption. Very few of the "N:" entries in MAINTAINERS are anchored in any way. The rest of them are likely buggy. No one expects these strings to match in the middle of arbitrary path names. Even the example is a bit too wild IMHO: N: Files and directories with regex patterns. N: [^a-z]tegra all files whose path contains the word tegra The '[^a-z]' prevents this from matching any word containing "tegra". But it will still match e.g "INtegrator" or "b1tegrasp", which is unexpected. It would be better to use a more explicit anchor, like '[-/]tegra'. Or maybe even "/tegra". Bjørn
Bjørn, thanks for the explanations! On 2017-03-09 09:13:46, Bjørn Mork wrote:
Yes, that looks like a bug in the MAINTAINERS entry. They probably intended something along N: bcm281.* N: bcm113.* N: bcm216.*
On 2017-03-09 10:22:06, Bjørn Mork wrote:
I am obviously not the first one making that bogus assumption. Very few of the "N:" entries in MAINTAINERS are anchored in any way. The rest of them are likely buggy. No one expects these strings to match in the middle of arbitrary path names. Even the example is a bit too wild IMHO:
N: Files and directories with regex patterns. N: [^a-z]tegra all files whose path contains the word tegra
I’ll contact the maintainers for this particular entry. Should the general issue be reported somewhere, e. g. on the LKML or to Joe Perches as the get_maintainer.pl maintainer? Robin
participants (2)
-
Bjørn Mork -
Robin Krahl