The printf tests for struct resource were stubbed out. struct range
printing will leverage the struct resource implementation.
To prevent regression add some basic sanity tests for struct resource.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
Tested-by: Fan Ni <fan.ni@samsung.com>
Acked-by: Petr Mladek <pmladek@suse.com>
Link: https://patch.msgid.link/20241007-dcd-type2-upstream-v4-1-c261ee6eeded@intel.com
Tested-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
---
lib/test_printf.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/lib/test_printf.c b/lib/test_printf.c
index 8448b6d02bd9..5afdf5efc627 100644
--- a/lib/test_printf.c
+++ b/lib/test_printf.c
@@ -386,6 +386,50 @@ kernel_ptr(void)
static void __init
struct_resource(void)
{
+ struct resource test_resource = {
+ .start = 0xc0ffee00,
+ .end = 0xc0ffee00,
+ .flags = IORESOURCE_MEM,
+ };
+
+ test("[mem 0xc0ffee00 flags 0x200]",
+ "%pr", &test_resource);
+
+ test_resource = (struct resource) {
+ .start = 0xc0ffee,
+ .end = 0xba5eba11,
+ .flags = IORESOURCE_MEM,
+ };
+ test("[mem 0x00c0ffee-0xba5eba11 flags 0x200]",
+ "%pr", &test_resource);
+
+ test_resource = (struct resource) {
+ .start = 0xba5eba11,
+ .end = 0xc0ffee,
+ .flags = IORESOURCE_MEM,
+ };
+ test("[mem 0xba5eba11-0x00c0ffee flags 0x200]",
+ "%pr", &test_resource);
+
+ test_resource = (struct resource) {
+ .start = 0xba5eba11,
+ .end = 0xba5eca11,
+ .flags = IORESOURCE_MEM,
+ };
+
+ test("[mem 0xba5eba11-0xba5eca11 flags 0x200]",
+ "%pr", &test_resource);
+
+ test_resource = (struct resource) {
+ .start = 0xba11,
+ .end = 0xca10,
+ .flags = IORESOURCE_IO |
+ IORESOURCE_DISABLED |
+ IORESOURCE_UNSET,
+ };
+
+ test("[io size 0x1000 disabled]",
+ "%pR", &test_resource);
}
static void __init
--
2.47.0
On Fri, Oct 25, 2024 at 07:46:53PM -0500, Ira Weiny wrote:
> The printf tests for struct resource were stubbed out. struct range
> printing will leverage the struct resource implementation.
>
> To prevent regression add some basic sanity tests for struct resource.
...
> + struct resource test_resource = {
> + .start = 0xc0ffee00,
> + .end = 0xc0ffee00,
> + .flags = IORESOURCE_MEM,
> + };
> +
> + test("[mem 0xc0ffee00 flags 0x200]",
> + "%pr", &test_resource);
> +
> + test_resource = (struct resource) {
> + .start = 0xc0ffee,
> + .end = 0xba5eba11,
> + .flags = IORESOURCE_MEM,
> + };
> + test("[mem 0x00c0ffee-0xba5eba11 flags 0x200]",
> + "%pr", &test_resource);
> +
> + test_resource = (struct resource) {
> + .start = 0xba5eba11,
> + .end = 0xc0ffee,
> + .flags = IORESOURCE_MEM,
> + };
> + test("[mem 0xba5eba11-0x00c0ffee flags 0x200]",
> + "%pr", &test_resource);
> +
> + test_resource = (struct resource) {
> + .start = 0xba5eba11,
> + .end = 0xba5eca11,
> + .flags = IORESOURCE_MEM,
> + };
> +
> + test("[mem 0xba5eba11-0xba5eca11 flags 0x200]",
> + "%pr", &test_resource);
> +
> + test_resource = (struct resource) {
> + .start = 0xba11,
> + .end = 0xca10,
> + .flags = IORESOURCE_IO |
> + IORESOURCE_DISABLED |
> + IORESOURCE_UNSET,
> + };
I know that I have given my tag, but I just realized that you may use
DEFINE_RES_*() macros here.
--
With Best Regards,
Andy Shevchenko
Andy Shevchenko wrote:
> On Fri, Oct 25, 2024 at 07:46:53PM -0500, Ira Weiny wrote:
> > The printf tests for struct resource were stubbed out. struct range
> > printing will leverage the struct resource implementation.
> >
> > To prevent regression add some basic sanity tests for struct resource.
>
> ...
[snip]
> > +
> > + test("[mem 0xba5eba11-0xba5eca11 flags 0x200]",
> > + "%pr", &test_resource);
> > +
> > + test_resource = (struct resource) {
> > + .start = 0xba11,
> > + .end = 0xca10,
> > + .flags = IORESOURCE_IO |
> > + IORESOURCE_DISABLED |
> > + IORESOURCE_UNSET,
> > + };
>
> I know that I have given my tag, but I just realized that you may use
> DEFINE_RES_*() macros here.
I tried that but it does not really make things easier IMO. So I kept it
this way.
I'd like Dave to pick up this series for 6.13. If he can then I can use
it for the DCD work. Otherwise DCD can go ahead of this.
Ira
© 2016 - 2026 Red Hat, Inc.