mbox series

[0/8] Allow link the it66121 display bridge driver as a lib

Message ID 20231114150130.497915-1-sui.jingfeng@linux.dev (mailing list archive)
Headers show
Series Allow link the it66121 display bridge driver as a lib | expand

Message

Sui Jingfeng Nov. 14, 2023, 3:01 p.m. UTC
From: Sui Jingfeng <suijingfeng@loongson.cn>

The goal is to make this driver usuable on non-DT based systems, while
without introduce duplication and preserve code sharing. The first seven
patch just doing trivial cleanup, the last patch try to solve the mentioned
problem by allowing static linking. Tested on a ACPI-based platform:

$ dmseg | grep drm

 ACPI: bus type drm_connector registered
 loongson 0000:00:06.1: [drm] dc: 264MHz, gmc: 529MHz, gpu: 529MHz
 loongson 0000:00:06.1: [drm] Dedicated vram start: 0xe0030000000, size: 64MiB
 loongson 0000:00:06.1: [drm] Loongson VBIOS version: 0.3
 loongson 0000:00:06.1: [drm] Loongson VBIOS: has 8 DCBs
 loongson 0000:00:06.1: [drm] VRAM: 4096 pages ready
 loongson 0000:00:06.1: [drm] GTT: 32768 pages ready
 loongson 0000:00:06.1: [drm] lsdc-i2c0(sda pin mask=1, scl pin mask=2) created
 loongson 0000:00:06.1: [drm] lsdc-i2c1(sda pin mask=4, scl pin mask=8) created
 loongson 0000:00:06.1: [drm] DisplayPipe-0 has DVO-0 connector
 i2c 1-004c: IT66121 probed, chip id: 0x4954:0x612, revision: 1
 loongson 0000:00:06.1: [drm] DisplayPipe-1 has IT66121@4c attached
 loongson 0000:00:06.1: [drm] Total 2 outputs
 loongson 0000:00:06.1: [drm] registered irq: 40
 [drm] Initialized loongson 1.0.0 20220701 for 0000:00:06.1 on minor 0
 loongson 0000:00:06.1: [drm] fb0: loongsondrmfb frame buffer device

Sui Jingfeng (8):
  drm/bridge: it66121: Use dev replace ctx->dev in the it66121_probe()
  drm/bridge: it66121: Add bridge_to_it66121() helper and use it
  drm/bridge: it66121: Add a helper function to read bus width
  drm/bridge: it66121: Add a helper function to get the next bridge
  drm/bridge: it66121: Add a helper function to read chip id
  drm/bridge: it66121: Add a helper to initialize the DRM bridge
    structure
  drm/bridge: it66121: Add another implementation for getting match data
  drm/bridge: it66121: Allow link this driver as a lib

 drivers/gpu/drm/bridge/ite-it66121.c | 340 +++++++++++++++++++--------
 include/drm/bridge/ite-it66121.h     |  17 ++
 2 files changed, 258 insertions(+), 99 deletions(-)
 create mode 100644 include/drm/bridge/ite-it66121.h