Skip to contentSkip to conversation

base: isa: ISA bus functionality not compiled for X86_64 architecture

BUG William Breathitt Gray 2 participants 2 messages Jan 20, 2016

lore
Share & tools
lore
#0 lore raw

Hello,

I'm developing drivers for devices accessible over a PC/104 bus (a bus specification derived from ISA). Up until now I've used the platform_driver structure in my drivers, but I believe it would be more appropriate to use the isa_driver structure located in the include/linux/isa.h file.

I discovered that the relevant ISA bus functions located in the drivers/base/isa.c file are conditionally compiled based on the CONFIG_ISA option declared in the arch/x86/Kconfig file. Unfortunately, the CONFIG_ISA option can only be set to Y if the CONFIG_X86_32 option is set to Y; I'm running a 64-bit X86 processor, so I naturally have CONFIG_X86_32 set to N.

Would it be proper to remove the CONFIG_X86_32 dependency from the CONFIG_ISA option? Motherboards with the PC/104 bus are effectively motherboards with the ISA bus. Alternatively, I can submit a respective pc104.c and pc104.h patch to implement a PC/104 bus driver, but it would essentially be a virtually vertabim copy of the ISA bus implementation (e.g. s/isa/pc104/g).

What are your thoughts?

Sincerely,

William Breathitt Gray

#1 lore raw
Quoted 15 lines · William Breathitt Gray

Hello,

I'm developing drivers for devices accessible over a PC/104 bus (a bus specification derived from ISA). Up until now I've used the platform_driver structure in my drivers, but I believe it would be more appropriate to use the isa_driver structure located in the include/linux/isa.h file.

I discovered that the relevant ISA bus functions located in the drivers/base/isa.c file are conditionally compiled based on the CONFIG_ISA option declared in the arch/x86/Kconfig file. Unfortunately, the CONFIG_ISA option can only be set to Y if the CONFIG_X86_32 option is set to Y; I'm running a 64-bit X86 processor, so I naturally have CONFIG_X86_32 set to N.

Quoted 8 lines

Would it be proper to remove the CONFIG_X86_32 dependency from the CONFIG_ISA option? Motherboards with the PC/104 bus are effectively motherboards with the ISA bus. Alternatively, I can submit a respective pc104.c and pc104.h patch to implement a PC/104 bus driver, but it would essentially be a virtually vertabim copy of the ISA bus implementation (e.g. s/isa/pc104/g).

What are your thoughts?

Just allow ISA to be built on x86-64, no one before has told us of hardware that works on this platform. Feel free to send in a patch that makes things work properly for you.

thanks,

greg k-h