diff mbox series

gpiolib: demote the hogging log messages to debug

Message ID 20230605125248.279921-1-brgl@bgdev.pl
State New
Headers show
Series gpiolib: demote the hogging log messages to debug | expand

Commit Message

Bartosz Golaszewski June 5, 2023, 12:52 p.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Drivers should be silent when they work correctly. There's no reason to
emit info messages when GPIO lines are hogged. Demote the message to
debug.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Suggested-by: Kent Gibson <warthog618@gmail.com>
---
 drivers/gpio/gpiolib.c |  2 +-
 drivers/of/unittest.c  | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

Comments

Andy Shevchenko June 6, 2023, 2:57 p.m. UTC | #1
On Mon, Jun 05, 2023 at 02:52:48PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> 
> Drivers should be silent when they work correctly. There's no reason to
> emit info messages when GPIO lines are hogged. Demote the message to
> debug.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> Suggested-by: Kent Gibson <warthog618@gmail.com>
> ---
>  drivers/gpio/gpiolib.c |  2 +-
>  drivers/of/unittest.c  | 16 ++++++++--------
>  2 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> index a7220e04a93e..e4515bda8915 100644
> --- a/drivers/gpio/gpiolib.c
> +++ b/drivers/gpio/gpiolib.c
> @@ -4243,7 +4243,7 @@ int gpiod_hog(struct gpio_desc *desc, const char *name,
>  	/* Mark GPIO as hogged so it can be identified and removed later */
>  	set_bit(FLAG_IS_HOGGED, &desc->flags);
>  
> -	gpiod_info(desc, "hogged as %s%s\n",
> +	gpiod_dbg(desc, "hogged as %s%s\n",
>  		(dflags & GPIOD_FLAGS_BIT_DIR_OUT) ? "output" : "input",
>  		(dflags & GPIOD_FLAGS_BIT_DIR_OUT) ?
>  		  (dflags & GPIOD_FLAGS_BIT_DIR_VAL) ? "/high" : "/low" : "");
> diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
> index 2191c0136531..0060334a98a7 100644
> --- a/drivers/of/unittest.c
> +++ b/drivers/of/unittest.c
> @@ -1849,19 +1849,19 @@ static void __init of_unittest_overlay_gpio(void)
>  	 * driver is registered
>  	 */
>  
> -	EXPECT_BEGIN(KERN_INFO,
> +	EXPECT_BEGIN(KERN_DEBUG,
>  		     "gpio-<<int>> (line-B-input): hogged as input\n");
>  
> -	EXPECT_BEGIN(KERN_INFO,
> +	EXPECT_BEGIN(KERN_DEBUG,
>  		     "gpio-<<int>> (line-A-input): hogged as input\n");
>  
>  	ret = platform_driver_register(&unittest_gpio_driver);
>  	if (unittest(ret == 0, "could not register unittest gpio driver\n"))
>  		return;
>  
> -	EXPECT_END(KERN_INFO,
> +	EXPECT_END(KERN_DEBUG,
>  		   "gpio-<<int>> (line-A-input): hogged as input\n");
> -	EXPECT_END(KERN_INFO,
> +	EXPECT_END(KERN_DEBUG,
>  		   "gpio-<<int>> (line-B-input): hogged as input\n");
>  
>  	unittest(probe_pass_count + 2 == unittest_gpio_probe_pass_count,
> @@ -1888,7 +1888,7 @@ static void __init of_unittest_overlay_gpio(void)
>  	probe_pass_count = unittest_gpio_probe_pass_count;
>  	chip_request_count = unittest_gpio_chip_request_count;
>  
> -	EXPECT_BEGIN(KERN_INFO,
> +	EXPECT_BEGIN(KERN_DEBUG,
>  		     "gpio-<<int>> (line-D-input): hogged as input\n");
>  
>  	/* overlay_gpio_03 contains gpio node and child gpio hog node */
> @@ -1896,7 +1896,7 @@ static void __init of_unittest_overlay_gpio(void)
>  	unittest(overlay_data_apply("overlay_gpio_03", NULL),
>  		 "Adding overlay 'overlay_gpio_03' failed\n");
>  
> -	EXPECT_END(KERN_INFO,
> +	EXPECT_END(KERN_DEBUG,
>  		   "gpio-<<int>> (line-D-input): hogged as input\n");
>  
>  	unittest(probe_pass_count + 1 == unittest_gpio_probe_pass_count,
> @@ -1935,7 +1935,7 @@ static void __init of_unittest_overlay_gpio(void)
>  	 *   - processing gpio for overlay_gpio_04b
>  	 */
>  
> -	EXPECT_BEGIN(KERN_INFO,
> +	EXPECT_BEGIN(KERN_DEBUG,
>  		     "gpio-<<int>> (line-C-input): hogged as input\n");
>  
>  	/* overlay_gpio_04b contains child gpio hog node */
> @@ -1943,7 +1943,7 @@ static void __init of_unittest_overlay_gpio(void)
>  	unittest(overlay_data_apply("overlay_gpio_04b", NULL),
>  		 "Adding overlay 'overlay_gpio_04b' failed\n");
>  
> -	EXPECT_END(KERN_INFO,
> +	EXPECT_END(KERN_DEBUG,
>  		   "gpio-<<int>> (line-C-input): hogged as input\n");
>  
>  	unittest(chip_request_count + 1 == unittest_gpio_chip_request_count,
> -- 
> 2.39.2
>
Frank Rowand June 11, 2023, 12:48 p.m. UTC | #2
On 6/11/23 07:39, Frank Rowand wrote:
> On 6/9/23 08:47, Rob Herring wrote:
>> On Mon, Jun 5, 2023 at 6:53 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>>>
>>> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>>>
>>> Drivers should be silent when they work correctly. There's no reason to
>>> emit info messages when GPIO lines are hogged. Demote the message to
>>> debug.
>>>
>>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>>> Suggested-by: Kent Gibson <warthog618@gmail.com>
>>> ---
>>>  drivers/gpio/gpiolib.c |  2 +-
>>>  drivers/of/unittest.c  | 16 ++++++++--------
>>>  2 files changed, 9 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
>>> index a7220e04a93e..e4515bda8915 100644
>>> --- a/drivers/gpio/gpiolib.c
>>> +++ b/drivers/gpio/gpiolib.c
>>> @@ -4243,7 +4243,7 @@ int gpiod_hog(struct gpio_desc *desc, const char *name,
>>>         /* Mark GPIO as hogged so it can be identified and removed later */
>>>         set_bit(FLAG_IS_HOGGED, &desc->flags);
>>>
>>> -       gpiod_info(desc, "hogged as %s%s\n",
>>> +       gpiod_dbg(desc, "hogged as %s%s\n",
>>>                 (dflags & GPIOD_FLAGS_BIT_DIR_OUT) ? "output" : "input",
>>>                 (dflags & GPIOD_FLAGS_BIT_DIR_OUT) ?
>>>                   (dflags & GPIOD_FLAGS_BIT_DIR_VAL) ? "/high" : "/low" : "");
>>> diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
>>> index 2191c0136531..0060334a98a7 100644
>>> --- a/drivers/of/unittest.c
>>> +++ b/drivers/of/unittest.c
>>> @@ -1849,19 +1849,19 @@ static void __init of_unittest_overlay_gpio(void)
>>>          * driver is registered
>>>          */
>>>
>>> -       EXPECT_BEGIN(KERN_INFO,
>>> +       EXPECT_BEGIN(KERN_DEBUG,
>>>                      "gpio-<<int>> (line-B-input): hogged as input\n");
>>
>> As debug messages are normally off, I think you can just remove these.
> 
> This patch is an example of exactly why the message level is the first parameter
> passed to EXPECT_*().  The test results are then _always_ valid, not just
> _normally_.

One should never say never.  One should never say always. :-)

Yes, there is still the exception where debug can be enabled independently
for drivers/gpio/gpiolib.c  vs for drivers/of/unittest.c.  And dynamic
debug can make things even more wonky.

-Frank

> 
> -Frank
> 
>>
>> Rob
>
Frank Rowand June 14, 2023, 12:04 a.m. UTC | #3
On 6/12/23 10:42, Rob Herring wrote:
> On Sun, Jun 11, 2023 at 6:48 AM Frank Rowand <frowand.list@gmail.com> wrote:
>>
>> On 6/11/23 07:39, Frank Rowand wrote:
>>> On 6/9/23 08:47, Rob Herring wrote:
>>>> On Mon, Jun 5, 2023 at 6:53 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>>>>>
>>>>> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>>>>>
>>>>> Drivers should be silent when they work correctly. There's no reason to
>>>>> emit info messages when GPIO lines are hogged. Demote the message to
>>>>> debug.
>>>>>
>>>>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>>>>> Suggested-by: Kent Gibson <warthog618@gmail.com>
>>>>> ---
>>>>>  drivers/gpio/gpiolib.c |  2 +-
>>>>>  drivers/of/unittest.c  | 16 ++++++++--------
>>>>>  2 files changed, 9 insertions(+), 9 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
>>>>> index a7220e04a93e..e4515bda8915 100644
>>>>> --- a/drivers/gpio/gpiolib.c
>>>>> +++ b/drivers/gpio/gpiolib.c
>>>>> @@ -4243,7 +4243,7 @@ int gpiod_hog(struct gpio_desc *desc, const char *name,
>>>>>         /* Mark GPIO as hogged so it can be identified and removed later */
>>>>>         set_bit(FLAG_IS_HOGGED, &desc->flags);
>>>>>
>>>>> -       gpiod_info(desc, "hogged as %s%s\n",
>>>>> +       gpiod_dbg(desc, "hogged as %s%s\n",
>>>>>                 (dflags & GPIOD_FLAGS_BIT_DIR_OUT) ? "output" : "input",
>>>>>                 (dflags & GPIOD_FLAGS_BIT_DIR_OUT) ?
>>>>>                   (dflags & GPIOD_FLAGS_BIT_DIR_VAL) ? "/high" : "/low" : "");
>>>>> diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
>>>>> index 2191c0136531..0060334a98a7 100644
>>>>> --- a/drivers/of/unittest.c
>>>>> +++ b/drivers/of/unittest.c
>>>>> @@ -1849,19 +1849,19 @@ static void __init of_unittest_overlay_gpio(void)
>>>>>          * driver is registered
>>>>>          */
>>>>>
>>>>> -       EXPECT_BEGIN(KERN_INFO,
>>>>> +       EXPECT_BEGIN(KERN_DEBUG,
>>>>>                      "gpio-<<int>> (line-B-input): hogged as input\n");
>>>>
>>>> As debug messages are normally off, I think you can just remove these.
>>>
>>> This patch is an example of exactly why the message level is the first parameter
>>> passed to EXPECT_*().  The test results are then _always_ valid, not just
>>> _normally_.
>>
>> One should never say never.  One should never say always. :-)
>>
>> Yes, there is still the exception where debug can be enabled independently
>> for drivers/gpio/gpiolib.c  vs for drivers/of/unittest.c.  And dynamic
>> debug can make things even more wonky.
> 
> If we turned on debug messages for drivers/of/, the unittest would be
> hopelessly broken.
> 
> Debug messages are special compared to all the other levels as they
> are normally off whereas the rest are always on. For the unittest we
> should assume they are off.

Sorry, I wasn't clear enough in my last email.  My intent in that email
is to essentially agree with what you say here - if debug is enabled
then we are in a special world where the person who enabled debug has
to deal with all of the side effects and consequences of enabling
debug.

-Frank

> 
> Rob
diff mbox series

Patch

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index a7220e04a93e..e4515bda8915 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -4243,7 +4243,7 @@  int gpiod_hog(struct gpio_desc *desc, const char *name,
 	/* Mark GPIO as hogged so it can be identified and removed later */
 	set_bit(FLAG_IS_HOGGED, &desc->flags);
 
-	gpiod_info(desc, "hogged as %s%s\n",
+	gpiod_dbg(desc, "hogged as %s%s\n",
 		(dflags & GPIOD_FLAGS_BIT_DIR_OUT) ? "output" : "input",
 		(dflags & GPIOD_FLAGS_BIT_DIR_OUT) ?
 		  (dflags & GPIOD_FLAGS_BIT_DIR_VAL) ? "/high" : "/low" : "");
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 2191c0136531..0060334a98a7 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -1849,19 +1849,19 @@  static void __init of_unittest_overlay_gpio(void)
 	 * driver is registered
 	 */
 
-	EXPECT_BEGIN(KERN_INFO,
+	EXPECT_BEGIN(KERN_DEBUG,
 		     "gpio-<<int>> (line-B-input): hogged as input\n");
 
-	EXPECT_BEGIN(KERN_INFO,
+	EXPECT_BEGIN(KERN_DEBUG,
 		     "gpio-<<int>> (line-A-input): hogged as input\n");
 
 	ret = platform_driver_register(&unittest_gpio_driver);
 	if (unittest(ret == 0, "could not register unittest gpio driver\n"))
 		return;
 
-	EXPECT_END(KERN_INFO,
+	EXPECT_END(KERN_DEBUG,
 		   "gpio-<<int>> (line-A-input): hogged as input\n");
-	EXPECT_END(KERN_INFO,
+	EXPECT_END(KERN_DEBUG,
 		   "gpio-<<int>> (line-B-input): hogged as input\n");
 
 	unittest(probe_pass_count + 2 == unittest_gpio_probe_pass_count,
@@ -1888,7 +1888,7 @@  static void __init of_unittest_overlay_gpio(void)
 	probe_pass_count = unittest_gpio_probe_pass_count;
 	chip_request_count = unittest_gpio_chip_request_count;
 
-	EXPECT_BEGIN(KERN_INFO,
+	EXPECT_BEGIN(KERN_DEBUG,
 		     "gpio-<<int>> (line-D-input): hogged as input\n");
 
 	/* overlay_gpio_03 contains gpio node and child gpio hog node */
@@ -1896,7 +1896,7 @@  static void __init of_unittest_overlay_gpio(void)
 	unittest(overlay_data_apply("overlay_gpio_03", NULL),
 		 "Adding overlay 'overlay_gpio_03' failed\n");
 
-	EXPECT_END(KERN_INFO,
+	EXPECT_END(KERN_DEBUG,
 		   "gpio-<<int>> (line-D-input): hogged as input\n");
 
 	unittest(probe_pass_count + 1 == unittest_gpio_probe_pass_count,
@@ -1935,7 +1935,7 @@  static void __init of_unittest_overlay_gpio(void)
 	 *   - processing gpio for overlay_gpio_04b
 	 */
 
-	EXPECT_BEGIN(KERN_INFO,
+	EXPECT_BEGIN(KERN_DEBUG,
 		     "gpio-<<int>> (line-C-input): hogged as input\n");
 
 	/* overlay_gpio_04b contains child gpio hog node */
@@ -1943,7 +1943,7 @@  static void __init of_unittest_overlay_gpio(void)
 	unittest(overlay_data_apply("overlay_gpio_04b", NULL),
 		 "Adding overlay 'overlay_gpio_04b' failed\n");
 
-	EXPECT_END(KERN_INFO,
+	EXPECT_END(KERN_DEBUG,
 		   "gpio-<<int>> (line-C-input): hogged as input\n");
 
 	unittest(chip_request_count + 1 == unittest_gpio_chip_request_count,