diff options
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/i2c/base.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c b/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c index 0dc605d..e5f1ffa 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c +++ b/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c @@ -494,8 +494,8 @@ nouveau_i2c_create_port(struct nouveau_i2c *i2c, int index, u8 type, oclass = impl->pad_x; } - ret = nouveau_object_ctor(NULL, nv_object(i2c), oclass, NULL, pad, - &parent); + ret = nouveau_object_ctor(nv_object(i2c), nv_object(i2c), oclass, + NULL, pad, &parent); if (ret < 0) return; diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h b/drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h index 452ac10..89aea46 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h +++ b/drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h @@ -14,7 +14,7 @@ static inline struct nvkm_i2c_pad * nvkm_i2c_pad(struct nouveau_i2c_port *port) { struct nouveau_object *pad = nv_object(port); - while (pad->parent) + while (!nv_iclass(pad->parent, NV_SUBDEV_CLASS)) pad = pad->parent; return (void *)pad; } |