via_aux_vt1636.c 676 B

12345678910111213141516171819202122232425262728293031
  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 VT1636 LVDS Transmitter
  7. */
  8. #include <linux/slab.h>
  9. #include "via_aux.h"
  10. static const char *name = "VT1636 LVDS Transmitter";
  11. void via_aux_vt1636_probe(struct via_aux_bus *bus)
  12. {
  13. struct via_aux_drv drv = {
  14. .bus = bus,
  15. .addr = 0x40,
  16. .name = name};
  17. /* check vendor id and device id */
  18. const u8 id[] = {0x06, 0x11, 0x45, 0x33}, len = ARRAY_SIZE(id);
  19. u8 tmp[ARRAY_SIZE(id)];
  20. if (!via_aux_read(&drv, 0x00, tmp, len) || memcmp(id, tmp, len))
  21. return;
  22. printk(KERN_INFO "viafb: Found %s\n", name);
  23. via_aux_add(&drv);
  24. }