drm: Implement and use the Linux i2c API

Operating Systems / DragonFlyBSD - François Tigeot [wolfpond.org] - 27 October 2016 14:21 UTC

- This is mainly to the benefit of the drm/i915 driver

- Sync key portions of code with Linux 4.4

- Key drm functions using the DragonFly-specific iic(4) API have been copied and renamed with an _iic suffix

- The drm/radeon driver no longer being actively developed, the intent is to keep it functional with a frozen API

Thanks to Johannes Hofmann for figuring out we could live with a dummy default bit_xfer() implementation

9f4ca86 drm: Implement and use the Linux i2c API
sys/conf/files | 1 +
sys/dev/drm/drm/Makefile | 1 +
sys/dev/drm/drm_dp_helper.c | 110 ++++-
sys/dev/drm/drm_edid.c | 81 ++++
sys/dev/drm/i915/dvo_ch7017.c | 17 +-
sys/dev/drm/i915/dvo_ch7xxx.c | 27 +-
sys/dev/drm/i915/dvo_ivch.c | 22 +-
sys/dev/drm/i915/dvo_ns2501.c | 27 +-
sys/dev/drm/i915/dvo_sil164.c | 27 +-
sys/dev/drm/i915/dvo_tfp410.c | 27 +-
sys/dev/drm/i915/i915_drv.h | 25 +-
sys/dev/drm/i915/intel_dp.c | 142 +------
sys/dev/drm/i915/intel_i2c.c | 615 ++++++++-------------------
sys/dev/drm/i915/intel_sdvo.c | 159 ++-----
sys/dev/drm/include/drm/drm_crtc.h | 5 +
sys/dev/drm/include/drm/drm_dp_helper.h | 8 +-
sys/dev/drm/include/drm/drm_plane_helper.h | 2 -
sys/dev/drm/include/linux/device.h | 8 +
sys/dev/drm/include/linux/i2c-algo-bit.h | 46 ++
sys/dev/drm/include/linux/i2c.h | 29 +-
sys/dev/drm/include/linux/mod_devicetable.h | 4 +-
sys/dev/drm/include/uapi_linux/i2c.h | 89 ++++
sys/dev/drm/linux_i2c.c | 98 +++++
sys/dev/drm/radeon/radeon_connectors.c | 10 +-
24 files changed, 754 insertions(+), 826 deletions(-)

Upstream: gitweb.dragonflybsd.org


  • Share