linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Use subdir-ccflags-* to inherit debug flag
@ 2021-02-05  9:44 Yicong Yang
  2021-02-05  9:44 ` [PATCH 1/4] driver core: " Yicong Yang
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Yicong Yang @ 2021-02-05  9:44 UTC (permalink / raw)
  To: gregkh, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml
  Cc: prime.zeng, yangyicong, linuxarm

Few drivers use ccflags-* in their top directory to enable
-DDEBUG, but don't have config options to enable debug
in the sub-directories. They should want the subdirectories
inherit the debug flag from the top.

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 other
drivers may also have this issues. Previous discussion can
be find at
https://lore.kernel.org/linux-pci/1612438215-33105-1-git-send-email-yangyicong@hisilicon.com/

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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 [PATCH 0/4] Use subdir-ccflags-* to inherit debug flag Yicong Yang
@ 2021-02-05  9:44 ` Yicong Yang
  2021-02-05  9:53   ` Greg KH
  2021-02-05  9:44 ` [PATCH 2/4] hwmon: " Yicong Yang
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 17+ messages in thread
From: Yicong Yang @ 2021-02-05  9:44 UTC (permalink / raw)
  To: gregkh, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml
  Cc: prime.zeng, yangyicong, linuxarm

From: Junhao He <hejunhao2@hisilicon.com>

Use subdir-ccflags-* instead of ccflags-* to inherit the debug
settings from Kconfig when traversing subdirectories.

Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 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


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 2/4] hwmon: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 [PATCH 0/4] Use subdir-ccflags-* to inherit debug flag Yicong Yang
  2021-02-05  9:44 ` [PATCH 1/4] driver core: " Yicong Yang
@ 2021-02-05  9:44 ` Yicong Yang
  2021-02-05 18:28   ` Guenter Roeck
  2021-02-05  9:44 ` [PATCH 3/4] pps: " Yicong Yang
  2021-02-05  9:44 ` [PATCH 4/4] staging: comedi: " Yicong Yang
  3 siblings, 1 reply; 17+ messages in thread
From: Yicong Yang @ 2021-02-05  9:44 UTC (permalink / raw)
  To: gregkh, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml
  Cc: prime.zeng, yangyicong, linuxarm

From: Junhao He <hejunhao2@hisilicon.com>

Use subdir-ccflags-* instead of ccflags-* to inherit the debug
settings from Kconfig when traversing subdirectories.

Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 drivers/hwmon/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
index 09a86c5..1c0c089 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
@@ -201,5 +201,5 @@ obj-$(CONFIG_SENSORS_XGENE)	+= xgene-hwmon.o
 obj-$(CONFIG_SENSORS_OCC)	+= occ/
 obj-$(CONFIG_PMBUS)		+= pmbus/
 
-ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
+subdir-ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
 
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 3/4] pps: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 [PATCH 0/4] Use subdir-ccflags-* to inherit debug flag Yicong Yang
  2021-02-05  9:44 ` [PATCH 1/4] driver core: " Yicong Yang
  2021-02-05  9:44 ` [PATCH 2/4] hwmon: " Yicong Yang
@ 2021-02-05  9:44 ` Yicong Yang
  2021-02-05  9:44 ` [PATCH 4/4] staging: comedi: " Yicong Yang
  3 siblings, 0 replies; 17+ messages in thread
From: Yicong Yang @ 2021-02-05  9:44 UTC (permalink / raw)
  To: gregkh, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml
  Cc: prime.zeng, yangyicong, linuxarm

From: Junhao He <hejunhao2@hisilicon.com>

Use subdir-ccflags-* instead of ccflags-* to inherit the debug
settings from Kconfig when traversing subdirectories.

Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 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


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 4/4] staging: comedi: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 [PATCH 0/4] Use subdir-ccflags-* to inherit debug flag Yicong Yang
                   ` (2 preceding siblings ...)
  2021-02-05  9:44 ` [PATCH 3/4] pps: " Yicong Yang
@ 2021-02-05  9:44 ` Yicong Yang
  2021-02-05  9:54   ` Greg KH
  3 siblings, 1 reply; 17+ messages in thread
From: Yicong Yang @ 2021-02-05  9:44 UTC (permalink / raw)
  To: gregkh, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml
  Cc: prime.zeng, yangyicong, linuxarm

From: Junhao He <hejunhao2@hisilicon.com>

Use subdir-ccflags-* instead of ccflags-* to inherit the debug
settings from Kconfig when traversing subdirectories.

Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 drivers/staging/comedi/Makefile               | 2 +-
 drivers/staging/comedi/drivers/Makefile       | 1 -
 drivers/staging/comedi/drivers/tests/Makefile | 2 --
 drivers/staging/comedi/kcomedilib/Makefile    | 2 --
 4 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/staging/comedi/Makefile b/drivers/staging/comedi/Makefile
index 072ed83..f51cc14 100644
--- a/drivers/staging/comedi/Makefile
+++ b/drivers/staging/comedi/Makefile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
-ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
+subdir-ccflags-$(CONFIG_COMEDI_DEBUG)	:= -DDEBUG
 
 comedi-y				:= comedi_fops.o range.o drivers.o \
 					   comedi_buf.o
diff --git a/drivers/staging/comedi/drivers/Makefile b/drivers/staging/comedi/drivers/Makefile
index b24ac00..7cafc36 100644
--- a/drivers/staging/comedi/drivers/Makefile
+++ b/drivers/staging/comedi/drivers/Makefile
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 # Makefile for individual comedi drivers
 #
-ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
 
 # Comedi "helper" modules
 obj-$(CONFIG_COMEDI_8254)		+= comedi_8254.o
diff --git a/drivers/staging/comedi/drivers/tests/Makefile b/drivers/staging/comedi/drivers/tests/Makefile
index b5d8e13..44ac13d 100644
--- a/drivers/staging/comedi/drivers/tests/Makefile
+++ b/drivers/staging/comedi/drivers/tests/Makefile
@@ -1,7 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 # Makefile for comedi drivers unit tests
 #
-ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
-
 obj-$(CONFIG_COMEDI_TESTS)		+= example_test.o ni_routes_test.o
 CFLAGS_ni_routes_test.o			:= -DDEBUG
diff --git a/drivers/staging/comedi/kcomedilib/Makefile b/drivers/staging/comedi/kcomedilib/Makefile
index 8031142..9f20318 100644
--- a/drivers/staging/comedi/kcomedilib/Makefile
+++ b/drivers/staging/comedi/kcomedilib/Makefile
@@ -1,6 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0
-ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
-
 obj-$(CONFIG_COMEDI_KCOMEDILIB)	+= kcomedilib.o
 
 kcomedilib-objs := kcomedilib_main.o
-- 
2.8.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 ` [PATCH 1/4] driver core: " Yicong Yang
@ 2021-02-05  9:53   ` Greg KH
  2021-02-08 10:44     ` Yicong Yang
  0 siblings, 1 reply; 17+ messages in thread
From: Greg KH @ 2021-02-05  9:53 UTC (permalink / raw)
  To: Yicong Yang
  Cc: jdelvare, linux, giometti, abbotti, hsweeten, kw, helgaas,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, linuxarm, prime.zeng

On Fri, Feb 05, 2021 at 05:44:12PM +0800, Yicong Yang wrote:
> From: Junhao He <hejunhao2@hisilicon.com>
> 
> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
> settings from Kconfig when traversing subdirectories.

That says what you do, but not _why_ you are doing it.

What does this offer in benefit of the existing way?  What is it fixing?
Why do this "churn"?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/4] staging: comedi: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 ` [PATCH 4/4] staging: comedi: " Yicong Yang
@ 2021-02-05  9:54   ` Greg KH
  2021-02-06  0:52     ` Masahiro Yamada
  0 siblings, 1 reply; 17+ messages in thread
From: Greg KH @ 2021-02-05  9:54 UTC (permalink / raw)
  To: Yicong Yang
  Cc: jdelvare, linux, giometti, abbotti, hsweeten, kw, helgaas,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, linuxarm, prime.zeng

On Fri, Feb 05, 2021 at 05:44:15PM +0800, Yicong Yang wrote:
> From: Junhao He <hejunhao2@hisilicon.com>
> 
> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
> settings from Kconfig when traversing subdirectories.

Again, explain _why_.

Please read the section entitled "The canonical patch format" in the
kernel file, Documentation/SubmittingPatches for what a proper changelog
should look like.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/4] hwmon: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:44 ` [PATCH 2/4] hwmon: " Yicong Yang
@ 2021-02-05 18:28   ` Guenter Roeck
  2021-02-05 20:08     ` Bjorn Helgaas
  0 siblings, 1 reply; 17+ messages in thread
From: Guenter Roeck @ 2021-02-05 18:28 UTC (permalink / raw)
  To: Yicong Yang
  Cc: gregkh, jdelvare, giometti, abbotti, hsweeten, kw, helgaas,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, prime.zeng, linuxarm

On Fri, Feb 05, 2021 at 05:44:13PM +0800, Yicong Yang wrote:
> From: Junhao He <hejunhao2@hisilicon.com>
> 
> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
> settings from Kconfig when traversing subdirectories.
> 
> Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
> Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>

What problem does this fix ? Maybe I am missing it, but I don't see
DEBUG being used in a subdirectory of drivers/hwmon.

Guenter

> ---
>  drivers/hwmon/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
> index 09a86c5..1c0c089 100644
> --- a/drivers/hwmon/Makefile
> +++ b/drivers/hwmon/Makefile
> @@ -201,5 +201,5 @@ obj-$(CONFIG_SENSORS_XGENE)	+= xgene-hwmon.o
>  obj-$(CONFIG_SENSORS_OCC)	+= occ/
>  obj-$(CONFIG_PMBUS)		+= pmbus/
>  
> -ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
> +subdir-ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
>  
> -- 
> 2.8.1
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/4] hwmon: Use subdir-ccflags-* to inherit debug flag
  2021-02-05 18:28   ` Guenter Roeck
@ 2021-02-05 20:08     ` Bjorn Helgaas
  2021-02-08 10:51       ` Yicong Yang
  2021-02-08 21:00       ` Guenter Roeck
  0 siblings, 2 replies; 17+ messages in thread
From: Bjorn Helgaas @ 2021-02-05 20:08 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Yicong Yang, gregkh, jdelvare, giometti, abbotti, hsweeten, kw,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, prime.zeng, linuxarm

On Fri, Feb 05, 2021 at 10:28:32AM -0800, Guenter Roeck wrote:
> On Fri, Feb 05, 2021 at 05:44:13PM +0800, Yicong Yang wrote:
> > From: Junhao He <hejunhao2@hisilicon.com>
> > 
> > Use subdir-ccflags-* instead of ccflags-* to inherit the debug
> > settings from Kconfig when traversing subdirectories.
> > 
> > Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
> > Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
> > Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
> 
> What problem does this fix ? Maybe I am missing it, but I don't see
> DEBUG being used in a subdirectory of drivers/hwmon.

It's my fault for raising this question [1].  Yicong fixed a real
problem in drivers/pci, where we are currently using

  ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG

so CONFIG_PCI_DEBUG=y turns on debug in drivers/pci, but not in the
subdirectories.  That's surprising to users.

So my question was whether we should default to using subdir-ccflags
for -DDEBUG in general, and only use ccflags when we have
subdirectories that have their own debug options, e.g.,

  drivers/i2c/Makefile:ccflags-$(CONFIG_I2C_DEBUG_CORE) := -DDEBUG
  drivers/i2c/algos/Makefile:ccflags-$(CONFIG_I2C_DEBUG_ALGO) := -DDEBUG
  drivers/i2c/busses/Makefile:ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
  drivers/i2c/muxes/Makefile:ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG

I mentioned drivers/hwmon along with a few others that have
subdirectories, do not have per-subdirectory debug options, and use
ccflags.  I didn't try to determine whether those subdirectories
currently use -DDEBUG.

In the case of drivers/hwmon, several drivers do use pr_debug(),
and CONFIG_HWMON_DEBUG_CHIP=y turns those on.  But if somebody
were to add pr_debug() to drivers/hwmon/occ/common.c, for example,
CONFIG_HWMON_DEBUG_CHIP=y would *not* turn it on.  That sounds
surprising to me, but if that's what you intend, that's totally fine.

[1] https://lore.kernel.org/r/20210204161048.GA68790@bjorn-Precision-5520

> > ---
> >  drivers/hwmon/Makefile | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
> > index 09a86c5..1c0c089 100644
> > --- a/drivers/hwmon/Makefile
> > +++ b/drivers/hwmon/Makefile
> > @@ -201,5 +201,5 @@ obj-$(CONFIG_SENSORS_XGENE)	+= xgene-hwmon.o
> >  obj-$(CONFIG_SENSORS_OCC)	+= occ/
> >  obj-$(CONFIG_PMBUS)		+= pmbus/
> >  
> > -ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
> > +subdir-ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
> >  
> > -- 
> > 2.8.1
> > 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/4] staging: comedi: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:54   ` Greg KH
@ 2021-02-06  0:52     ` Masahiro Yamada
  0 siblings, 0 replies; 17+ messages in thread
From: Masahiro Yamada @ 2021-02-06  0:52 UTC (permalink / raw)
  To: Greg KH
  Cc: Yicong Yang, jdelvare, Guenter Roeck, giometti, Ian Abbott,
	Hartley Sweeten, kw, Bjorn Helgaas, Linux Kernel Mailing List,
	Linux PM mailing list, linux-hwmon, devel,
	Linux Kbuild mailing list, Michal Marek, linuxarm, prime.zeng

On Fri, Feb 5, 2021 at 6:54 PM Greg KH <gregkh@linuxfoundation.org> wrote:
>
> On Fri, Feb 05, 2021 at 05:44:15PM +0800, Yicong Yang wrote:
> > From: Junhao He <hejunhao2@hisilicon.com>
> >
> > Use subdir-ccflags-* instead of ccflags-* to inherit the debug
> > settings from Kconfig when traversing subdirectories.
>
> Again, explain _why_.
>
> Please read the section entitled "The canonical patch format" in the
> kernel file, Documentation/SubmittingPatches for what a proper changelog
> should look like.
>
> thanks,
>
> greg k-h


I think this is a good clean-up,
assuming CONFIG_COMEDI_DEBUG intends to
give the DEBUG flag to all source files
under drivers/staging/comedi/.



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-05  9:53   ` Greg KH
@ 2021-02-08 10:44     ` Yicong Yang
  2021-02-08 10:47       ` Greg KH
  0 siblings, 1 reply; 17+ messages in thread
From: Yicong Yang @ 2021-02-08 10:44 UTC (permalink / raw)
  To: Greg KH
  Cc: jdelvare, linux, giometti, abbotti, hsweeten, kw, helgaas,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, linuxarm, prime.zeng

Hi Greg,

On 2021/2/5 17:53, Greg KH wrote:
> On Fri, Feb 05, 2021 at 05:44:12PM +0800, Yicong Yang wrote:
>> From: Junhao He <hejunhao2@hisilicon.com>
>>
>> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
>> settings from Kconfig when traversing subdirectories.
> 
> That says what you do, but not _why_ you are doing it.

i'll illustrate the reason and reword the commit.

> 
> What does this offer in benefit of the existing way?  What is it fixing?
> Why do this "churn"?

currently we have added ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG in the Makefile
of driver/base and driver/base/power, but not in the subdirectory
driver/base/firmware_loader. we cannot turn the debug on for subdirectory
firmware_loader if we config DEBUG_DRIVER and there is no kconfig option
for the it.

as there is no other debug config in the subdirectory of driver/base,
CONFIG_DEBUG_DRIVER may also mean turn on the debug in the subdirectories, so use
subdir-ccflags-* instead for the -DDEBUG will allow us to enable debug for all
the subdirectories.

Thanks,
Yicong

> 
> thanks,
> 
> greg k-h
> 
> .
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-08 10:44     ` Yicong Yang
@ 2021-02-08 10:47       ` Greg KH
  2021-02-08 13:09         ` Yicong Yang
  0 siblings, 1 reply; 17+ messages in thread
From: Greg KH @ 2021-02-08 10:47 UTC (permalink / raw)
  To: Yicong Yang
  Cc: jdelvare, linux, giometti, abbotti, hsweeten, kw, helgaas,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, linuxarm, prime.zeng

On Mon, Feb 08, 2021 at 06:44:52PM +0800, Yicong Yang wrote:
> Hi Greg,
> 
> On 2021/2/5 17:53, Greg KH wrote:
> > On Fri, Feb 05, 2021 at 05:44:12PM +0800, Yicong Yang wrote:
> >> From: Junhao He <hejunhao2@hisilicon.com>
> >>
> >> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
> >> settings from Kconfig when traversing subdirectories.
> > 
> > That says what you do, but not _why_ you are doing it.
> 
> i'll illustrate the reason and reword the commit.
> 
> > 
> > What does this offer in benefit of the existing way?  What is it fixing?
> > Why do this "churn"?
> 
> currently we have added ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG in the Makefile
> of driver/base and driver/base/power, but not in the subdirectory
> driver/base/firmware_loader. we cannot turn the debug on for subdirectory
> firmware_loader if we config DEBUG_DRIVER and there is no kconfig option
> for the it.

Is that necessary?  Does that directory need it?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/4] hwmon: Use subdir-ccflags-* to inherit debug flag
  2021-02-05 20:08     ` Bjorn Helgaas
@ 2021-02-08 10:51       ` Yicong Yang
  2021-02-08 21:00       ` Guenter Roeck
  1 sibling, 0 replies; 17+ messages in thread
From: Yicong Yang @ 2021-02-08 10:51 UTC (permalink / raw)
  To: Bjorn Helgaas, Guenter Roeck
  Cc: gregkh, jdelvare, giometti, abbotti, hsweeten, kw, linux-kernel,
	linux-pm, linux-hwmon, devel, linux-kbuild, masahiroy,
	michal.lkml, prime.zeng, linuxarm

On 2021/2/6 4:08, Bjorn Helgaas wrote:
> On Fri, Feb 05, 2021 at 10:28:32AM -0800, Guenter Roeck wrote:
>> On Fri, Feb 05, 2021 at 05:44:13PM +0800, Yicong Yang wrote:
>>> From: Junhao He <hejunhao2@hisilicon.com>
>>>
>>> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
>>> settings from Kconfig when traversing subdirectories.
>>>
>>> Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
>>> Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
>>> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
>>
>> What problem does this fix ? Maybe I am missing it, but I don't see
>> DEBUG being used in a subdirectory of drivers/hwmon.
> 
> It's my fault for raising this question [1].  Yicong fixed a real
> problem in drivers/pci, where we are currently using
> 
>   ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
> 
> so CONFIG_PCI_DEBUG=y turns on debug in drivers/pci, but not in the
> subdirectories.  That's surprising to users.
> 
> So my question was whether we should default to using subdir-ccflags
> for -DDEBUG in general, and only use ccflags when we have
> subdirectories that have their own debug options, e.g.,
> 
>   drivers/i2c/Makefile:ccflags-$(CONFIG_I2C_DEBUG_CORE) := -DDEBUG
>   drivers/i2c/algos/Makefile:ccflags-$(CONFIG_I2C_DEBUG_ALGO) := -DDEBUG
>   drivers/i2c/busses/Makefile:ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
>   drivers/i2c/muxes/Makefile:ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
> 
> I mentioned drivers/hwmon along with a few others that have
> subdirectories, do not have per-subdirectory debug options, and use
> ccflags.  I didn't try to determine whether those subdirectories
> currently use -DDEBUG.
> 
> In the case of drivers/hwmon, several drivers do use pr_debug(),
> and CONFIG_HWMON_DEBUG_CHIP=y turns those on.  But if somebody
> were to add pr_debug() to drivers/hwmon/occ/common.c, for example,
> CONFIG_HWMON_DEBUG_CHIP=y would *not* turn it on.  That sounds
> surprising to me, but if that's what you intend, that's totally fine.

i thought CONFIG_HWMON_DEBUG_CHIP=y means to enable debug including the
subdirectories, so use subdir-ccflags-* will make sure the debug
message on in the subdirectories, if there will be.

please let me know if i understand wrong.

Thanks,
Yicong

> 
> [1] https://lore.kernel.org/r/20210204161048.GA68790@bjorn-Precision-5520
> 
>>> ---
>>>  drivers/hwmon/Makefile | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
>>> index 09a86c5..1c0c089 100644
>>> --- a/drivers/hwmon/Makefile
>>> +++ b/drivers/hwmon/Makefile
>>> @@ -201,5 +201,5 @@ obj-$(CONFIG_SENSORS_XGENE)	+= xgene-hwmon.o
>>>  obj-$(CONFIG_SENSORS_OCC)	+= occ/
>>>  obj-$(CONFIG_PMBUS)		+= pmbus/
>>>  
>>> -ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
>>> +subdir-ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
>>>  
>>> -- 
>>> 2.8.1
>>>
> 
> .
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-08 10:47       ` Greg KH
@ 2021-02-08 13:09         ` Yicong Yang
  2021-02-10 11:42           ` Daniel Thompson
  0 siblings, 1 reply; 17+ messages in thread
From: Yicong Yang @ 2021-02-08 13:09 UTC (permalink / raw)
  To: Greg KH
  Cc: jdelvare, linux, giometti, abbotti, hsweeten, kw, helgaas,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, linuxarm, prime.zeng

On 2021/2/8 18:47, Greg KH wrote:
> On Mon, Feb 08, 2021 at 06:44:52PM +0800, Yicong Yang wrote:
>> Hi Greg,
>>
>> On 2021/2/5 17:53, Greg KH wrote:
>>> On Fri, Feb 05, 2021 at 05:44:12PM +0800, Yicong Yang wrote:
>>>> From: Junhao He <hejunhao2@hisilicon.com>
>>>>
>>>> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
>>>> settings from Kconfig when traversing subdirectories.
>>>
>>> That says what you do, but not _why_ you are doing it.
>>
>> i'll illustrate the reason and reword the commit.
>>
>>>
>>> What does this offer in benefit of the existing way?  What is it fixing?
>>> Why do this "churn"?
>>
>> currently we have added ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG in the Makefile
>> of driver/base and driver/base/power, but not in the subdirectory
>> driver/base/firmware_loader. we cannot turn the debug on for subdirectory
>> firmware_loader if we config DEBUG_DRIVER and there is no kconfig option
>> for the it.
> 
> Is that necessary?  Does that directory need it?

there are several debug prints in firmware_loader/main.c:

./main.c:207:   pr_debug("%s: fw-%s fw_priv=%p\n", __func__, fw_name, fw_priv);
./main.c:245:                   pr_debug("batched request - sharing the same struct fw_priv and lookup for multiple requests\n");
./main.c:269:   pr_debug("%s: fw-%s fw_priv=%p data=%p size=%u\n",
./main.c:594:   pr_debug("%s: fw-%s fw_priv=%p data=%p size=%u\n",
./main.c:605:           pr_debug("%s: fw_name-%s devm-%p released\n",
./main.c:1175:  pr_debug("%s: %s\n", __func__, fw_name);
./main.c:1181:  pr_debug("%s: %s ret=%d\n", __func__, fw_name, ret);
./main.c:1214:  pr_debug("%s: %s\n", __func__, fw_name);
./main.c:1272:          pr_debug("%s: fw: %s\n", __func__, name);
./main.c:1389:  pr_debug("%s\n", __func__);
./main.c:1415:  pr_debug("%s\n", __func__);


> 
> thanks,
> 
> greg k-h
> 
> .
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/4] hwmon: Use subdir-ccflags-* to inherit debug flag
  2021-02-05 20:08     ` Bjorn Helgaas
  2021-02-08 10:51       ` Yicong Yang
@ 2021-02-08 21:00       ` Guenter Roeck
  1 sibling, 0 replies; 17+ messages in thread
From: Guenter Roeck @ 2021-02-08 21:00 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Yicong Yang, gregkh, jdelvare, giometti, abbotti, hsweeten, kw,
	linux-kernel, linux-pm, linux-hwmon, devel, linux-kbuild,
	masahiroy, michal.lkml, prime.zeng, linuxarm

On 2/5/21 12:08 PM, Bjorn Helgaas wrote:
> On Fri, Feb 05, 2021 at 10:28:32AM -0800, Guenter Roeck wrote:
>> On Fri, Feb 05, 2021 at 05:44:13PM +0800, Yicong Yang wrote:
>>> From: Junhao He <hejunhao2@hisilicon.com>
>>>
>>> Use subdir-ccflags-* instead of ccflags-* to inherit the debug
>>> settings from Kconfig when traversing subdirectories.
>>>
>>> Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
>>> Signed-off-by: Junhao He <hejunhao2@hisilicon.com>
>>> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
>>
>> What problem does this fix ? Maybe I am missing it, but I don't see
>> DEBUG being used in a subdirectory of drivers/hwmon.
> 
> It's my fault for raising this question [1].  Yicong fixed a real
> problem in drivers/pci, where we are currently using
> 
>   ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
> 
> so CONFIG_PCI_DEBUG=y turns on debug in drivers/pci, but not in the
> subdirectories.  That's surprising to users.
> 
> So my question was whether we should default to using subdir-ccflags
> for -DDEBUG in general, and only use ccflags when we have
> subdirectories that have their own debug options, e.g.,
> 
>   drivers/i2c/Makefile:ccflags-$(CONFIG_I2C_DEBUG_CORE) := -DDEBUG
>   drivers/i2c/algos/Makefile:ccflags-$(CONFIG_I2C_DEBUG_ALGO) := -DDEBUG
>   drivers/i2c/busses/Makefile:ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
>   drivers/i2c/muxes/Makefile:ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
> 
> I mentioned drivers/hwmon along with a few others that have
> subdirectories, do not have per-subdirectory debug options, and use
> ccflags.  I didn't try to determine whether those subdirectories
> currently use -DDEBUG.
> 
> In the case of drivers/hwmon, several drivers do use pr_debug(),
> and CONFIG_HWMON_DEBUG_CHIP=y turns those on.  But if somebody
> were to add pr_debug() to drivers/hwmon/occ/common.c, for example,
> CONFIG_HWMON_DEBUG_CHIP=y would *not* turn it on.  That sounds
> surprising to me, but if that's what you intend, that's totally fine.
> 

That does make sense, but that explanation is missing from the
description.

Guenter

> [1] https://lore.kernel.org/r/20210204161048.GA68790@bjorn-Precision-5520
> 
>>> ---
>>>  drivers/hwmon/Makefile | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
>>> index 09a86c5..1c0c089 100644
>>> --- a/drivers/hwmon/Makefile
>>> +++ b/drivers/hwmon/Makefile
>>> @@ -201,5 +201,5 @@ obj-$(CONFIG_SENSORS_XGENE)	+= xgene-hwmon.o
>>>  obj-$(CONFIG_SENSORS_OCC)	+= occ/
>>>  obj-$(CONFIG_PMBUS)		+= pmbus/
>>>  
>>> -ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
>>> +subdir-ccflags-$(CONFIG_HWMON_DEBUG_CHIP) := -DDEBUG
>>>  
>>> -- 
>>> 2.8.1
>>>


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-08 13:09         ` Yicong Yang
@ 2021-02-10 11:42           ` Daniel Thompson
  2021-02-24  9:56             ` Yicong Yang
  0 siblings, 1 reply; 17+ messages in thread
From: Daniel Thompson @ 2021-02-10 11:42 UTC (permalink / raw)
  To: Yicong Yang
  Cc: Greg KH, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml, linuxarm, prime.zeng

On Mon, Feb 08, 2021 at 09:09:20PM +0800, Yicong Yang wrote:
> On 2021/2/8 18:47, Greg KH wrote:
> > On Mon, Feb 08, 2021 at 06:44:52PM +0800, Yicong Yang wrote:
> >> On 2021/2/5 17:53, Greg KH wrote:
> >>> What does this offer in benefit of the existing way?  What is it fixing?
> >>> Why do this "churn"?
> >>
> >> currently we have added ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG in the Makefile
> >> of driver/base and driver/base/power, but not in the subdirectory
> >> driver/base/firmware_loader. we cannot turn the debug on for subdirectory
> >> firmware_loader if we config DEBUG_DRIVER and there is no kconfig option
> >> for the it.
> > 
> > Is that necessary?  Does that directory need it?
> 
> there are several debug prints in firmware_loader/main.c:
> 
> ./main.c:207:   pr_debug("%s: fw-%s fw_priv=%p\n", __func__, fw_name, fw_priv);
> ./main.c:245:                   pr_debug("batched request - sharing the same struct fw_priv and lookup for multiple requests\n");
> <snip>

Even if these are not in scope for CONFIG_DEBUG_DRVIER there is a
config option that would allow you to observe them without changing
any code (CONFIG_DYNAMIC_DEBUG).


Daniel.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/4] driver core: Use subdir-ccflags-* to inherit debug flag
  2021-02-10 11:42           ` Daniel Thompson
@ 2021-02-24  9:56             ` Yicong Yang
  0 siblings, 0 replies; 17+ messages in thread
From: Yicong Yang @ 2021-02-24  9:56 UTC (permalink / raw)
  To: Daniel Thompson
  Cc: Greg KH, jdelvare, linux, giometti, abbotti, hsweeten, kw,
	helgaas, linux-kernel, linux-pm, linux-hwmon, devel,
	linux-kbuild, masahiroy, michal.lkml, linuxarm, prime.zeng

On 2021/2/10 19:42, Daniel Thompson wrote:
> On Mon, Feb 08, 2021 at 09:09:20PM +0800, Yicong Yang wrote:
>> On 2021/2/8 18:47, Greg KH wrote:
>>> On Mon, Feb 08, 2021 at 06:44:52PM +0800, Yicong Yang wrote:
>>>> On 2021/2/5 17:53, Greg KH wrote:
>>>>> What does this offer in benefit of the existing way?  What is it fixing?
>>>>> Why do this "churn"?
>>>>
>>>> currently we have added ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG in the Makefile
>>>> of driver/base and driver/base/power, but not in the subdirectory
>>>> driver/base/firmware_loader. we cannot turn the debug on for subdirectory
>>>> firmware_loader if we config DEBUG_DRIVER and there is no kconfig option
>>>> for the it.
>>>
>>> Is that necessary?  Does that directory need it?
>>
>> there are several debug prints in firmware_loader/main.c:
>>
>> ./main.c:207:   pr_debug("%s: fw-%s fw_priv=%p\n", __func__, fw_name, fw_priv);
>> ./main.c:245:                   pr_debug("batched request - sharing the same struct fw_priv and lookup for multiple requests\n");
>> <snip>
> 
> Even if these are not in scope for CONFIG_DEBUG_DRVIER there is a
> config option that would allow you to observe them without changing
> any code (CONFIG_DYNAMIC_DEBUG).
> 

yes. they're two mechanisms of debug. i think it's the right thing to make
both work properly.

> 
> Daniel.
> 
> .
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-02-24  9:58 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-05  9:44 [PATCH 0/4] Use subdir-ccflags-* to inherit debug flag Yicong Yang
2021-02-05  9:44 ` [PATCH 1/4] driver core: " Yicong Yang
2021-02-05  9:53   ` Greg KH
2021-02-08 10:44     ` Yicong Yang
2021-02-08 10:47       ` Greg KH
2021-02-08 13:09         ` Yicong Yang
2021-02-10 11:42           ` Daniel Thompson
2021-02-24  9:56             ` Yicong Yang
2021-02-05  9:44 ` [PATCH 2/4] hwmon: " Yicong Yang
2021-02-05 18:28   ` Guenter Roeck
2021-02-05 20:08     ` Bjorn Helgaas
2021-02-08 10:51       ` Yicong Yang
2021-02-08 21:00       ` Guenter Roeck
2021-02-05  9:44 ` [PATCH 3/4] pps: " Yicong Yang
2021-02-05  9:44 ` [PATCH 4/4] staging: comedi: " Yicong Yang
2021-02-05  9:54   ` Greg KH
2021-02-06  0:52     ` Masahiro Yamada

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).