• Rafael Antognolli's avatar
    drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers. · e94cb37b
    Rafael Antognolli authored
    This module is heavily based on i2c-dev. Once loaded, it provides one
    dev node per DP AUX channel, named drm_dp_auxN, where N is an integer.
    
    It's possible to know which connector owns this aux channel by looking
    at the respective sysfs /sys/class/drm_aux_dev/drm_dp_auxN/connector, if
    the connector device pointer was correctly set in the aux helper struct.
    
    Two main operations are provided on the registers read and write. The
    address of the register to be read or written is given using lseek. The
    seek position is updated upon read or write.
    
    v2:
     - lseek is used to select the register to read/write
     - read/write are used instead of ioctl
     - no blocking_notifier is used, just a direct callback
    
    v3:
     - use drm_dp_aux_dev prefix for public functions
     - chardev is named drm_dp_auxN
     - read/write don't allocate a buffer anymore, and transfer up to 16 bytes a
       time
     - remove notifier list from the implementation
     - option on menuconfig is no...
    e94cb37b
drm_kms_helper_common.c 1.85 KB