1#ifndef __NOUVEAU_SUBDEV_DEVICE_H__
2#define __NOUVEAU_SUBDEV_DEVICE_H__
3
4#include <core/device.h>
5
6struct platform_device;
7
8enum nv_bus_type {
9	NOUVEAU_BUS_PCI,
10	NOUVEAU_BUS_PLATFORM,
11};
12
13#define nouveau_device_create(p,t,n,s,c,d,u)                                   \
14	nouveau_device_create_((void *)(p), (t), (n), (s), (c), (d),           \
15			       sizeof(**u), (void **)u)
16
17int  nouveau_device_create_(void *, enum nv_bus_type type, u64 name,
18			    const char *sname, const char *cfg, const char *dbg,
19			    int, void **);
20
21int nv04_identify(struct nouveau_device *);
22int nv10_identify(struct nouveau_device *);
23int nv20_identify(struct nouveau_device *);
24int nv30_identify(struct nouveau_device *);
25int nv40_identify(struct nouveau_device *);
26int nv50_identify(struct nouveau_device *);
27int nvc0_identify(struct nouveau_device *);
28int nve0_identify(struct nouveau_device *);
29int gm100_identify(struct nouveau_device *);
30#endif
31