Make machine_desc optional

Registered by Jakub Pavelek

As on arm64, we should be able to boot without a platform definition

There are currently 20 members in the machine_desc structure, most of which are already optional and do not need to get set by a platform. Based on kernel changes that went into linux-3.9 or are scheduled for 3.10, we can make all the other ones optional and provide default implementations.

Once all members have reasonable defaults that can work on DT enabled platforms,
we can make the machine_desc structure itself optional and allow a KVM guest or
qemu system to boot without having any machine_desc matching the "compatible" property of the root node. This lets us build a sensible "allnoconfig" and boot any
DT enabled kernel for any platform using qemu as long as we have the drivers.

Blueprint information

Status:
Started
Approver:
Deepak Saxena
Priority:
Medium
Drafter:
Jakub Pavelek
Direction:
Approved
Assignee:
Arnd Bergmann
Definition:
Approved
Series goal:
Accepted for kernel-merge-window
Implementation:
Good progress
Milestone target:
milestone icon 3.11
Started by
Jakub Pavelek

Related branches

Sprints

Whiteboard

Meta:
Roadmap id: CARD-533
Headline: machine_desc has been made optional
Acceptance:
 * merged to mainline
 * Git commit URL or hash logged here

[jakub-pavelek 2013-03-11] Targeting mainline 3.10 release
[jakub-pavelek 2013-05-07] Not 3.10 more likely 3.11

(?)

Work Items

Work items for 13.05:
add default smp_ops : DONE
[arnd] make all platform callbacks optional : DONE

Work items for backlog:
[arnd] remove the mach-virt platform again, by making it use all the defaults : TODO
ensure we can always boot on qemu with all platforms disabled : TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.