drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.c
Extension
.c
Size
2407 bytes
Lines
74
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if (mask & (1 << i)) {
			if (!(data & (1 << i))) {
				temp &= ~(type << (i * 4));
				continue;
			}
			temp |= type << (i * 4);
		}
	}
	nvkm_wr32(device, 0x00e068, temp);
}

static const struct nvkm_i2c_func
g94_i2c = {
	.pad_x_new = g94_i2c_pad_x_new,
	.pad_s_new = g94_i2c_pad_s_new,
	.aux = 4,
	.aux_stat = g94_aux_stat,
	.aux_mask = g94_aux_mask,
};

int
g94_i2c_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst,
	    struct nvkm_i2c **pi2c)
{
	return nvkm_i2c_new_(&g94_i2c, device, type, inst, pi2c);
}

Annotation

Implementation Notes