1*64b70da0SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later 2f7018c21STomi Valkeinen /* 3f7018c21STomi Valkeinen * Copyright 2011 Florian Tobias Schandinat <FlorianSchandinat@gmx.de> 4f7018c21STomi Valkeinen */ 5f7018c21STomi Valkeinen /* 6f7018c21STomi Valkeinen * driver for Chrontel CH7301 DVI Transmitter 7f7018c21STomi Valkeinen */ 8f7018c21STomi Valkeinen 9f7018c21STomi Valkeinen #include <linux/slab.h> 10f7018c21STomi Valkeinen #include "via_aux.h" 11f7018c21STomi Valkeinen 12f7018c21STomi Valkeinen 13f7018c21STomi Valkeinen static const char *name = "CH7301 DVI Transmitter"; 14f7018c21STomi Valkeinen 15f7018c21STomi Valkeinen 16f7018c21STomi Valkeinen static void probe(struct via_aux_bus *bus, u8 addr) 17f7018c21STomi Valkeinen { 18f7018c21STomi Valkeinen struct via_aux_drv drv = { 19f7018c21STomi Valkeinen .bus = bus, 20f7018c21STomi Valkeinen .addr = addr, 21f7018c21STomi Valkeinen .name = name}; 22f7018c21STomi Valkeinen u8 tmp; 23f7018c21STomi Valkeinen 24f7018c21STomi Valkeinen if (!via_aux_read(&drv, 0x4B, &tmp, 1) || tmp != 0x17) 25f7018c21STomi Valkeinen return; 26f7018c21STomi Valkeinen 27f7018c21STomi Valkeinen printk(KERN_INFO "viafb: Found %s at address 0x%x\n", name, addr); 28f7018c21STomi Valkeinen via_aux_add(&drv); 29f7018c21STomi Valkeinen } 30f7018c21STomi Valkeinen 31f7018c21STomi Valkeinen void via_aux_ch7301_probe(struct via_aux_bus *bus) 32f7018c21STomi Valkeinen { 33f7018c21STomi Valkeinen probe(bus, 0x75); 34f7018c21STomi Valkeinen probe(bus, 0x76); 35f7018c21STomi Valkeinen } 36