Message ID | 20230605125248.279921-1-brgl@bgdev.pl |
---|---|
State | New |
Headers | show |
Series | gpiolib: demote the hogging log messages to debug | expand |
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 >
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 >
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 --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,