From 1cc2d56eafc04cb7cef9405360157280e964e487 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Mon, 4 Feb 2013 07:08:20 +1000 Subject: [PATCH] --- yaml --- r: 358288 b: refs/heads/master c: 0f0800661a125ddb038462570c869fe6f8ab5737 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/nouveau/core/include/subdev/gpio.h | 6 +++--- trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/base.c | 3 ++- trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c | 2 +- trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c | 4 +++- trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c | 2 +- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 82dac2543b85..635b5f6a3fe7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 23fc09ee09c3b8f904a2220c7f71b2ff04e91219 +refs/heads/master: 0f0800661a125ddb038462570c869fe6f8ab5737 diff --git a/trunk/drivers/gpu/drm/nouveau/core/include/subdev/gpio.h b/trunk/drivers/gpu/drm/nouveau/core/include/subdev/gpio.h index b75e8f18e52c..43cd20521a94 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/include/subdev/gpio.h +++ b/trunk/drivers/gpu/drm/nouveau/core/include/subdev/gpio.h @@ -40,15 +40,15 @@ nouveau_gpio(void *obj) return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_GPIO]; } -#define nouveau_gpio_create(p,e,o,d) \ - nouveau_gpio_create_((p), (e), (o), sizeof(**d), (void **)d) +#define nouveau_gpio_create(p,e,o,l,d) \ + nouveau_gpio_create_((p), (e), (o), (l), sizeof(**d), (void **)d) #define nouveau_gpio_destroy(p) \ nouveau_subdev_destroy(&(p)->base) #define nouveau_gpio_fini(p,s) \ nouveau_subdev_fini(&(p)->base, (s)) int nouveau_gpio_create_(struct nouveau_object *, struct nouveau_object *, - struct nouveau_oclass *, int, void **); + struct nouveau_oclass *, int, int, void **); int nouveau_gpio_init(struct nouveau_gpio *); extern struct nouveau_oclass nv10_gpio_oclass; diff --git a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/base.c b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/base.c index 9fb0f9b92d49..6f574fdc27c1 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/base.c +++ b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/base.c @@ -230,7 +230,8 @@ nouveau_gpio_isr_del(struct nouveau_gpio *gpio, int idx, u8 tag, u8 line, int nouveau_gpio_create_(struct nouveau_object *parent, struct nouveau_object *engine, - struct nouveau_oclass *oclass, int length, void **pobject) + struct nouveau_oclass *oclass, int lines, + int length, void **pobject) { struct nouveau_gpio *gpio; int ret; diff --git a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c index 3bed67aac306..cf38d2a1d7f1 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c +++ b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c @@ -112,7 +112,7 @@ nv10_gpio_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nv10_gpio_priv *priv; int ret; - ret = nouveau_gpio_create(parent, engine, oclass, &priv); + ret = nouveau_gpio_create(parent, engine, oclass, 16, &priv); *pobject = nv_object(priv); if (ret) return ret; diff --git a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c index bf13a1200f26..dd022a5787b6 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c +++ b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c @@ -132,7 +132,9 @@ nv50_gpio_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nv50_gpio_priv *priv; int ret; - ret = nouveau_gpio_create(parent, engine, oclass, &priv); + ret = nouveau_gpio_create(parent, engine, oclass, + nv_device(parent)->chipset >= 0x90 ? 32 : 16, + &priv); *pobject = nv_object(priv); if (ret) return ret; diff --git a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c index 83e8b8f16e6a..bc74199259a2 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c +++ b/trunk/drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c @@ -80,7 +80,7 @@ nvd0_gpio_ctor(struct nouveau_object *parent, struct nouveau_object *engine, struct nvd0_gpio_priv *priv; int ret; - ret = nouveau_gpio_create(parent, engine, oclass, &priv); + ret = nouveau_gpio_create(parent, engine, oclass, 32, &priv); *pobject = nv_object(priv); if (ret) return ret;