mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
drm/nouveau/gpio: pass number of on-die gpio lines to base
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
23fc09ee09
commit
0f0800661a
5 changed files with 10 additions and 7 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue