2021-02-09 11:17:25

by Yicong Yang

[permalink] [raw]
Subject: [PATCH v2 0/4] Use subdir-ccflags-* to inherit debug flag

Few drivers use ccflags-* in their top directory to enable
-DDEBUG, but don't have config options to enable debug
in the sub-directories, or they use per subdirectory
ccflags-* to have DEBUG with the same kconfig option.

Considering they intends to enable debug for all the files
under the directory with the same kconfig option, it will
be clearer to use subdir-ccflags-* instead of ccflags-*
to inherit the debug settings from Kconfig when traversing
subdirectories.

We primarily find this issue when debugging PCIe and thought
other drivers may also have this issues. Previous discussion
can be find at
https://lore.kernel.org/linux-pci/[email protected]/

Change since v1:
- reword the commits to illustrate the reasons of the change and the benefits.
v1: https://lore.kernel.org/lkml/[email protected]/

Junhao He (4):
driver core: Use subdir-ccflags-* to inherit debug flag
hwmon: Use subdir-ccflags-* to inherit debug flag
pps: Use subdir-ccflags-* to inherit debug flag
staging: comedi: Use subdir-ccflags-* to inherit debug flag

drivers/base/Makefile | 2 +-
drivers/base/power/Makefile | 2 --
drivers/hwmon/Makefile | 2 +-
drivers/pps/Makefile | 2 +-
drivers/staging/comedi/Makefile | 2 +-
drivers/staging/comedi/drivers/Makefile | 1 -
drivers/staging/comedi/drivers/tests/Makefile | 2 --
drivers/staging/comedi/kcomedilib/Makefile | 2 --
8 files changed, 4 insertions(+), 11 deletions(-)

--
2.8.1


2021-02-09 11:19:26

by Yicong Yang

[permalink] [raw]
Subject: [PATCH v2 3/4] pps: Use subdir-ccflags-* to inherit debug flag

From: Junhao He <[email protected]>

We use ccflags-$(CONFIG_PPS_DEBUG) for the debug
message in drivers/pps, but the DEBUG flag will not pass to
the subdirectory.

Considering CONFIG_HWMON_DEBUG_CHIP intends to turn on debug
recursively under driver/pps, so it will be clearer to use
subdir-ccflags-* instead of ccflags-* to inherit
the debug settings from Kconfig when traversing subdirectories.

Suggested-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Junhao He <[email protected]>
Signed-off-by: Yicong Yang <[email protected]>
---
drivers/pps/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pps/Makefile b/drivers/pps/Makefile
index ceaf65c..7a2d3f7 100644
--- a/drivers/pps/Makefile
+++ b/drivers/pps/Makefile
@@ -8,4 +8,4 @@ pps_core-$(CONFIG_NTP_PPS) += kc.o
obj-$(CONFIG_PPS) := pps_core.o
obj-y += clients/ generators/

-ccflags-$(CONFIG_PPS_DEBUG) := -DDEBUG
+subdir-ccflags-$(CONFIG_PPS_DEBUG) := -DDEBUG
--
2.8.1

2021-02-10 03:20:49

by Yicong Yang

[permalink] [raw]
Subject: [PATCH v2 1/4] driver core: Use subdir-ccflags-* to inherit debug flag

From: Junhao He <[email protected]>

Currently we can turn on the debug message in the top directory
driver/base and subdirectory driver/base/power with kconfig
option CONFIG_DEBUG_DRIVER. But the DEBUG flags will not
pass to subdirectory drvier/base/firmware_loader which
the ccflags-$(CONFIG_DEBUG_DRIVER) is missing and there is
no kconfig option to turn on the debug message for it.

Use subdir-ccflags-* for the DEBUG flag in the top directory
will fix this. Considering CONFIG_DEBUG_DRIVER intends
to turn on the debug recursively, use subdir-cclags-* will
be clearer and avoid omittance of DEBUG define
in the subdirectory.

Suggested-by: Bjorn Helgaas <[email protected]>
Signed-off-by: Junhao He <[email protected]>
Signed-off-by: Yicong Yang <[email protected]>
---
drivers/base/Makefile | 2 +-
drivers/base/power/Makefile | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/base/Makefile b/drivers/base/Makefile
index 5e7bf96..c6bdf19 100644
--- a/drivers/base/Makefile
+++ b/drivers/base/Makefile
@@ -27,5 +27,5 @@ obj-$(CONFIG_GENERIC_ARCH_TOPOLOGY) += arch_topology.o

obj-y += test/

-ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG
+subdir-ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG

diff --git a/drivers/base/power/Makefile b/drivers/base/power/Makefile
index 8fdd007..2990167 100644
--- a/drivers/base/power/Makefile
+++ b/drivers/base/power/Makefile
@@ -5,5 +5,3 @@ obj-$(CONFIG_PM_TRACE_RTC) += trace.o
obj-$(CONFIG_PM_GENERIC_DOMAINS) += domain.o domain_governor.o
obj-$(CONFIG_HAVE_CLK) += clock_ops.o
obj-$(CONFIG_PM_QOS_KUNIT_TEST) += qos-test.o
-
-ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG
--
2.8.1

2021-02-10 03:40:00

by Rodolfo Giometti

[permalink] [raw]
Subject: Re: [PATCH v2 3/4] pps: Use subdir-ccflags-* to inherit debug flag

On 09/02/21 12:08, Yicong Yang wrote:
> From: Junhao He <[email protected]>
>
> We use ccflags-$(CONFIG_PPS_DEBUG) for the debug
> message in drivers/pps, but the DEBUG flag will not pass to
> the subdirectory.
>
> Considering CONFIG_HWMON_DEBUG_CHIP intends to turn on debug
> recursively under driver/pps, so it will be clearer to use
> subdir-ccflags-* instead of ccflags-* to inherit
> the debug settings from Kconfig when traversing subdirectories.
>
> Suggested-by: Bjorn Helgaas <[email protected]>
> Signed-off-by: Junhao He <[email protected]>
> Signed-off-by: Yicong Yang <[email protected]>
> ---
> drivers/pps/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pps/Makefile b/drivers/pps/Makefile
> index ceaf65c..7a2d3f7 100644
> --- a/drivers/pps/Makefile
> +++ b/drivers/pps/Makefile
> @@ -8,4 +8,4 @@ pps_core-$(CONFIG_NTP_PPS) += kc.o
> obj-$(CONFIG_PPS) := pps_core.o
> obj-y += clients/ generators/
>
> -ccflags-$(CONFIG_PPS_DEBUG) := -DDEBUG
> +subdir-ccflags-$(CONFIG_PPS_DEBUG) := -DDEBUG
>

Acked-by: Rodolfo Giometti <[email protected]>

--
GNU/Linux Solutions e-mail: [email protected]
Linux Device Driver [email protected]
Embedded Systems phone: +39 349 2432127
UNIX programming skype: rodolfo.giometti