[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4F8B2A9E.7060304@xenotime.net>
Date: Sun, 15 Apr 2012 13:07:58 -0700
From: Randy Dunlap <rdunlap@...otime.net>
To: "Robert P. J. Day" <rpjday@...shcourse.ca>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: reasonable for a Kconfig variable to be tested only for "_MODULE"?
On 04/12/2012 04:30 AM, Robert P. J. Day wrote:
>
> playing with my cleanup scripts this morning and ran across this
> output looking for unused CONFIG_ variables under drivers/ata:
>
> $ ../s/find_unused_configs.sh drivers/ata
> ===== PATA_QDI
> drivers/ata/Kconfig:831:config PATA_QDI
> ===== PATA_WINBOND_VLB
> drivers/ata/Kconfig:865:config PATA_WINBOND_VLB
> $
>
> normally, i would flag that as "variables that are defined in a
> Kconfig file but are never tested anywhere", but upon further
> examination:
>
> $ $ grep -r PATA_QDI *
> drivers/ata/Kconfig:config PATA_QDI
> drivers/ata/pata_legacy.c:#ifdef CONFIG_PATA_QDI_MODULE
> $
>
> so "CONFIG_PATA_QDI" isn't tested, but "CONFIG_PATA_QDI_MODULE" *is*,
> which is not something i'd considered. the Kconfig entry:
>
> config PATA_QDI
> tristate "QDI VLB PATA support"
> depends on ISA
> select PATA_LEGACY
> help
> Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
>
> and the relevant source:
>
> /* Set to probe QDI controllers */
> #ifdef CONFIG_PATA_QDI_MODULE
> static int qdi = 1;
> #else
> static int qdi;
> #endif
>
> is that combination reasonable? to test *only* for
> "CONFIG_whatever_MODULE"? if it is, i'll add that check to avoid
> reporting false positives.
Yes, sometimes modules want to behave differently (e.g., initialize
differently) if they are built as a loadable module.
I've seen this other places.
> all of the above can be said for PATA_WINBOND_VLB as well.
>
> rday
>
--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists