0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <linux/slab.h>
0010 #include "via_aux.h"
0011
0012
0013 static const char *name = "VT1632 DVI Transmitter";
0014
0015
0016 static void probe(struct via_aux_bus *bus, u8 addr)
0017 {
0018 struct via_aux_drv drv = {
0019 .bus = bus,
0020 .addr = addr,
0021 .name = name};
0022
0023 const u8 id[] = {0x06, 0x11, 0x92, 0x31}, len = ARRAY_SIZE(id);
0024 u8 tmp[ARRAY_SIZE(id)];
0025
0026 if (!via_aux_read(&drv, 0x00, tmp, len) || memcmp(id, tmp, len))
0027 return;
0028
0029 printk(KERN_INFO "viafb: Found %s at address 0x%x\n", name, addr);
0030 via_aux_add(&drv);
0031 }
0032
0033 void via_aux_vt1632_probe(struct via_aux_bus *bus)
0034 {
0035 u8 i;
0036
0037 for (i = 0x08; i <= 0x0F; i++)
0038 probe(bus, i);
0039 }