mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Bolle <pebolle@tiscali.nl>
To: Martin Walch <walch.martin@web.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [kconfig] results of some syntactical checks
Date: Wed, 17 Jul 2013 01:18:00 +0200	[thread overview]
Message-ID: <1374016680.26384.22.camel@x61.thuisdomein> (raw)
In-Reply-To: <7121962.G9xfZAqBSy@tacticalops>

On Wed, 2013-07-17 at 00:34 +0200, Martin Walch wrote:
> As I am working on yet another project for analyzing LKC's input files, I have 
> some intermediate results from simple syntactical checks.

Naive question: LKC?

> The results below are an excerpt from a run against tche current master.

One thing I noticed is that it is practical to be able to parse
arbitrary tags (commits) in the git tree. So you can quickly parse a
tree you don't actually have checked out in git. But perhaps your
checker also does that.

> If 
> anyone is interested in the code (it's written in Java), please contact me. I 
> plan on releasing my program under a FLOSS license later this year. If you find 
> the results interesting or even useful, I can post updates on a regular basis.
> 
> Actually defined symbols with dangerous names: 2
>   8260 at
>     arch/powerpc/platforms/82xx/Kconfig:55:0
>   8272 at
>     arch/powerpc/platforms/82xx/Kconfig:64:0

I've wondered for some time what happens when one uses either of these
numbers as the value for an "int" Kconfig symbol. I've never tried.

> Symbols used, but not defined: 31
>   Symbol: ARCH_EFM32 at
>     drivers/tty/serial/Kconfig:1427:0
>   Symbol: ARCH_MULTI_V4 at
>     arch/arm/Kconfig:914:0
>   Symbol: ARM_S3C24XX at
>     arch/arm/mach-s3c24xx/Kconfig:210:0
>   Symbol: ATHEROS_AR231X at
>     drivers/net/wireless/ath/ath5k/Kconfig:2:0
>     drivers/net/wireless/ath/ath5k/Kconfig:8:0
>     drivers/net/wireless/ath/ath5k/Kconfig:9:0
>     drivers/net/wireless/ath/ath5k/Kconfig:56:0
>     drivers/net/wireless/ath/ath5k/Kconfig:63:0
>   Symbol: CPU_MMP3 at
>     drivers/video/mmp/Kconfig:2:0
>     drivers/video/mmp/hw/Kconfig:4:0
>     drivers/usb/phy/Kconfig:53:0
>   Symbol: CPU_PXA988 at
>     drivers/video/mmp/Kconfig:2:0
>     drivers/video/mmp/hw/Kconfig:4:0
>   Symbol: CPU_SUBTYPE_SH7764 at
>     arch/sh/drivers/dma/Kconfig:14:0
>   Symbol: DEPRECATED at
>     arch/mn10300/Kconfig.debug:34:0
>   Symbol: EXYNOS_DEV_SYSMMU at
>     drivers/iommu/Kconfig:170:0
>   Symbol: GENERIC_HAS_IOMAP at
>     arch/score/Kconfig:27:0
>     arch/score/Kconfig:33:0
>     arch/score/Kconfig:39:0
>   Symbol: GENERIC_TIME at
>     arch/arm/mach-bcm/Kconfig:11:0
>   Symbol: GPIO_BCM at
>     arch/arm/mach-bcm/Kconfig:12:0
>   Symbol: HAVE_SCHED_CLOCK at
>     arch/arm/mach-keystone/Kconfig:10:0
>   Symbol: HOTPLUG at
>     arch/powerpc/platforms/pseries/Kconfig:22:0
>   Symbol: M at
>     drivers/usb/host/Kconfig:568:0
>     drivers/usb/misc/Kconfig:130:0

This looks odd. I think your checker doesn't like an uppercase M after
default. There are exactly two of those in the tree.

>   Symbol: MACH_NOKIA_RM696 at
>     arch/arm/mach-omap2/Kconfig:314:0
>   Symbol: MACH_OMAP_H4_OTG at
>     drivers/usb/gadget/Kconfig:208:0
>   Symbol: MACH_SMDKC210 at
>     sound/soc/samsung/Kconfig:138:0
>   Symbol: MACH_SMDKV310 at
>     sound/soc/samsung/Kconfig:138:0
>   Symbol: MN10300_PROC_MN2WS0038 at
>     arch/mn10300/Kconfig:185:0
>   Symbol: MPILIB_EXTRA at
>     crypto/asymmetric_keys/Kconfig:24:0
>   Symbol: MTD_JEDEC at
>     drivers/mtd/maps/Kconfig:161:0
>     drivers/mtd/maps/Kconfig:170:0
>   Symbol: MV64360 at
>     arch/powerpc/Kconfig:400:0
>   Symbol: N at
>     drivers/usb/core/Kconfig:12:0
>     drivers/usb/host/Kconfig:336:0
>     drivers/usb/host/Kconfig:348:0
>     drivers/staging/usbip/Kconfig:3:0
>     drivers/staging/usbip/Kconfig:20:0
>     drivers/staging/usbip/Kconfig:31:0
>     drivers/staging/usbip/Kconfig:42:0
>     drivers/staging/asus_oled/Kconfig:3:0
>     drivers/staging/rtl8187se/Kconfig:8:0
>     drivers/staging/rtl8192u/Kconfig:7:0
>     drivers/staging/rtl8192e/rtl8192e/Kconfig:7:0
>     drivers/staging/rtl8712/Kconfig:6:0
>     drivers/staging/rtl8712/Kconfig:14:0
>     drivers/staging/frontier/Kconfig:3:0
>     drivers/staging/bcm/Kconfig:3:0
>     drivers/staging/media/go7007/Kconfig:15:0
>     drivers/staging/media/go7007/Kconfig:26:0
>     drivers/staging/media/go7007/Kconfig:48:0
>     drivers/staging/android/Kconfig:4:0
>     drivers/staging/android/Kconfig:61:0
>     arch/cris/arch-v32/drivers/Kconfig:13:0
>     arch/cris/arch-v32/drivers/Kconfig:413:0
>     arch/arc/Kconfig:357:0

Ditto (but I haven't actually counted the occurrences of "default N").

>   Symbol: OF_VIDEOMODE at
>     drivers/staging/imx-drm/Kconfig:36:0
>   Symbol: OMAP_PM_SRF at
>     drivers/staging/tidspbridge/Kconfig:19:0
>   Symbol: PICOXCELL_PC3X3 at
>     drivers/char/hw_random/Kconfig:242:0
>   Symbol: PLATFORM_MICROBLAZE_AUTO at
>     arch/microblaze/platform/Kconfig.platform:10:0

This is a default of a "choice". There used to be quite a lot of invalid
"choice" defaults, so I stopped checking those. (But I didn't bother to
look how my local script now handles these.) In practice these are
treated as "no default", aren't they? 

>   Symbol: PLAT_SPEAR_SINGLE at
>     arch/arm/mach-spear/Kconfig:6:0
>     arch/arm/mach-spear/Kconfig:19:0
>     arch/arm/mach-spear/Kconfig:51:0
>     arch/arm/mach-spear/Kconfig:84:0
>     arch/arm/mach-spear/Kconfig:99:0
>   Symbol: SOC_DRA7XX at
>     drivers/thermal/ti-soc-thermal/Kconfig:52:0
>   Symbol: false at
>     drivers/staging/lustre/lustre/Kconfig:45:0

My script currently finds 28 undefined symbols. That equals this result
(given you have 2 false positive and 1 undefined choice default.)


Paul Bolle


  reply	other threads:[~2013-07-16 23:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-16 22:34 Martin Walch
2013-07-16 23:18 ` Paul Bolle [this message]
2013-07-17  6:30   ` Paul Bolle
2013-07-17 13:07     ` Martin Walch
2013-07-18 12:17       ` Paul Bolle

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=1374016680.26384.22.camel@x61.thuisdomein \
    --to=pebolle@tiscali.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=walch.martin@web.de \
    /path/to/YOUR_REPLY

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

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

all inboxes | Powered by JetHome®