Rework CONFIG_HAS_IOPORT Kconfig logic

Registered by Jakub Pavelek on 2013-03-11

A lot of platforms do not have support for the legacy PCI I/O space that is accessed with inb()/outb() macros. When we build a kernel for those, we really want to disable all drivers using those accessors and not provide them, but there is currently no
Kconfig symbol to depend on.

There is a CONFIG_HAS_IOPORT symbol, which has a slightly different meaning and should get globally renamed to CONFIG_HAS_IOPORT_MAP, so we can reuse the old symbol to refer to systems providing inb/outb.

Any platform that has none of ISA, PCMCIA or PCI should then disable CONFIG_HAS_IOPORT.

Blueprint information

Status:
Started
Approver:
Deepak Saxena
Priority:
Essential
Drafter:
Jakub Pavelek
Direction:
Approved
Assignee:
Satish Kumar G
Definition:
Approved
Series goal:
Accepted for kernel-merge-window
Implementation:
Started
Milestone target:
milestone icon 3.11
Started by
Jakub Pavelek on 2013-05-13

Related branches

Sprints

Whiteboard

Meta:
Roadmap id: CARD-533
Headline: CONFIG_HAS_IOPORT Kconfig reworked
Acceptance:
 * accepted to mainline kernel
 * Git commit URL or hash logged here

[jakub-pavelek 2013-03-11] Targeting mainline 3.10 release
[jakub-pavelek 2013-04-25] Nothing done in 13.04, missed 3.10, moving along to 3.11 and 13.05

(?)

Work Items

Work items for 13.05:
rename CONFIG_HAS_IOPORT to CONFIG_HAS_IOPORT_MAP : INPROGRESS
introduce a new CONFIG_HAS_IOPORT : INPROGRESS
conditionalize __io() definition on CONFIG_HAS_IOPORT : INPROGRESS
mark ISA/PCI drivers as 'depends on CONFIG_HAS_IOPORT' : INPROGRESS
[arnd-arndb] fix 8250 driver to work without IOPORT : TODO
disable HAS_IOPORT for platforms that don't need it : TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.