drm: add drm_dev_alloc() helper

Instead of managing device allocation+initialization in each bus-driver,
we should do that in a central place. drm_fill_in_dev() already does most
of it, but also requires the global drm lock for partial AGP device
registration.

Split both apart so we have a clean device initialization/allocation
phase, and a registration phase.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
David Herrmann
2013-10-02 11:23:34 +02:00
committed by Dave Airlie
parent 16eb5f4379
commit 1bb72532ac
5 changed files with 80 additions and 57 deletions

View File

@@ -1643,6 +1643,8 @@ static __inline__ void drm_core_dropmap(struct drm_local_map *map)
extern int drm_fill_in_dev(struct drm_device *dev,
const struct pci_device_id *ent,
struct drm_driver *driver);
struct drm_device *drm_dev_alloc(struct drm_driver *driver,
struct device *parent);
int drm_get_minor(struct drm_device *dev, struct drm_minor **minor, int type);
/*@}*/