[PATCH] cxl: Include range.h in cxl.h

Nathan Chancellor posted 1 patch 3 months, 1 week ago
drivers/cxl/cxl.h | 1 +
1 file changed, 1 insertion(+)
[PATCH] cxl: Include range.h in cxl.h
Posted by Nathan Chancellor 3 months, 1 week ago
After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
range.h may not be implicitly included, resulting in a build error:

  In file included from drivers/cxl/core/features.c:8:
  drivers/cxl/cxl.h:365:22: error: field 'hpa_range' has incomplete type
    365 |         struct range hpa_range;
        |                      ^~~~~~~~~
  drivers/cxl/cxl.h:562:22: error: field 'hpa_range' has incomplete type
    562 |         struct range hpa_range;
        |                      ^~~~~~~~~
  drivers/cxl/cxl.h:570:22: error: field 'hpa_range' has incomplete type
    570 |         struct range hpa_range;
        |                      ^~~~~~~~~
  drivers/cxl/cxl.h:803:22: error: array type has incomplete element type 'struct range'
    803 |         struct range dvsec_range[2];
        |                      ^~~~~~~~~~~

Include range.h in cxl.h explicitly to clear up the errors.

Fixes: aefeb286b960 ("libnvdimm: Don't use "proxy" headers")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
 drivers/cxl/cxl.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h
index 3f1695c96abc..b941ff94fe0a 100644
--- a/drivers/cxl/cxl.h
+++ b/drivers/cxl/cxl.h
@@ -11,6 +11,7 @@
 #include <linux/log2.h>
 #include <linux/node.h>
 #include <linux/io.h>
+#include <linux/range.h>
 
 extern const struct nvdimm_security_ops *cxl_security_ops;
 

---
base-commit: aefeb286b960a0629273d1dc809ea36754f42d98
change-id: 20250701-cxl-fix-struct-range-error-8475cbbf3358

Best regards,
--  
Nathan Chancellor <nathan@kernel.org>
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Ira Weiny 3 months, 1 week ago
On Tue, 01 Jul 2025 07:33:31 -0700, Nathan Chancellor wrote:
> After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> range.h may not be implicitly included, resulting in a build error:
> 
>   In file included from drivers/cxl/core/features.c:8:
>   drivers/cxl/cxl.h:365:22: error: field 'hpa_range' has incomplete type
>     365 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:562:22: error: field 'hpa_range' has incomplete type
>     562 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:570:22: error: field 'hpa_range' has incomplete type
>     570 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:803:22: error: array type has incomplete element type 'struct range'
>     803 |         struct range dvsec_range[2];
>         |                      ^~~~~~~~~~~
> 
> [...]

Applied, thanks!

[1/1] cxl: Include range.h in cxl.h
      commit: 9f97e61bde6a91a429f48da1a461488a15b01813

Best regards,
-- 
Ira Weiny <ira.weiny@intel.com>
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Ira Weiny 3 months, 1 week ago
Nathan Chancellor wrote:
> After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> range.h may not be implicitly included, resulting in a build error:

Dave J., I'll pick this up since the nvdimm change was pushed through
libnvdimm.

That said, I'm not seeing this issue.  What config caught this?

Ira

> 
>   In file included from drivers/cxl/core/features.c:8:
>   drivers/cxl/cxl.h:365:22: error: field 'hpa_range' has incomplete type
>     365 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:562:22: error: field 'hpa_range' has incomplete type
>     562 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:570:22: error: field 'hpa_range' has incomplete type
>     570 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:803:22: error: array type has incomplete element type 'struct range'
>     803 |         struct range dvsec_range[2];
>         |                      ^~~~~~~~~~~
> 
> Include range.h in cxl.h explicitly to clear up the errors.
> 
> Fixes: aefeb286b960 ("libnvdimm: Don't use "proxy" headers")
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> ---
>  drivers/cxl/cxl.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h
> index 3f1695c96abc..b941ff94fe0a 100644
> --- a/drivers/cxl/cxl.h
> +++ b/drivers/cxl/cxl.h
> @@ -11,6 +11,7 @@
>  #include <linux/log2.h>
>  #include <linux/node.h>
>  #include <linux/io.h>
> +#include <linux/range.h>
>  
>  extern const struct nvdimm_security_ops *cxl_security_ops;
>  
> 
> ---
> base-commit: aefeb286b960a0629273d1dc809ea36754f42d98
> change-id: 20250701-cxl-fix-struct-range-error-8475cbbf3358
> 
> Best regards,
> --  
> Nathan Chancellor <nathan@kernel.org>
> 
>
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Nathan Chancellor 3 months, 1 week ago
On Tue, Jul 01, 2025 at 10:20:22AM -0500, Ira Weiny wrote:
> Nathan Chancellor wrote:
> > After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> > range.h may not be implicitly included, resulting in a build error:
> 
> That said, I'm not seeing this issue.  What config caught this?

Fedora's aarch64 configuration [1] is where I initially noticed this.
Fedora's rpm site seems to be under the weather for me but I have it
mirrored [2] for my own test setup.

[1]: https://src.fedoraproject.org/rpms/kernel/raw/rawhide/f/kernel-aarch64-fedora.config
[2]: https://github.com/nathanchance/llvm-kernel-testing/raw/refs/heads/main/configs/fedora/aarch64.config

Cheers,
Nathan
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Ira Weiny 3 months, 1 week ago
Nathan Chancellor wrote:
> On Tue, Jul 01, 2025 at 10:20:22AM -0500, Ira Weiny wrote:
> > Nathan Chancellor wrote:
> > > After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> > > range.h may not be implicitly included, resulting in a build error:
> > 
> > That said, I'm not seeing this issue.  What config caught this?
> 
> Fedora's aarch64 configuration [1] is where I initially noticed this.
> Fedora's rpm site seems to be under the weather for me but I have it
> mirrored [2] for my own test setup.

Ah, I suspected it was a non-x86 build.

Reviewed-by: Ira Weiny <ira.weiny@intel.com>

Dave, I'll pull this in right now.

Thanks,
Ira

> 
> [1]: https://src.fedoraproject.org/rpms/kernel/raw/rawhide/f/kernel-aarch64-fedora.config
> [2]: https://github.com/nathanchance/llvm-kernel-testing/raw/refs/heads/main/configs/fedora/aarch64.config
> 
> Cheers,
> Nathan
>
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Andy Shevchenko 3 months, 1 week ago
On Tue, Jul 01, 2025 at 11:14:19AM -0500, Ira Weiny wrote:
> Nathan Chancellor wrote:
> > On Tue, Jul 01, 2025 at 10:20:22AM -0500, Ira Weiny wrote:
> > > Nathan Chancellor wrote:
> > > > After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> > > > range.h may not be implicitly included, resulting in a build error:
> > > 
> > > That said, I'm not seeing this issue.  What config caught this?
> > 
> > Fedora's aarch64 configuration [1] is where I initially noticed this.
> > Fedora's rpm site seems to be under the weather for me but I have it
> > mirrored [2] for my own test setup.
> 
> Ah, I suspected it was a non-x86 build.
> 
> Reviewed-by: Ira Weiny <ira.weiny@intel.com>
> 
> Dave, I'll pull this in right now.

Thanks, I haven't seen issues and 0-day haven't given any (bad) report so far.

> > [1]: https://src.fedoraproject.org/rpms/kernel/raw/rawhide/f/kernel-aarch64-fedora.config
> > [2]: https://github.com/nathanchance/llvm-kernel-testing/raw/refs/heads/main/configs/fedora/aarch64.config

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Dave Jiang 3 months, 1 week ago

On 7/1/25 7:33 AM, Nathan Chancellor wrote:
> After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> range.h may not be implicitly included, resulting in a build error:
> 
>   In file included from drivers/cxl/core/features.c:8:
>   drivers/cxl/cxl.h:365:22: error: field 'hpa_range' has incomplete type
>     365 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:562:22: error: field 'hpa_range' has incomplete type
>     562 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:570:22: error: field 'hpa_range' has incomplete type
>     570 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:803:22: error: array type has incomplete element type 'struct range'
>     803 |         struct range dvsec_range[2];
>         |                      ^~~~~~~~~~~
> 
> Include range.h in cxl.h explicitly to clear up the errors.
> 
> Fixes: aefeb286b960 ("libnvdimm: Don't use "proxy" headers")
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
>  drivers/cxl/cxl.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/cxl/cxl.h b/drivers/cxl/cxl.h
> index 3f1695c96abc..b941ff94fe0a 100644
> --- a/drivers/cxl/cxl.h
> +++ b/drivers/cxl/cxl.h
> @@ -11,6 +11,7 @@
>  #include <linux/log2.h>
>  #include <linux/node.h>
>  #include <linux/io.h>
> +#include <linux/range.h>
>  
>  extern const struct nvdimm_security_ops *cxl_security_ops;
>  
> 
> ---
> base-commit: aefeb286b960a0629273d1dc809ea36754f42d98
> change-id: 20250701-cxl-fix-struct-range-error-8475cbbf3358
> 
> Best regards,
> --  
> Nathan Chancellor <nathan@kernel.org>
> 
>
Re: [PATCH] cxl: Include range.h in cxl.h
Posted by Jonathan Cameron 3 months, 1 week ago
On Tue, 01 Jul 2025 07:33:31 -0700
Nathan Chancellor <nathan@kernel.org> wrote:

> After commit aefeb286b960 ("libnvdimm: Don't use "proxy" headers"),
> range.h may not be implicitly included, resulting in a build error:
> 
>   In file included from drivers/cxl/core/features.c:8:
>   drivers/cxl/cxl.h:365:22: error: field 'hpa_range' has incomplete type
>     365 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:562:22: error: field 'hpa_range' has incomplete type
>     562 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:570:22: error: field 'hpa_range' has incomplete type
>     570 |         struct range hpa_range;
>         |                      ^~~~~~~~~
>   drivers/cxl/cxl.h:803:22: error: array type has incomplete element type 'struct range'
>     803 |         struct range dvsec_range[2];
>         |                      ^~~~~~~~~~~
> 
> Include range.h in cxl.h explicitly to clear up the errors.
> 
> Fixes: aefeb286b960 ("libnvdimm: Don't use "proxy" headers")
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>