Re: [ndctl PATCH] ndctl/lib: make dimm_ops in private.h extern

2020-02-18 Thread Jeff Moyer
Vishal Verma  writes:

> A toolchain update in Fedora 32 caused new compile errors due to
> multiple definitions of dimm_ops structures. The declarations in
> 'private.h' for the various NFIT families are present so that libndctl
> can find all the per-family dimm-ops. However they need to be declared
> as extern because the actual definitions are in .c
>
> Cc: Dan Williams 
> Suggested-by: Dan Williams 
> Signed-off-by: Vishal Verma 
> ---
>  ndctl/lib/private.h | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/ndctl/lib/private.h b/ndctl/lib/private.h
> index e445301..16bf8f9 100644
> --- a/ndctl/lib/private.h
> +++ b/ndctl/lib/private.h
> @@ -343,10 +343,10 @@ struct ndctl_dimm_ops {
>   int (*xlat_firmware_status)(struct ndctl_cmd *);
>  };
>  
> -struct ndctl_dimm_ops * const intel_dimm_ops;
> -struct ndctl_dimm_ops * const hpe1_dimm_ops;
> -struct ndctl_dimm_ops * const msft_dimm_ops;
> -struct ndctl_dimm_ops * const hyperv_dimm_ops;
> +extern struct ndctl_dimm_ops * const intel_dimm_ops;
> +extern struct ndctl_dimm_ops * const hpe1_dimm_ops;
> +extern struct ndctl_dimm_ops * const msft_dimm_ops;
> +extern struct ndctl_dimm_ops * const hyperv_dimm_ops;
>  
>  static inline struct ndctl_bus *cmd_to_bus(struct ndctl_cmd *cmd)
>  {

Acked-by: Jeff Moyer 
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [ndctl PATCH] ndctl/lib: make dimm_ops in private.h extern

2020-01-30 Thread Verma, Vishal L
On Thu, 2020-01-30 at 11:03 -0800, Dan Williams wrote:
> On Thu, Jan 30, 2020 at 10:56 AM Vishal Verma  
> wrote:
> > A toolchain update in Fedora 32 caused new compile errors due to
> > multiple definitions of dimm_ops structures. The declarations in
> > 'private.h' for the various NFIT families are present so that libndctl
> > can find all the per-family dimm-ops. However they need to be declared
> > as extern because the actual definitions are in .c
> 
> Looks good to me. Does this quiet the build spew?

I'm testing that now - it at least doesn't introduce any new errors in
my F30 environment and makes sense.

___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


Re: [ndctl PATCH] ndctl/lib: make dimm_ops in private.h extern

2020-01-30 Thread Dan Williams
On Thu, Jan 30, 2020 at 10:56 AM Vishal Verma  wrote:
>
> A toolchain update in Fedora 32 caused new compile errors due to
> multiple definitions of dimm_ops structures. The declarations in
> 'private.h' for the various NFIT families are present so that libndctl
> can find all the per-family dimm-ops. However they need to be declared
> as extern because the actual definitions are in .c

Looks good to me. Does this quiet the build spew?
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org


[ndctl PATCH] ndctl/lib: make dimm_ops in private.h extern

2020-01-30 Thread Vishal Verma
A toolchain update in Fedora 32 caused new compile errors due to
multiple definitions of dimm_ops structures. The declarations in
'private.h' for the various NFIT families are present so that libndctl
can find all the per-family dimm-ops. However they need to be declared
as extern because the actual definitions are in .c

Cc: Dan Williams 
Suggested-by: Dan Williams 
Signed-off-by: Vishal Verma 
---
 ndctl/lib/private.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ndctl/lib/private.h b/ndctl/lib/private.h
index e445301..16bf8f9 100644
--- a/ndctl/lib/private.h
+++ b/ndctl/lib/private.h
@@ -343,10 +343,10 @@ struct ndctl_dimm_ops {
int (*xlat_firmware_status)(struct ndctl_cmd *);
 };
 
-struct ndctl_dimm_ops * const intel_dimm_ops;
-struct ndctl_dimm_ops * const hpe1_dimm_ops;
-struct ndctl_dimm_ops * const msft_dimm_ops;
-struct ndctl_dimm_ops * const hyperv_dimm_ops;
+extern struct ndctl_dimm_ops * const intel_dimm_ops;
+extern struct ndctl_dimm_ops * const hpe1_dimm_ops;
+extern struct ndctl_dimm_ops * const msft_dimm_ops;
+extern struct ndctl_dimm_ops * const hyperv_dimm_ops;
 
 static inline struct ndctl_bus *cmd_to_bus(struct ndctl_cmd *cmd)
 {
-- 
2.21.1
___
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-le...@lists.01.org