mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-27 04:54:41 +08:00
drm/nouveau/subdev: always upcast through nouveau_subdev()/nouveau_engine()
Has additional safeties for one. For two, needed for an upcoming commit that removes abuse of nouveau_object.engine. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
4534a2af58
commit
2f4a58e852
@ -18,7 +18,7 @@ struct nouveau_disp {
|
|||||||
static inline struct nouveau_disp *
|
static inline struct nouveau_disp *
|
||||||
nouveau_disp(void *obj)
|
nouveau_disp(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_DISP];
|
return (void *)nouveau_engine(obj, NVDEV_ENGINE_DISP);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv04_disp_oclass;
|
extern struct nouveau_oclass *nv04_disp_oclass;
|
||||||
|
@ -85,7 +85,7 @@ struct nouveau_fifo {
|
|||||||
static inline struct nouveau_fifo *
|
static inline struct nouveau_fifo *
|
||||||
nouveau_fifo(void *obj)
|
nouveau_fifo(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_FIFO];
|
return (void *)nouveau_engine(obj, NVDEV_ENGINE_FIFO);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_fifo_create(o,e,c,fc,lc,d) \
|
#define nouveau_fifo_create(o,e,c,fc,lc,d) \
|
||||||
|
@ -35,7 +35,7 @@ struct nouveau_graph {
|
|||||||
static inline struct nouveau_graph *
|
static inline struct nouveau_graph *
|
||||||
nouveau_graph(void *obj)
|
nouveau_graph(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_GR];
|
return (void *)nouveau_engine(obj, NVDEV_ENGINE_GR);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_graph_create(p,e,c,y,d) \
|
#define nouveau_graph_create(p,e,c,y,d) \
|
||||||
|
@ -24,7 +24,7 @@ struct nouveau_perfmon {
|
|||||||
static inline struct nouveau_perfmon *
|
static inline struct nouveau_perfmon *
|
||||||
nouveau_perfmon(void *obj)
|
nouveau_perfmon(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_ENGINE_PERFMON];
|
return (void *)nouveau_engine(obj, NVDEV_ENGINE_PERFMON);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv40_perfmon_oclass;
|
extern struct nouveau_oclass *nv40_perfmon_oclass;
|
||||||
|
@ -27,7 +27,7 @@ struct nouveau_bar {
|
|||||||
static inline struct nouveau_bar *
|
static inline struct nouveau_bar *
|
||||||
nouveau_bar(void *obj)
|
nouveau_bar(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_BAR];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_BAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass nv50_bar_oclass;
|
extern struct nouveau_oclass nv50_bar_oclass;
|
||||||
|
@ -24,7 +24,7 @@ struct nouveau_bios {
|
|||||||
static inline struct nouveau_bios *
|
static inline struct nouveau_bios *
|
||||||
nouveau_bios(void *obj)
|
nouveau_bios(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_VBIOS];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_VBIOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 nvbios_checksum(const u8 *data, int size);
|
u8 nvbios_checksum(const u8 *data, int size);
|
||||||
|
@ -18,7 +18,7 @@ struct nouveau_bus {
|
|||||||
static inline struct nouveau_bus *
|
static inline struct nouveau_bus *
|
||||||
nouveau_bus(void *obj)
|
nouveau_bus(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_BUS];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_BUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_bus_create(p, e, o, d) \
|
#define nouveau_bus_create(p, e, o, d) \
|
||||||
|
@ -104,7 +104,7 @@ struct nouveau_clock {
|
|||||||
static inline struct nouveau_clock *
|
static inline struct nouveau_clock *
|
||||||
nouveau_clock(void *obj)
|
nouveau_clock(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_CLOCK];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_CLOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct nouveau_clocks {
|
struct nouveau_clocks {
|
||||||
|
@ -15,7 +15,7 @@ struct nouveau_devinit {
|
|||||||
static inline struct nouveau_devinit *
|
static inline struct nouveau_devinit *
|
||||||
nouveau_devinit(void *obj)
|
nouveau_devinit(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_DEVINIT];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_DEVINIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv04_devinit_oclass;
|
extern struct nouveau_oclass *nv04_devinit_oclass;
|
||||||
|
@ -80,7 +80,7 @@ nouveau_fb(void *obj)
|
|||||||
nv_subidx(obj) == NVDEV_SUBDEV_FB)
|
nv_subidx(obj) == NVDEV_SUBDEV_FB)
|
||||||
return obj;
|
return obj;
|
||||||
|
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_FB];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_FB);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv04_fb_oclass;
|
extern struct nouveau_oclass *nv04_fb_oclass;
|
||||||
|
@ -11,7 +11,7 @@ struct nouveau_fuse {
|
|||||||
static inline struct nouveau_fuse *
|
static inline struct nouveau_fuse *
|
||||||
nouveau_fuse(void *obj)
|
nouveau_fuse(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_FUSE];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_FUSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_fuse_create(p, e, o, d) \
|
#define nouveau_fuse_create(p, e, o, d) \
|
||||||
|
@ -35,7 +35,7 @@ struct nouveau_gpio {
|
|||||||
static inline struct nouveau_gpio *
|
static inline struct nouveau_gpio *
|
||||||
nouveau_gpio(void *obj)
|
nouveau_gpio(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_GPIO];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_GPIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv10_gpio_oclass;
|
extern struct nouveau_oclass *nv10_gpio_oclass;
|
||||||
|
@ -81,7 +81,7 @@ struct nouveau_i2c {
|
|||||||
static inline struct nouveau_i2c *
|
static inline struct nouveau_i2c *
|
||||||
nouveau_i2c(void *obj)
|
nouveau_i2c(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_I2C];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_I2C);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv04_i2c_oclass;
|
extern struct nouveau_oclass *nv04_i2c_oclass;
|
||||||
|
@ -11,7 +11,7 @@ struct nouveau_ibus {
|
|||||||
static inline struct nouveau_ibus *
|
static inline struct nouveau_ibus *
|
||||||
nouveau_ibus(void *obj)
|
nouveau_ibus(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_IBUS];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_IBUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_ibus_create(p,e,o,d) \
|
#define nouveau_ibus_create(p,e,o,d) \
|
||||||
|
@ -42,7 +42,7 @@ nouveau_instmem(void *obj)
|
|||||||
nv_subidx(obj) == NVDEV_SUBDEV_INSTMEM)
|
nv_subidx(obj) == NVDEV_SUBDEV_INSTMEM)
|
||||||
return obj;
|
return obj;
|
||||||
|
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_INSTMEM];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_INSTMEM);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv04_instmem_oclass;
|
extern struct nouveau_oclass *nv04_instmem_oclass;
|
||||||
|
@ -25,7 +25,7 @@ struct nouveau_ltc {
|
|||||||
static inline struct nouveau_ltc *
|
static inline struct nouveau_ltc *
|
||||||
nouveau_ltc(void *obj)
|
nouveau_ltc(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_LTC];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_LTC);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *gf100_ltc_oclass;
|
extern struct nouveau_oclass *gf100_ltc_oclass;
|
||||||
|
@ -14,7 +14,7 @@ struct nouveau_mc {
|
|||||||
static inline struct nouveau_mc *
|
static inline struct nouveau_mc *
|
||||||
nouveau_mc(void *obj)
|
nouveau_mc(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_MC];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_MC);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nv04_mc_oclass;
|
extern struct nouveau_oclass *nv04_mc_oclass;
|
||||||
|
@ -15,7 +15,7 @@ struct nouveau_mxm {
|
|||||||
static inline struct nouveau_mxm *
|
static inline struct nouveau_mxm *
|
||||||
nouveau_mxm(void *obj)
|
nouveau_mxm(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_MXM];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_MXM);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_mxm_create(p,e,o,d) \
|
#define nouveau_mxm_create(p,e,o,d) \
|
||||||
|
@ -30,7 +30,7 @@ struct nouveau_pwr {
|
|||||||
static inline struct nouveau_pwr *
|
static inline struct nouveau_pwr *
|
||||||
nouveau_pwr(void *obj)
|
nouveau_pwr(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_PWR];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_PWR);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct nouveau_oclass *nva3_pwr_oclass;
|
extern struct nouveau_oclass *nva3_pwr_oclass;
|
||||||
|
@ -47,7 +47,7 @@ struct nouveau_therm {
|
|||||||
static inline struct nouveau_therm *
|
static inline struct nouveau_therm *
|
||||||
nouveau_therm(void *obj)
|
nouveau_therm(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_THERM];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_THERM);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_therm_create(p,e,o,d) \
|
#define nouveau_therm_create(p,e,o,d) \
|
||||||
|
@ -42,7 +42,7 @@ struct nouveau_timer {
|
|||||||
static inline struct nouveau_timer *
|
static inline struct nouveau_timer *
|
||||||
nouveau_timer(void *obj)
|
nouveau_timer(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_TIMER];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_TIMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_timer_create(p,e,o,d) \
|
#define nouveau_timer_create(p,e,o,d) \
|
||||||
|
@ -91,7 +91,7 @@ struct nouveau_vmmgr {
|
|||||||
static inline struct nouveau_vmmgr *
|
static inline struct nouveau_vmmgr *
|
||||||
nouveau_vmmgr(void *obj)
|
nouveau_vmmgr(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_VM];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_VM);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_vmmgr_create(p,e,o,i,f,d) \
|
#define nouveau_vmmgr_create(p,e,o,i,f,d) \
|
||||||
|
@ -29,7 +29,7 @@ struct nouveau_volt {
|
|||||||
static inline struct nouveau_volt *
|
static inline struct nouveau_volt *
|
||||||
nouveau_volt(void *obj)
|
nouveau_volt(void *obj)
|
||||||
{
|
{
|
||||||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_VOLT];
|
return (void *)nouveau_subdev(obj, NVDEV_SUBDEV_VOLT);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nouveau_volt_create(p, e, o, d) \
|
#define nouveau_volt_create(p, e, o, d) \
|
||||||
|
Loading…
Reference in New Issue
Block a user