Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1252875 > unrolled thread
| Started by | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| First post | 2015-10-21 16:40 +0200 |
| Last post | 2015-10-23 19:00 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH -next] mtd: fsl-quadspi: Never build on SPARC Guenter Roeck <linux@roeck-us.net> - 2015-10-21 16:40 +0200
Re: [PATCH -next] mtd: fsl-quadspi: Never build on SPARC Brian Norris <computersforpeace@gmail.com> - 2015-10-23 03:10 +0200
Re: [PATCH -next] mtd: fsl-quadspi: Never build on SPARC Guenter Roeck <linux@roeck-us.net> - 2015-10-23 03:20 +0200
Re: [PATCH -next] mtd: fsl-quadspi: Never build on SPARC Han Xu <xhnjupt@gmail.com> - 2015-10-23 18:40 +0200
Re: [PATCH -next] mtd: fsl-quadspi: Never build on SPARC Brian Norris <computersforpeace@gmail.com> - 2015-10-23 19:00 +0200
Re: [PATCH -next] mtd: fsl-quadspi: Never build on SPARC Guenter Roeck <linux@roeck-us.net> - 2015-10-23 19:00 +0200
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2015-10-21 16:40 +0200 |
| Subject | [PATCH -next] mtd: fsl-quadspi: Never build on SPARC |
| Message-ID | <qm2Iz-5OI-41@gated-at.bofh.it> |
Attempts to build fsl-quadspi on SPARC fail with
drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut':
drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error:
'LUT_0' undeclared (first use in this function)
drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error:
pasting "LUT_" and "(" does not give a valid preprocessing token
drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error:
implicit declaration of function 'LUT_'
Never build it on SPARC, even if COMPILE_TEST is enabled.
Fixes: d26a22d06708 ("mtd: fsl-quadspi: allow building for other ARCHes
with COMPILE_TEST")
Cc: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
drivers/mtd/spi-nor/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
index 2fe2a7e90fa9..fceb2886bfd1 100644
--- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig
@@ -23,7 +23,7 @@ config MTD_SPI_NOR_USE_4K_SECTORS
config SPI_FSL_QUADSPI
tristate "Freescale Quad SPI controller"
- depends on ARCH_MXC || COMPILE_TEST
+ depends on ARCH_MXC || (COMPILE_TEST && !SPARC)
depends on HAS_IOMEM
help
This enables support for the Quad SPI controller in master mode.
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Brian Norris <computersforpeace@gmail.com> |
|---|---|
| Date | 2015-10-23 03:10 +0200 |
| Message-ID | <qmz1M-2PW-9@gated-at.bofh.it> |
| In reply to | #1252875 |
+ Han
On Wed, Oct 21, 2015 at 07:31:46AM -0700, Guenter Roeck wrote:
> Attempts to build fsl-quadspi on SPARC fail with
>
> drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut':
> drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error:
> 'LUT_0' undeclared (first use in this function)
> drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error:
> pasting "LUT_" and "(" does not give a valid preprocessing token
> drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error:
> implicit declaration of function 'LUT_'
I don't think this is only a SPARC problem. The macro concatenation is
generally suspect.
I see that READ and WRITE are problems at least. If something like
<linux/fs.h> gets included somehow, then these tokens resolve to
integers or expressions before they fall through to literal
concatentation, so we get 'LUT_0' or 'LUT_(1ULL << __REQ_WRITE)' instead
of 'LUT_READ' and 'LUT_WRITE'.
Han, are you up for fixing, or should I?
Brian
> Never build it on SPARC, even if COMPILE_TEST is enabled.
>
> Fixes: d26a22d06708 ("mtd: fsl-quadspi: allow building for other ARCHes
> with COMPILE_TEST")
> Cc: Brian Norris <computersforpeace@gmail.com>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> drivers/mtd/spi-nor/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
> index 2fe2a7e90fa9..fceb2886bfd1 100644
> --- a/drivers/mtd/spi-nor/Kconfig
> +++ b/drivers/mtd/spi-nor/Kconfig
> @@ -23,7 +23,7 @@ config MTD_SPI_NOR_USE_4K_SECTORS
>
> config SPI_FSL_QUADSPI
> tristate "Freescale Quad SPI controller"
> - depends on ARCH_MXC || COMPILE_TEST
> + depends on ARCH_MXC || (COMPILE_TEST && !SPARC)
> depends on HAS_IOMEM
> help
> This enables support for the Quad SPI controller in master mode.
> --
> 2.1.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2015-10-23 03:20 +0200 |
| Message-ID | <qmzbr-31e-5@gated-at.bofh.it> |
| In reply to | #1254267 |
On 10/22/2015 06:07 PM, Brian Norris wrote:
> + Han
>
> On Wed, Oct 21, 2015 at 07:31:46AM -0700, Guenter Roeck wrote:
>> Attempts to build fsl-quadspi on SPARC fail with
>>
>> drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut':
>> drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error:
>> 'LUT_0' undeclared (first use in this function)
>> drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error:
>> pasting "LUT_" and "(" does not give a valid preprocessing token
>> drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error:
>> implicit declaration of function 'LUT_'
>
> I don't think this is only a SPARC problem. The macro concatenation is
> generally suspect.
>
> I see that READ and WRITE are problems at least. If something like
> <linux/fs.h> gets included somehow, then these tokens resolve to
> integers or expressions before they fall through to literal
> concatentation, so we get 'LUT_0' or 'LUT_(1ULL << __REQ_WRITE)' instead
> of 'LUT_READ' and 'LUT_WRITE'.
>
You are right, that deserves a better fix. I'll leave it up to you.
Thanks,
Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Han Xu <xhnjupt@gmail.com> |
|---|---|
| Date | 2015-10-23 18:40 +0200 |
| Message-ID | <qmNxL-6UF-1@gated-at.bofh.it> |
| In reply to | #1254269 |
On Thu, Oct 22, 2015 at 8:13 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> On 10/22/2015 06:07 PM, Brian Norris wrote:
>>
>> + Han
>>
>> On Wed, Oct 21, 2015 at 07:31:46AM -0700, Guenter Roeck wrote:
>>>
>>> Attempts to build fsl-quadspi on SPARC fail with
>>>
>>> drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut':
>>> drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error:
>>> 'LUT_0' undeclared (first use in this function)
>>> drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error:
>>> pasting "LUT_" and "(" does not give a valid preprocessing token
>>> drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error:
>>> implicit declaration of function 'LUT_'
>>
>>
>> I don't think this is only a SPARC problem. The macro concatenation is
>> generally suspect.
>>
>> I see that READ and WRITE are problems at least. If something like
>> <linux/fs.h> gets included somehow, then these tokens resolve to
>> integers or expressions before they fall through to literal
>> concatentation, so we get 'LUT_0' or 'LUT_(1ULL << __REQ_WRITE)' instead
>> of 'LUT_READ' and 'LUT_WRITE'.
Hi Brian
We have two options, either undef READ and WRITE before these macros
or change the LUT_READ to LUT_FSLREAD and same as WRITE. So what's
your opinion? Thanks.
>>
> You are right, that deserves a better fix. I'll leave it up to you.
>
> Thanks,
> Guenter
>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Brian Norris <computersforpeace@gmail.com> |
|---|---|
| Date | 2015-10-23 19:00 +0200 |
| Message-ID | <qmNR9-7hz-51@gated-at.bofh.it> |
| In reply to | #1254702 |
On Fri, Oct 23, 2015 at 11:31:47AM -0500, Han Xu wrote:
> On Thu, Oct 22, 2015 at 8:13 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> > On 10/22/2015 06:07 PM, Brian Norris wrote:
> >>
> >> + Han
> >>
> >> On Wed, Oct 21, 2015 at 07:31:46AM -0700, Guenter Roeck wrote:
> >>>
> >>> Attempts to build fsl-quadspi on SPARC fail with
> >>>
> >>> drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut':
> >>> drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error:
> >>> 'LUT_0' undeclared (first use in this function)
> >>> drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error:
> >>> pasting "LUT_" and "(" does not give a valid preprocessing token
> >>> drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error:
> >>> implicit declaration of function 'LUT_'
> >>
> >>
> >> I don't think this is only a SPARC problem. The macro concatenation is
> >> generally suspect.
> >>
> >> I see that READ and WRITE are problems at least. If something like
> >> <linux/fs.h> gets included somehow, then these tokens resolve to
> >> integers or expressions before they fall through to literal
> >> concatentation, so we get 'LUT_0' or 'LUT_(1ULL << __REQ_WRITE)' instead
> >> of 'LUT_READ' and 'LUT_WRITE'.
> Hi Brian
> We have two options, either undef READ and WRITE before these macros
> or change the LUT_READ to LUT_FSLREAD and same as WRITE. So what's
> your opinion? Thanks.
I'd rule out #undef'ing other macros. That just looks like a hack.
There's at least one other option: de-obfuscate your code by directly
using macros instead of concatenating LUT_ to save a few characters. So:
#define LUT0(ins, pad, opr) \
(((opr) << OPRND0_SHIFT) | ((pad) << PAD0_SHIFT) | \
((ins) << INSTR0_SHIFT))
and for example:
writel(LUT0(LUT_WRITE, LUT_PAD1, 0), base + QUADSPI_LUT(lut_base + 1));
I'd take either that option, or renaming your LUT_READ and LUT_WRITE to
LUT_FSL_READ and LUT_FSL_WRITE (not LUT_FSLREAD and LUT_FSLWRITE).
Brian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2015-10-23 19:00 +0200 |
| Message-ID | <qmNRa-7hz-55@gated-at.bofh.it> |
| In reply to | #1254702 |
On 10/23/2015 09:31 AM, Han Xu wrote:
> On Thu, Oct 22, 2015 at 8:13 PM, Guenter Roeck <linux@roeck-us.net> wrote:
>> On 10/22/2015 06:07 PM, Brian Norris wrote:
>>>
>>> + Han
>>>
>>> On Wed, Oct 21, 2015 at 07:31:46AM -0700, Guenter Roeck wrote:
>>>>
>>>> Attempts to build fsl-quadspi on SPARC fail with
>>>>
>>>> drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut':
>>>> drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error:
>>>> 'LUT_0' undeclared (first use in this function)
>>>> drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error:
>>>> pasting "LUT_" and "(" does not give a valid preprocessing token
>>>> drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error:
>>>> implicit declaration of function 'LUT_'
>>>
>>>
>>> I don't think this is only a SPARC problem. The macro concatenation is
>>> generally suspect.
>>>
>>> I see that READ and WRITE are problems at least. If something like
>>> <linux/fs.h> gets included somehow, then these tokens resolve to
>>> integers or expressions before they fall through to literal
>>> concatentation, so we get 'LUT_0' or 'LUT_(1ULL << __REQ_WRITE)' instead
>>> of 'LUT_READ' and 'LUT_WRITE'.
> Hi Brian
> We have two options, either undef READ and WRITE before these macros
> or change the LUT_READ to LUT_FSLREAD and same as WRITE. So what's
> your opinion? Thanks.
Undef sounds like a really bad solution to me.
Guenter
>>>
>> You are right, that deserves a better fix. I'll leave it up to you.
>>
>> Thanks,
>> Guenter
>>
>>
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web