Convert Platforms to ARCH_REQUIRE_GPIOLIB

Registered by Deepak Saxena on 2012-09-24

To facilitate in the building of a single kernel that boots across multiple platforms, all Linaro platforms need to be converted to use GPIOLIB instead of sub-arch specific GPIO APIs.

Blueprint information

Status:
Not started
Approver:
Deepak Saxena
Priority:
Undefined
Drafter:
Linus Walleij
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
Accepted for kernel-merge-window
Implementation:
Unknown
Milestone target:
milestone icon 3.11

Related branches

Sprints

Whiteboard

Meta:
Roadmap id: CARD-533
Headline: TODO
Acceptance: TODO

This includes registering a struct irq_chip for each GPIO driver.

This should only affect the "core" GPIO connected to the main CPU/SoC. GPIO expanders and similar typically already use gpiolib.

General way to find work to be done:
- cd arch/arm
- find .|grep gpio
- investigate

[jakub-pavelek 2013-04-08] Non-essential follow-up work, for secondary platforms.

(?)

Work Items

Work items:
Convert mach-omap1/gpio[15xx|16xx|7xx] to use GPIOLIB and move to drivers/gpio/gpio-omap1.c: TODO
Convert plat-orion/gpio.c to use GPIOLIB and move to drivers/gpio/gpio-orion.c: TODO
Convert mach-at91/gpio.c to use GPIOLIB and move to drivers/gpio/gpio-at91.c: TODO
Convert plat-iop/gpio.c to use GPIOLIB and move to drivers/gpio/gpio-iop.c: TODO
Merge mach-davinci/include/mach/gpio.h into drivers/gpio/gpio-davinci.c and get rid of custom accessors (may require Grants planned bitbang improvements): TODO
Move code contained in mach-davinci/include/mach/gpio-davinci.h to drivers/gpio/gpio-davinci.c and remnant platform data to <linux/platform_data/gpio-davinci.h>: TODO
Delete unecessary GPIO header mach-pxa/include/mach/gpio.h by making necessary changes in the kernel tree to get implicit includes explicit: TODO
Delete unecessary GPIO header mach-iop33x/include/mach/gpio.h by making necessary changes in the kernel tree to get implicit includes explicit: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.