Message ID | 20191016143142.28854-1-geert+renesas@glider.be |
---|---|
State | Rejected, archived |
Headers | show |
Series | of: unittest: Use platform_get_irq_optional() for non-existing interrupt | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success |
Quoting Geert Uytterhoeven (2019-10-16 07:31:42) > diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c > index 9efae29722588a35..34da22f8b0660989 100644 > --- a/drivers/of/unittest.c > +++ b/drivers/of/unittest.c > @@ -1121,7 +1121,7 @@ static void __init of_unittest_platform_populate(void) > np = of_find_node_by_path("/testcase-data/testcase-device2"); > pdev = of_find_device_by_node(np); > unittest(pdev, "device 2 creation failed\n"); > - irq = platform_get_irq(pdev, 0); > + irq = platform_get_irq_optional(pdev, 0); > unittest(irq < 0 && irq != -EPROBE_DEFER, This is a test to make sure that irq failure doesn't return probe defer. Do we want to silence the error message that we're expecting to see?
Hi Stephen, On Thu, Oct 17, 2019 at 1:23 AM Stephen Boyd <swboyd@chromium.org> wrote: > Quoting Geert Uytterhoeven (2019-10-16 07:31:42) > > diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c > > index 9efae29722588a35..34da22f8b0660989 100644 > > --- a/drivers/of/unittest.c > > +++ b/drivers/of/unittest.c > > @@ -1121,7 +1121,7 @@ static void __init of_unittest_platform_populate(void) > > np = of_find_node_by_path("/testcase-data/testcase-device2"); > > pdev = of_find_device_by_node(np); > > unittest(pdev, "device 2 creation failed\n"); > > - irq = platform_get_irq(pdev, 0); > > + irq = platform_get_irq_optional(pdev, 0); > > unittest(irq < 0 && irq != -EPROBE_DEFER, > > This is a test to make sure that irq failure doesn't return probe defer. > Do we want to silence the error message that we're expecting to see? I think so. We're not interested in error messages for expected failures, only in error messages for unittest() failures. Gr{oetje,eeting}s, Geert
On Thu, Oct 17, 2019 at 1:59 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Stephen, > > On Thu, Oct 17, 2019 at 1:23 AM Stephen Boyd <swboyd@chromium.org> wrote: > > Quoting Geert Uytterhoeven (2019-10-16 07:31:42) > > > diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c > > > index 9efae29722588a35..34da22f8b0660989 100644 > > > --- a/drivers/of/unittest.c > > > +++ b/drivers/of/unittest.c > > > @@ -1121,7 +1121,7 @@ static void __init of_unittest_platform_populate(void) > > > np = of_find_node_by_path("/testcase-data/testcase-device2"); > > > pdev = of_find_device_by_node(np); > > > unittest(pdev, "device 2 creation failed\n"); > > > - irq = platform_get_irq(pdev, 0); > > > + irq = platform_get_irq_optional(pdev, 0); > > > unittest(irq < 0 && irq != -EPROBE_DEFER, > > > > This is a test to make sure that irq failure doesn't return probe defer. > > Do we want to silence the error message that we're expecting to see? > > I think so. We're not interested in error messages for expected failures, > only in error messages for unittest() failures. The unittests start with a warning that error messages will be seen. OTOH, we didn't get a message here before. Rob
On 10/17/2019 07:51, Rob Herring wrote: > On Thu, Oct 17, 2019 at 1:59 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: >> >> Hi Stephen, >> >> On Thu, Oct 17, 2019 at 1:23 AM Stephen Boyd <swboyd@chromium.org> wrote: >>> Quoting Geert Uytterhoeven (2019-10-16 07:31:42) >>>> diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c >>>> index 9efae29722588a35..34da22f8b0660989 100644 >>>> --- a/drivers/of/unittest.c >>>> +++ b/drivers/of/unittest.c >>>> @@ -1121,7 +1121,7 @@ static void __init of_unittest_platform_populate(void) >>>> np = of_find_node_by_path("/testcase-data/testcase-device2"); >>>> pdev = of_find_device_by_node(np); >>>> unittest(pdev, "device 2 creation failed\n"); >>>> - irq = platform_get_irq(pdev, 0); >>>> + irq = platform_get_irq_optional(pdev, 0); >>>> unittest(irq < 0 && irq != -EPROBE_DEFER, >>> >>> This is a test to make sure that irq failure doesn't return probe defer. >>> Do we want to silence the error message that we're expecting to see? No, we do not want to silence an error message that we are expecting to see. >> >> I think so. We're not interested in error messages for expected failures, >> only in error messages for unittest() failures. platform_get_irq() is precisely the function that we are trying to test here. > > The unittests start with a warning that error messages will be seen. > OTOH, we didn't get a message here before. Getting error messages from places outside of unittest.c is just the nature of the devicetree selftest beast. -Frank > > Rob >
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 9efae29722588a35..34da22f8b0660989 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -1121,7 +1121,7 @@ static void __init of_unittest_platform_populate(void) np = of_find_node_by_path("/testcase-data/testcase-device2"); pdev = of_find_device_by_node(np); unittest(pdev, "device 2 creation failed\n"); - irq = platform_get_irq(pdev, 0); + irq = platform_get_irq_optional(pdev, 0); unittest(irq < 0 && irq != -EPROBE_DEFER, "device parsing error failed - %d\n", irq); }
As platform_get_irq() now prints an error when the interrupt does not exist, a scary warning may be printed for a non-existing interrupt: platform testcase-data:testcase-device2: IRQ index 0 not found Fix this by calling platform_get_irq_optional() instead. Fixes: 7723f4c5ecdb8d83 ("driver core: platform: Add an error message to platform_get_irq*()") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- This is a fix for v5.4. --- drivers/of/unittest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)