linux/drivers/video/fbdev/via/via_aux_vt1632.c
<<
>>
Prefs
   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 VT1632 DVI Transmitter
   7 */
   8
   9#include <linux/slab.h>
  10#include "via_aux.h"
  11
  12
  13static const char *name = "VT1632 DVI Transmitter";
  14
  15
  16static 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        /* check vendor id and device id */
  23        const u8 id[] = {0x06, 0x11, 0x92, 0x31}, len = ARRAY_SIZE(id);
  24        u8 tmp[ARRAY_SIZE(id)];
  25
  26        if (!via_aux_read(&drv, 0x00, tmp, len) || memcmp(id, tmp, len))
  27                return;
  28
  29        printk(KERN_INFO "viafb: Found %s at address 0x%x\n", name, addr);
  30        via_aux_add(&drv);
  31}
  32
  33void via_aux_vt1632_probe(struct via_aux_bus *bus)
  34{
  35        u8 i;
  36
  37        for (i = 0x08; i <= 0x0F; i++)
  38                probe(bus, i);
  39}
  40