2015-08-01 00:38:39

by Luis Chamberlain

[permalink] [raw]
Subject: [RFC] alpha: use asm-generic/io.h

From: "Luis R. Rodriguez" <[email protected]>

Since alpha does not include asm-generic/io.h it would mean
alpha folks have to always carefully monitor asm-generic patches
and before they get merged make sure their own arch implementation
solution gets added. By using asm-generic/io.h alpha gets sensible
defaults, in this case ioremap_uc() would be one example, where
by default it would return NULL, so not implemented. When alpha
folks get a chance then they can add the appropriate
implementation.

Reported-by: Guenter Roeck <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Signed-off-by: Luis R. Rodriguez <[email protected]>
---

The easy solution *for now* is to just do:

#define ioremap_uc ioremap_nocache

*But* that would have to be done for any other asm-generic/io.h collateral
evolution, this on the other hand, would get it right for alpha from the
get-go -- so I ask -- can this please be tested and if it is OK then consider
it be merged?

If we can't add asm-generic/io.h then the above define replacement would
be the way to go.

arch/alpha/include/asm/io.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h
index f05bdb4b1cb9..16a5bda42750 100644
--- a/arch/alpha/include/asm/io.h
+++ b/arch/alpha/include/asm/io.h
@@ -581,4 +581,6 @@ extern void outsl (unsigned long port, const void *src, unsigned long count);

#endif /* __KERNEL__ */

+#include <asm-generic/io.h>
+
#endif /* __ALPHA_IO_H */
--
2.3.2.209.gd67f9d5.dirty


2015-08-01 01:00:26

by Guenter Roeck

[permalink] [raw]
Subject: Re: [RFC] alpha: use asm-generic/io.h

On 07/31/2015 05:38 PM, Luis R. Rodriguez wrote:
> From: "Luis R. Rodriguez" <[email protected]>
>
> Since alpha does not include asm-generic/io.h it would mean
> alpha folks have to always carefully monitor asm-generic patches
> and before they get merged make sure their own arch implementation
> solution gets added. By using asm-generic/io.h alpha gets sensible
> defaults, in this case ioremap_uc() would be one example, where
> by default it would return NULL, so not implemented. When alpha
> folks get a chance then they can add the appropriate
> implementation.
>
> Reported-by: Guenter Roeck <[email protected]>
> Cc: Paul Gortmaker <[email protected]>
> Signed-off-by: Luis R. Rodriguez <[email protected]>

Doesn't work. Gives me lots of duplicate symbols.

Guenter

> ---
>
> The easy solution *for now* is to just do:
>
> #define ioremap_uc ioremap_nocache
>
> *But* that would have to be done for any other asm-generic/io.h collateral
> evolution, this on the other hand, would get it right for alpha from the
> get-go -- so I ask -- can this please be tested and if it is OK then consider
> it be merged?
>
> If we can't add asm-generic/io.h then the above define replacement would
> be the way to go.
>
> arch/alpha/include/asm/io.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h
> index f05bdb4b1cb9..16a5bda42750 100644
> --- a/arch/alpha/include/asm/io.h
> +++ b/arch/alpha/include/asm/io.h
> @@ -581,4 +581,6 @@ extern void outsl (unsigned long port, const void *src, unsigned long count);
>
> #endif /* __KERNEL__ */
>
> +#include <asm-generic/io.h>
> +
> #endif /* __ALPHA_IO_H */
>