drm/nouveau/i2c: start hiding subdev-internal interfaces
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
0bac987984
commit
c26fe84356
|
@ -61,7 +61,7 @@ gm100_identify(struct nouveau_device *device)
|
|||
device->cname = "GM107";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
#if 0
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
|
|
|
@ -47,7 +47,7 @@ nv04_identify(struct nouveau_device *device)
|
|||
case 0x04:
|
||||
device->cname = "NV04";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv04_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -65,7 +65,7 @@ nv04_identify(struct nouveau_device *device)
|
|||
case 0x05:
|
||||
device->cname = "NV05";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv05_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
|
|
@ -49,7 +49,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "NV10";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -66,7 +66,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "NV15";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -85,7 +85,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "NV16";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -104,7 +104,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "nForce";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -123,7 +123,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "NV11";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -142,7 +142,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "NV17";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -161,7 +161,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "nForce2";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -180,7 +180,7 @@ nv10_identify(struct nouveau_device *device)
|
|||
device->cname = "NV18";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
|
|
@ -50,7 +50,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->cname = "NV20";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -69,7 +69,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->cname = "NV25";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -88,7 +88,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->cname = "NV28";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -107,7 +107,7 @@ nv20_identify(struct nouveau_device *device)
|
|||
device->cname = "NV2A";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
|
|
@ -50,7 +50,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->cname = "NV30";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -69,7 +69,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->cname = "NV35";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -88,7 +88,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->cname = "NV31";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -108,7 +108,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->cname = "NV36";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv20_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
@ -128,7 +128,7 @@ nv30_identify(struct nouveau_device *device)
|
|||
device->cname = "NV34";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv04_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv10_devinit_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MC ] = nv04_mc_oclass;
|
||||
|
|
|
@ -54,7 +54,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV40";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -77,7 +77,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV41";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -100,7 +100,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV42";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -123,7 +123,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV43";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -146,7 +146,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV45";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -169,7 +169,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "G70";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -192,7 +192,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "G71";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -215,7 +215,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "G73";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -238,7 +238,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV44";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -261,7 +261,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "G72";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -284,7 +284,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "NV44A";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -307,7 +307,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "C61";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -330,7 +330,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "C51";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv4e_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv4e_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -353,7 +353,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "C73";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -376,7 +376,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "C67";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
@ -399,7 +399,7 @@ nv40_identify(struct nouveau_device *device)
|
|||
device->cname = "C68";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv10_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv04_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nv40_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv40_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_DEVINIT] = nv1a_devinit_oclass;
|
||||
|
|
|
@ -61,7 +61,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G80";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv50_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv50_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv50_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -86,7 +86,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G84";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv50_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -114,7 +114,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G86";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv50_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -142,7 +142,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G92";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -170,7 +170,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G94";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -198,7 +198,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G96";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -226,7 +226,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G98";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -254,7 +254,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "G200";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv50_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nv84_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -282,7 +282,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "MCP77/MCP78";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nvaa_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -310,7 +310,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "MCP79/MCP7A";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = nvaa_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nv84_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -338,7 +338,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "GT215";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -368,7 +368,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "GT216";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -397,7 +397,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "GT218";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -426,7 +426,7 @@ nv50_identify(struct nouveau_device *device)
|
|||
device->cname = "MCP89";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nva3_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
|
|
@ -61,7 +61,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF100";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -93,7 +93,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF104";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -125,7 +125,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF106";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -156,7 +156,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF114";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -188,7 +188,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF116";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -220,7 +220,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF108";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -251,7 +251,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF110";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nv92_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nv94_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nva3_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -283,7 +283,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF119";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nvd0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -314,7 +314,7 @@ nvc0_identify(struct nouveau_device *device)
|
|||
device->cname = "GF117";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nvd0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nvc0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
|
|
@ -61,7 +61,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->cname = "GK104";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -94,7 +94,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->cname = "GK107";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -127,7 +127,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->cname = "GK106";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -177,7 +177,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->cname = "GK110";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -210,7 +210,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->cname = "GK110B";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
@ -243,7 +243,7 @@ nve0_identify(struct nouveau_device *device)
|
|||
device->cname = "GK208";
|
||||
device->oclass[NVDEV_SUBDEV_VBIOS ] = &nouveau_bios_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_GPIO ] = nve0_gpio_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = &nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_I2C ] = nvd0_i2c_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_CLOCK ] = &nve0_clock_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_THERM ] = &nvd0_therm_oclass;
|
||||
device->oclass[NVDEV_SUBDEV_MXM ] = &nv50_mxm_oclass;
|
||||
|
|
|
@ -39,27 +39,6 @@ struct nouveau_i2c_func {
|
|||
int (*drv_ctl)(struct nouveau_i2c_port *, int lane, int sw, int pe);
|
||||
};
|
||||
|
||||
#define nouveau_i2c_port_create(p,e,o,i,a,f,d) \
|
||||
nouveau_i2c_port_create_((p), (e), (o), (i), (a), (f), \
|
||||
sizeof(**d), (void **)d)
|
||||
#define nouveau_i2c_port_destroy(p) ({ \
|
||||
struct nouveau_i2c_port *port = (p); \
|
||||
_nouveau_i2c_port_dtor(nv_object(i2c)); \
|
||||
})
|
||||
#define nouveau_i2c_port_init(p) \
|
||||
nouveau_object_init(&(p)->base)
|
||||
#define nouveau_i2c_port_fini(p,s) \
|
||||
nouveau_object_fini(&(p)->base, (s))
|
||||
|
||||
int nouveau_i2c_port_create_(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, u8,
|
||||
const struct i2c_algorithm *,
|
||||
const struct nouveau_i2c_func *,
|
||||
int, void **);
|
||||
void _nouveau_i2c_port_dtor(struct nouveau_object *);
|
||||
#define _nouveau_i2c_port_init nouveau_object_init
|
||||
#define _nouveau_i2c_port_fini nouveau_object_fini
|
||||
|
||||
struct nouveau_i2c_board_info {
|
||||
struct i2c_board_info dev;
|
||||
u8 udelay; /* set to 0 to use the standard delay */
|
||||
|
@ -83,37 +62,11 @@ nouveau_i2c(void *obj)
|
|||
return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_I2C];
|
||||
}
|
||||
|
||||
#define nouveau_i2c_create(p,e,o,s,d) \
|
||||
nouveau_i2c_create_((p), (e), (o), (s), sizeof(**d), (void **)d)
|
||||
#define nouveau_i2c_destroy(p) ({ \
|
||||
struct nouveau_i2c *i2c = (p); \
|
||||
_nouveau_i2c_dtor(nv_object(i2c)); \
|
||||
})
|
||||
#define nouveau_i2c_init(p) ({ \
|
||||
struct nouveau_i2c *i2c = (p); \
|
||||
_nouveau_i2c_init(nv_object(i2c)); \
|
||||
})
|
||||
#define nouveau_i2c_fini(p,s) ({ \
|
||||
struct nouveau_i2c *i2c = (p); \
|
||||
_nouveau_i2c_fini(nv_object(i2c), (s)); \
|
||||
})
|
||||
|
||||
int nouveau_i2c_create_(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, struct nouveau_oclass *,
|
||||
int, void **);
|
||||
void _nouveau_i2c_dtor(struct nouveau_object *);
|
||||
int _nouveau_i2c_init(struct nouveau_object *);
|
||||
int _nouveau_i2c_fini(struct nouveau_object *, bool);
|
||||
|
||||
extern struct nouveau_oclass nv04_i2c_oclass;
|
||||
extern struct nouveau_oclass nv4e_i2c_oclass;
|
||||
extern struct nouveau_oclass nv50_i2c_oclass;
|
||||
extern struct nouveau_oclass nv94_i2c_oclass;
|
||||
extern struct nouveau_oclass nvd0_i2c_oclass;
|
||||
extern struct nouveau_oclass nouveau_anx9805_sclass[];
|
||||
|
||||
extern const struct i2c_algorithm nouveau_i2c_bit_algo;
|
||||
extern const struct i2c_algorithm nouveau_i2c_aux_algo;
|
||||
extern struct nouveau_oclass *nv04_i2c_oclass;
|
||||
extern struct nouveau_oclass *nv4e_i2c_oclass;
|
||||
extern struct nouveau_oclass *nv50_i2c_oclass;
|
||||
extern struct nouveau_oclass *nv94_i2c_oclass;
|
||||
extern struct nouveau_oclass *nvd0_i2c_oclass;
|
||||
|
||||
static inline int
|
||||
nv_rdi2cr(struct nouveau_i2c_port *port, u8 addr, u8 reg)
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* Authors: Ben Skeggs <bskeggs@redhat.com>
|
||||
*/
|
||||
|
||||
#include <subdev/i2c.h>
|
||||
#include "priv.h"
|
||||
|
||||
struct anx9805_i2c_port {
|
||||
struct nouveau_i2c_port base;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include <subdev/i2c.h>
|
||||
#include "priv.h"
|
||||
|
||||
int
|
||||
nv_rdaux(struct nouveau_i2c_port *port, u32 addr, u8 *data, u8 size)
|
||||
|
|
|
@ -27,9 +27,10 @@
|
|||
#include <subdev/bios.h>
|
||||
#include <subdev/bios/dcb.h>
|
||||
#include <subdev/bios/i2c.h>
|
||||
#include <subdev/i2c.h>
|
||||
#include <subdev/vga.h>
|
||||
|
||||
#include "priv.h"
|
||||
|
||||
/******************************************************************************
|
||||
* interface to linux i2c bit-banging algorithm
|
||||
*****************************************************************************/
|
||||
|
@ -304,9 +305,9 @@ int
|
|||
nouveau_i2c_create_(struct nouveau_object *parent,
|
||||
struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass,
|
||||
struct nouveau_oclass *sclass,
|
||||
int length, void **pobject)
|
||||
{
|
||||
const struct nouveau_i2c_impl *impl = (void *)oclass;
|
||||
struct nouveau_bios *bios = nouveau_bios(parent);
|
||||
struct nouveau_i2c *i2c;
|
||||
struct nouveau_object *object;
|
||||
|
@ -331,7 +332,7 @@ nouveau_i2c_create_(struct nouveau_object *parent,
|
|||
if (info.type == DCB_I2C_UNUSED)
|
||||
continue;
|
||||
|
||||
oclass = sclass;
|
||||
oclass = impl->sclass;
|
||||
do {
|
||||
ret = -EINVAL;
|
||||
if (oclass->handle == info.type) {
|
||||
|
@ -380,3 +381,19 @@ nouveau_i2c_create_(struct nouveau_object *parent,
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
_nouveau_i2c_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nouveau_i2c *i2c;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_i2c_create(parent, engine, oclass, &i2c);
|
||||
*pobject = nv_object(i2c);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include "subdev/i2c.h"
|
||||
#include "priv.h"
|
||||
|
||||
#ifdef CONFIG_NOUVEAU_I2C_INTERNAL
|
||||
#define T_TIMEOUT 2200000
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include <subdev/i2c.h>
|
||||
#include <subdev/vga.h>
|
||||
|
||||
#include "priv.h"
|
||||
|
||||
struct nv04_i2c_priv {
|
||||
struct nouveau_i2c base;
|
||||
};
|
||||
|
@ -115,29 +116,14 @@ nv04_i2c_sclass[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int
|
||||
nv04_i2c_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv04_i2c_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_i2c_create(parent, engine, oclass, nv04_i2c_sclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv04_i2c_oclass = {
|
||||
.handle = NV_SUBDEV(I2C, 0x04),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv04_i2c_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv04_i2c_oclass = &(struct nouveau_i2c_impl) {
|
||||
.base.handle = NV_SUBDEV(I2C, 0x04),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = _nouveau_i2c_ctor,
|
||||
.dtor = _nouveau_i2c_dtor,
|
||||
.init = _nouveau_i2c_init,
|
||||
.fini = _nouveau_i2c_fini,
|
||||
},
|
||||
};
|
||||
.sclass = nv04_i2c_sclass,
|
||||
}.base;
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
* Authors: Ben Skeggs
|
||||
*/
|
||||
|
||||
#include <subdev/i2c.h>
|
||||
#include <subdev/vga.h>
|
||||
|
||||
#include "priv.h"
|
||||
|
||||
struct nv4e_i2c_priv {
|
||||
struct nouveau_i2c base;
|
||||
};
|
||||
|
@ -107,29 +108,14 @@ nv4e_i2c_sclass[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int
|
||||
nv4e_i2c_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv4e_i2c_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_i2c_create(parent, engine, oclass, nv4e_i2c_sclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv4e_i2c_oclass = {
|
||||
.handle = NV_SUBDEV(I2C, 0x4e),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv4e_i2c_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv4e_i2c_oclass = &(struct nouveau_i2c_impl) {
|
||||
.base.handle = NV_SUBDEV(I2C, 0x4e),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = _nouveau_i2c_ctor,
|
||||
.dtor = _nouveau_i2c_dtor,
|
||||
.init = _nouveau_i2c_init,
|
||||
.fini = _nouveau_i2c_fini,
|
||||
},
|
||||
};
|
||||
.sclass = nv4e_i2c_sclass,
|
||||
}.base;
|
||||
|
|
|
@ -121,29 +121,14 @@ nv50_i2c_sclass[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int
|
||||
nv50_i2c_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv50_i2c_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_i2c_create(parent, engine, oclass, nv50_i2c_sclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv50_i2c_oclass = {
|
||||
.handle = NV_SUBDEV(I2C, 0x50),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv50_i2c_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv50_i2c_oclass = &(struct nouveau_i2c_impl) {
|
||||
.base.handle = NV_SUBDEV(I2C, 0x50),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = _nouveau_i2c_ctor,
|
||||
.dtor = _nouveau_i2c_dtor,
|
||||
.init = _nouveau_i2c_init,
|
||||
.fini = _nouveau_i2c_fini,
|
||||
},
|
||||
};
|
||||
.sclass = nv50_i2c_sclass,
|
||||
}.base;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef __NV50_I2C_H__
|
||||
#define __NV50_I2C_H__
|
||||
|
||||
#include <subdev/i2c.h>
|
||||
#include "priv.h"
|
||||
|
||||
struct nv50_i2c_priv {
|
||||
struct nouveau_i2c base;
|
||||
|
|
|
@ -262,29 +262,14 @@ nv94_i2c_sclass[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int
|
||||
nv94_i2c_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv50_i2c_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_i2c_create(parent, engine, oclass, nv94_i2c_sclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nv94_i2c_oclass = {
|
||||
.handle = NV_SUBDEV(I2C, 0x94),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nv94_i2c_ctor,
|
||||
struct nouveau_oclass *
|
||||
nv94_i2c_oclass = &(struct nouveau_i2c_impl) {
|
||||
.base.handle = NV_SUBDEV(I2C, 0x94),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = _nouveau_i2c_ctor,
|
||||
.dtor = _nouveau_i2c_dtor,
|
||||
.init = _nouveau_i2c_init,
|
||||
.fini = _nouveau_i2c_fini,
|
||||
},
|
||||
};
|
||||
.sclass = nv94_i2c_sclass,
|
||||
}.base;
|
||||
|
|
|
@ -96,29 +96,14 @@ nvd0_i2c_sclass[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static int
|
||||
nvd0_i2c_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
|
||||
struct nouveau_oclass *oclass, void *data, u32 size,
|
||||
struct nouveau_object **pobject)
|
||||
{
|
||||
struct nv50_i2c_priv *priv;
|
||||
int ret;
|
||||
|
||||
ret = nouveau_i2c_create(parent, engine, oclass, nvd0_i2c_sclass, &priv);
|
||||
*pobject = nv_object(priv);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct nouveau_oclass
|
||||
nvd0_i2c_oclass = {
|
||||
.handle = NV_SUBDEV(I2C, 0xd0),
|
||||
.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = nvd0_i2c_ctor,
|
||||
struct nouveau_oclass *
|
||||
nvd0_i2c_oclass = &(struct nouveau_i2c_impl) {
|
||||
.base.handle = NV_SUBDEV(I2C, 0xd0),
|
||||
.base.ofuncs = &(struct nouveau_ofuncs) {
|
||||
.ctor = _nouveau_i2c_ctor,
|
||||
.dtor = _nouveau_i2c_dtor,
|
||||
.init = _nouveau_i2c_init,
|
||||
.fini = _nouveau_i2c_fini,
|
||||
},
|
||||
};
|
||||
.sclass = nvd0_i2c_sclass,
|
||||
}.base;
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
#ifndef __NVKM_I2C_H__
|
||||
#define __NVKM_I2C_H__
|
||||
|
||||
#include <subdev/i2c.h>
|
||||
|
||||
#define nouveau_i2c_port_create(p,e,o,i,a,f,d) \
|
||||
nouveau_i2c_port_create_((p), (e), (o), (i), (a), (f), \
|
||||
sizeof(**d), (void **)d)
|
||||
#define nouveau_i2c_port_destroy(p) ({ \
|
||||
struct nouveau_i2c_port *port = (p); \
|
||||
_nouveau_i2c_port_dtor(nv_object(i2c)); \
|
||||
})
|
||||
#define nouveau_i2c_port_init(p) \
|
||||
nouveau_object_init(&(p)->base)
|
||||
#define nouveau_i2c_port_fini(p,s) \
|
||||
nouveau_object_fini(&(p)->base, (s))
|
||||
|
||||
int nouveau_i2c_port_create_(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, u8,
|
||||
const struct i2c_algorithm *,
|
||||
const struct nouveau_i2c_func *,
|
||||
int, void **);
|
||||
void _nouveau_i2c_port_dtor(struct nouveau_object *);
|
||||
#define _nouveau_i2c_port_init nouveau_object_init
|
||||
#define _nouveau_i2c_port_fini nouveau_object_fini
|
||||
|
||||
#define nouveau_i2c_create(p,e,o,d) \
|
||||
nouveau_i2c_create_((p), (e), (o), sizeof(**d), (void **)d)
|
||||
#define nouveau_i2c_destroy(p) ({ \
|
||||
struct nouveau_i2c *i2c = (p); \
|
||||
_nouveau_i2c_dtor(nv_object(i2c)); \
|
||||
})
|
||||
#define nouveau_i2c_init(p) ({ \
|
||||
struct nouveau_i2c *i2c = (p); \
|
||||
_nouveau_i2c_init(nv_object(i2c)); \
|
||||
})
|
||||
#define nouveau_i2c_fini(p,s) ({ \
|
||||
struct nouveau_i2c *i2c = (p); \
|
||||
_nouveau_i2c_fini(nv_object(i2c), (s)); \
|
||||
})
|
||||
|
||||
int nouveau_i2c_create_(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, int, void **);
|
||||
int _nouveau_i2c_ctor(struct nouveau_object *, struct nouveau_object *,
|
||||
struct nouveau_oclass *, void *, u32,
|
||||
struct nouveau_object **);
|
||||
void _nouveau_i2c_dtor(struct nouveau_object *);
|
||||
int _nouveau_i2c_init(struct nouveau_object *);
|
||||
int _nouveau_i2c_fini(struct nouveau_object *, bool);
|
||||
|
||||
extern struct nouveau_oclass nouveau_anx9805_sclass[];
|
||||
|
||||
extern const struct i2c_algorithm nouveau_i2c_bit_algo;
|
||||
extern const struct i2c_algorithm nouveau_i2c_aux_algo;
|
||||
|
||||
struct nouveau_i2c_impl {
|
||||
struct nouveau_oclass base;
|
||||
struct nouveau_oclass *sclass;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue