Skip to content

Commit

Permalink
drm/nouveau/bar: tidy up the subdev and object class definitions
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Ben Skeggs committed Jan 23, 2014
1 parent ab60619 commit 5222555
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 25 deletions.
1 change: 1 addition & 0 deletions drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

#include <subdev/timer.h>
#include <subdev/bar.h>
#include <subdev/fb.h>
#include <subdev/vm.h>

#include <engine/dmaobj.h>
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

#include <subdev/timer.h>
#include <subdev/bar.h>
#include <subdev/fb.h>
#include <subdev/vm.h>

#include <engine/dmaobj.h>
Expand Down
23 changes: 1 addition & 22 deletions drivers/gpu/drm/nouveau/core/include/subdev/bar.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
#include <core/subdev.h>
#include <core/device.h>

#include <subdev/fb.h>

struct nouveau_mem;
struct nouveau_vma;

struct nouveau_bar {
Expand All @@ -29,27 +28,7 @@ nouveau_bar(void *obj)
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_BAR];
}

#define nouveau_bar_create(p,e,o,d) \
nouveau_bar_create_((p), (e), (o), sizeof(**d), (void **)d)
#define nouveau_bar_init(p) \
nouveau_subdev_init(&(p)->base)
#define nouveau_bar_fini(p,s) \
nouveau_subdev_fini(&(p)->base, (s))

int nouveau_bar_create_(struct nouveau_object *, struct nouveau_object *,
struct nouveau_oclass *, int, void **);
void nouveau_bar_destroy(struct nouveau_bar *);

void _nouveau_bar_dtor(struct nouveau_object *);
#define _nouveau_bar_init _nouveau_subdev_init
#define _nouveau_bar_fini _nouveau_subdev_fini

extern struct nouveau_oclass nv50_bar_oclass;
extern struct nouveau_oclass nvc0_bar_oclass;

int nouveau_bar_alloc(struct nouveau_bar *, struct nouveau_object *,
struct nouveau_mem *, struct nouveau_object **);

void nv84_bar_flush(struct nouveau_bar *);

#endif
6 changes: 5 additions & 1 deletion drivers/gpu/drm/nouveau/core/subdev/bar/base.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@
*/

#include <core/object.h>
#include <subdev/bar.h>

#include <subdev/fb.h>
#include <subdev/vm.h>

#include "priv.h"

struct nouveau_barobj {
struct nouveau_object base;
Expand Down
3 changes: 2 additions & 1 deletion drivers/gpu/drm/nouveau/core/subdev/bar/nv50.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,11 @@
#include <core/gpuobj.h>

#include <subdev/timer.h>
#include <subdev/bar.h>
#include <subdev/fb.h>
#include <subdev/vm.h>

#include "priv.h"

struct nv50_bar_priv {
struct nouveau_bar base;
spinlock_t lock;
Expand Down
3 changes: 2 additions & 1 deletion drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,11 @@
#include <core/gpuobj.h>

#include <subdev/timer.h>
#include <subdev/bar.h>
#include <subdev/fb.h>
#include <subdev/vm.h>

#include "priv.h"

struct nvc0_bar_priv {
struct nouveau_bar base;
spinlock_t lock;
Expand Down
26 changes: 26 additions & 0 deletions drivers/gpu/drm/nouveau/core/subdev/bar/priv.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#ifndef __NVKM_BAR_PRIV_H__
#define __NVKM_BAR_PRIV_H__

#include <subdev/bar.h>

#define nouveau_bar_create(p,e,o,d) \
nouveau_bar_create_((p), (e), (o), sizeof(**d), (void **)d)
#define nouveau_bar_init(p) \
nouveau_subdev_init(&(p)->base)
#define nouveau_bar_fini(p,s) \
nouveau_subdev_fini(&(p)->base, (s))

int nouveau_bar_create_(struct nouveau_object *, struct nouveau_object *,
struct nouveau_oclass *, int, void **);
void nouveau_bar_destroy(struct nouveau_bar *);

void _nouveau_bar_dtor(struct nouveau_object *);
#define _nouveau_bar_init _nouveau_subdev_init
#define _nouveau_bar_fini _nouveau_subdev_fini

int nouveau_bar_alloc(struct nouveau_bar *, struct nouveau_object *,
struct nouveau_mem *, struct nouveau_object **);

void nv84_bar_flush(struct nouveau_bar *);

#endif

0 comments on commit 5222555

Please sign in to comment.