1 | // SPDX-License-Identifier: GPL-2.0-or-later |
2 | /* |
3 | * Copyright 2011 Florian Tobias Schandinat <FlorianSchandinat@gmx.de> |
4 | */ |
5 | /* |
6 | * driver for VIA VT1622(M) Digital TV Encoder |
7 | */ |
8 | |
9 | #include <linux/slab.h> |
10 | #include "via_aux.h" |
11 | |
12 | |
13 | static const char *name = "VT1622(M) Digital TV Encoder" ; |
14 | |
15 | |
16 | static void probe(struct via_aux_bus *bus, u8 addr) |
17 | { |
18 | struct via_aux_drv drv = { |
19 | .bus = bus, |
20 | .addr = addr, |
21 | .name = name}; |
22 | u8 tmp; |
23 | |
24 | if (!via_aux_read(drv: &drv, start: 0x1B, buf: &tmp, len: 1) || tmp != 0x03) |
25 | return; |
26 | |
27 | printk(KERN_INFO "viafb: Found %s at address 0x%x\n" , name, addr); |
28 | via_aux_add(drv: &drv); |
29 | } |
30 | |
31 | void via_aux_vt1622_probe(struct via_aux_bus *bus) |
32 | { |
33 | probe(bus, addr: 0x20); |
34 | probe(bus, addr: 0x21); |
35 | } |
36 | |