Pincontrol GPIO range makeover
Refactor the pin control to GPIO mapping to use local GPIO controller number instead of mapping into the global GPIO space.
We have found that doing device trees is getting complicated if we register GPIO to pin ranges using the global GPIO numberspace references.
Ranges can be registered from pin controllers or GPIO controllers alike.
Blueprint information
- Status:
- Complete
- Approver:
- Deepak Saxena
- Priority:
- Medium
- Drafter:
- Linus Walleij
- Direction:
- Approved
- Assignee:
- Linus Walleij
- Definition:
- Approved
- Series goal:
- Accepted for kernel-merge-window
- Implementation:
- Implemented
- Milestone target:
- 3.8
- Started by
- Linus Walleij
- Completed by
- Jakub Pavelek
Whiteboard
Meta:
Roadmap id: KWG-MAINTENANCE
Headline: TODO
Acceptance: TODO
Shiraz Hashim from ST Microelectronics contributed a gpiolib range patch, this has now been merged upstream in the pinctrl subsystem:
http://
Work Items
Work items for 12.11:
Prepare a patch to register gpio ranges from the gpiolib: DONE
Merge the patch for gpio ranges from gpiolib to pinctrl tree: DONE
Merge the SPEAr plgpio driver as a DT example of ranges: DONE
Fix up a number of problems causing regressions on x86 (Nov 16): DONE
Fix the U300 gpiolib portions to register ranges as a non-DT example (Nov 20): DONE
Augment ranges to accept offsets into GPIOchip pin ranges: (Nov 20): DONE
Do other refactorings due to problems found during U300 deployment (Nov 21): DONE
Work items for 12.12:
Patches for the above merged into Torvald's mainline tree (Dec 12): DONE
Work items for backlog:
Review the SPEAr enablement patches: TODO
Convert the Nomadik pinctrl driver to register ranges from the GPIOchip side: TODO
Convert all other drivers to make range registration from the gpiolib side: TODO
Dependency tree
* Blueprints in grey have been implemented.