diff mbox

arm64: compiling issue for allmodconfig, need "asm/parport.h" by "drivers/parport/parport_pc.c"

Message ID 5199A453.4080402@asianux.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chen Gang May 20, 2013, 4:19 a.m. UTC
Need add the default file in 'asm/Kbuild' just like arm has done.

The build command is:
  make EXTRA_CFLAGS=-W ARCH=arm64 allmodconfig
  make EXTRA_CFLAGS=-W ARCH=arm64 menuconfig
    set "aarch64-linux-gnu-" as cross compiling prefix.
  make EXTRA_CFLAGS=-W ARCH=arm64

The related error:
  drivers/parport/parport_pc.c:67:25: fatal error: asm/parport.h: No such file or directory


Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
 arch/arm64/include/asm/Kbuild |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

Catalin Marinas May 21, 2013, 1:17 p.m. UTC | #1
On Mon, May 20, 2013 at 05:19:31AM +0100, Chen Gang wrote:
> 
> Need add the default file in 'asm/Kbuild' just like arm has done.
> 
> The build command is:
>   make EXTRA_CFLAGS=-W ARCH=arm64 allmodconfig
>   make EXTRA_CFLAGS=-W ARCH=arm64 menuconfig
>     set "aarch64-linux-gnu-" as cross compiling prefix.
>   make EXTRA_CFLAGS=-W ARCH=arm64
> 
> The related error:
>   drivers/parport/parport_pc.c:67:25: fatal error: asm/parport.h: No such file or directory

As I don't see when we'd need this driver, you can probably change the
Kconfig entry (similar to the VGA_CONSOLE one).

Thanks.
Chen Gang May 22, 2013, 12:45 a.m. UTC | #2
On 05/21/2013 09:17 PM, Catalin Marinas wrote:
> On Mon, May 20, 2013 at 05:19:31AM +0100, Chen Gang wrote:
>>
>> Need add the default file in 'asm/Kbuild' just like arm has done.
>>
>> The build command is:
>>   make EXTRA_CFLAGS=-W ARCH=arm64 allmodconfig
>>   make EXTRA_CFLAGS=-W ARCH=arm64 menuconfig
>>     set "aarch64-linux-gnu-" as cross compiling prefix.
>>   make EXTRA_CFLAGS=-W ARCH=arm64
>>
>> The related error:
>>   drivers/parport/parport_pc.c:67:25: fatal error: asm/parport.h: No such file or directory
> 
> As I don't see when we'd need this driver, you can probably change the
> Kconfig entry (similar to the VGA_CONSOLE one).
> 

Oh, really it is, it is for PC, it seems except x86, no one else will
use it. And for x86, it will be less and less used, in the future.

It seems it is a better candidate than VGA_CONSOLE. I will define
CONFIG_HAVE_PARPORT_PC for it.  :-)

Thanks.
Chen Gang May 22, 2013, 7:32 a.m. UTC | #3
On 05/22/2013 08:45 AM, Chen Gang wrote:
> On 05/21/2013 09:17 PM, Catalin Marinas wrote:
>> On Mon, May 20, 2013 at 05:19:31AM +0100, Chen Gang wrote:
>>>
>>> Need add the default file in 'asm/Kbuild' just like arm has done.
>>>
>>> The build command is:
>>>   make EXTRA_CFLAGS=-W ARCH=arm64 allmodconfig
>>>   make EXTRA_CFLAGS=-W ARCH=arm64 menuconfig
>>>     set "aarch64-linux-gnu-" as cross compiling prefix.
>>>   make EXTRA_CFLAGS=-W ARCH=arm64
>>>
>>> The related error:
>>>   drivers/parport/parport_pc.c:67:25: fatal error: asm/parport.h: No such file or directory
>>
>> As I don't see when we'd need this driver, you can probably change the
>> Kconfig entry (similar to the VGA_CONSOLE one).
>>

After check the Kconfig in drivers, we can find quite a few using long
list args which related with ARCH.

And they are not only depend on ARCHs, but also depend on another
things (e.g. VGA_CONSOL also depend on !4xx && !8xx, and another
combinations).

We also can find another long list for depend on, but not related with
ARCH.

They seems not quit difficult for reading (in fact, if we separate them
into pieces and let them spread into another areas, the reader will not
see the whole dependency clearly)

For fixing bug, better as local as possible, as independent as possible,
it will be OK if only add !ARM64 for PARPORT_PC depend on, and it has
no any negative effect. But if we define CONFIG_HAVE_*, we have to let
it related with multiple platforms.

For design: if can bear current design, better not to touch it, I think
current design is still sustainable, and not complex for understanding,
so not need redesign.


The depends on samples which related with ARCH:

  ./ide/Kconfig:  depends on ALPHA || X86 || IA64 || M32R || MIPS || ARCH_RPC || ARCH_SHARK
  ./dma/Kconfig:  depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
  ./misc/Kconfig: depends on (IA64_GENERIC || IA64_SGI_SN2 || IA64_SGI_UV || X86_UV) && SMP
  ./gpio/Kconfig: depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || ...
  ./gpio/Kconfig: depends on GPIOLIB && ARCH_MSM && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
  ./mtd/onenand/Kconfig:        depends on ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4
  ./net/ethernet/ti/Kconfig:      depends on PCI || EISA || AR7 || (ARM && (ARCH_DAVINCI || ARCH_OMAP3 || SOC_AM33XX))
  ./net/ethernet/ibm/Kconfig:     depends on MCA || PPC_PSERIES || PPC_PSERIES || PPC_DCR || ...
  ./net/ethernet/smsc/Kconfig:    depends on (ARM || M32R || SUPERH || MIPS || BLACKFIN || ...
  ./net/ethernet/smsc/Kconfig:    depends on (ARM || SUPERH || BLACKFIN || MIPS || MN10300)
  ./rtc/Kconfig:  depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS || SPARC64
  ./rtc/Kconfig:  depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_DAVINCI_DA8XX || SOC_AM33XX
  ./isdn/hisax/Kconfig:   depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
  ./isdn/hisax/Kconfig:   depends on PCI && (BROKEN || !(PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
  ./isdn/hisax/Kconfig:   depends on PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
  ./isdn/hisax/Kconfig:   depends on HISAX_NETJET && PCI && (BROKEN || !(SPARC || PPC || PARISC || M68K || (MIPS && !CPU_LITTLE_ENDIAN) || FRV || (XTENSA && !CPU_LITTLE_ENDIAN)))
  ./input/serio/Kconfig:  depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && ...
  ./char/Kconfig: depends on RTC!=y && !IA64 && !ARM && !M32R && !MIPS && !SPARC && !FRV && !S390 && !SUPERH && !AVR32 && !BLACKFIN && !UML
  ./video/console/Kconfig:        depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !SUPERH && !BLACKFIN && !AVR32 && !MN10300 && (!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER)
  ./video/Kconfig:        depends on FB && (CPU_S3C2416 || ARCH_S3C64XX || ARCH_S5P64X0 || ...
  ...



> 
> Oh, really it is, it is for PC, it seems except x86, no one else will
> use it. And for x86, it will be less and less used, in the future.
> 
> It seems it is a better candidate than VGA_CONSOLE. I will define
> CONFIG_HAVE_PARPORT_PC for it.  :-)
> 
> Thanks.
>
Catalin Marinas May 28, 2013, 5:02 p.m. UTC | #4
On Wed, May 22, 2013 at 08:32:20AM +0100, Chen Gang wrote:
> On 05/22/2013 08:45 AM, Chen Gang wrote:
> > On 05/21/2013 09:17 PM, Catalin Marinas wrote:
> >> On Mon, May 20, 2013 at 05:19:31AM +0100, Chen Gang wrote:
> >>>
> >>> Need add the default file in 'asm/Kbuild' just like arm has done.
> >>>
> >>> The build command is:
> >>>   make EXTRA_CFLAGS=-W ARCH=arm64 allmodconfig
> >>>   make EXTRA_CFLAGS=-W ARCH=arm64 menuconfig
> >>>     set "aarch64-linux-gnu-" as cross compiling prefix.
> >>>   make EXTRA_CFLAGS=-W ARCH=arm64
> >>>
> >>> The related error:
> >>>   drivers/parport/parport_pc.c:67:25: fatal error: asm/parport.h: No such file or directory
> >>
> >> As I don't see when we'd need this driver, you can probably change the
> >> Kconfig entry (similar to the VGA_CONSOLE one).
> >>
> 
> After check the Kconfig in drivers, we can find quite a few using long
> list args which related with ARCH.
> 
> And they are not only depend on ARCHs, but also depend on another
> things (e.g. VGA_CONSOL also depend on !4xx && !8xx, and another
> combinations).

Given this dependency is on the negation of that symbol, you just remove
it and have a "depends on HAVE_VGA_CONSOLE". The few architectures that
need it will have to define it (X86, ARM with a few configurations).

> We also can find another long list for depend on, but not related with
> ARCH.
> 
> They seems not quit difficult for reading (in fact, if we separate them
> into pieces and let them spread into another areas, the reader will not
> see the whole dependency clearly)
> 
> For fixing bug, better as local as possible, as independent as possible,
> it will be OK if only add !ARM64 for PARPORT_PC depend on, and it has
> no any negative effect. But if we define CONFIG_HAVE_*, we have to let
> it related with multiple platforms.
> 
> For design: if can bear current design, better not to touch it, I think
> current design is still sustainable, and not complex for understanding,
> so not need redesign.

We usually clean some of these as we hit them, otherwise people forget
about the clean-up later ;).
Chen Gang May 29, 2013, 2:06 a.m. UTC | #5
On 05/29/2013 01:02 AM, Catalin Marinas wrote:
>> > 
>> > After check the Kconfig in drivers, we can find quite a few using long
>> > list args which related with ARCH.
>> > 
>> > And they are not only depend on ARCHs, but also depend on another
>> > things (e.g. VGA_CONSOL also depend on !4xx && !8xx, and another
>> > combinations).
> Given this dependency is on the negation of that symbol, you just remove
> it and have a "depends on HAVE_VGA_CONSOLE". The few architectures that
> need it will have to define it (X86, ARM with a few configurations).
> 

it is "depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV &&
!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && (!ARM || ARCH_FOOTBRIDGE
|| ARCH_INTEGRATOR || ARCH_NETWINDER)"

So, not only x86, ARM, but also s390, xtensa, alpha, cris, h8300, ia64,
mips... (at least, we do not know, they whether need it or not).


>> > We also can find another long list for depend on, but not related with
>> > ARCH.
>> > 
>> > They seems not quit difficult for reading (in fact, if we separate them
>> > into pieces and let them spread into another areas, the reader will not
>> > see the whole dependency clearly)
>> > 
>> > For fixing bug, better as local as possible, as independent as possible,
>> > it will be OK if only add !ARM64 for PARPORT_PC depend on, and it has
>> > no any negative effect. But if we define CONFIG_HAVE_*, we have to let
>> > it related with multiple platforms.
>> > 
>> > For design: if can bear current design, better not to touch it, I think
>> > current design is still sustainable, and not complex for understanding,
>> > so not need redesign.
> We usually clean some of these as we hit them, otherwise people forget
> about the clean-up later ;).

In fact, I have sent another configuration modification about disabling
CONFIG_BUG. it is in discussing...

We are sure most of architectures do not need CONFIG_BUG, but for
VGA_CONSOLE, we can not be sure most of architectures do not need it.

For CONFIG_BUG issue, it will make noisy for most of architectures, but
for VGA_CONSOLE issue, at least now, it is only effect with arm64.

For CONFIG_BUG issue, it seems we can not provide a satisfied fixing if
not get rid of it, but for VGA_CONSOLE issue, at least we have a
complete fixing way for it.


And now for CONFIG_BUG issue, it is still continuing discussing, and it
seems that can not get a result quickly.

So for VGA_CONSOLE... ;-)


Thanks.
diff mbox

Patch

diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
index 79a642d..9005e81 100644
--- a/arch/arm64/include/asm/Kbuild
+++ b/arch/arm64/include/asm/Kbuild
@@ -25,6 +25,7 @@  generic-y += local64.h
 generic-y += mman.h
 generic-y += msgbuf.h
 generic-y += mutex.h
+generic-y += parport.h
 generic-y += pci.h
 generic-y += percpu.h
 generic-y += poll.h