
Make msm_drm into single module and all child driver registers and unregisters are handled from parent's register and unregister respectively. Change-Id: I017513d1de3b6b25dd5543d7fa7741c0bac1740d Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org> Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org> Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
76 lines
1.9 KiB
C
76 lines
1.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _DP_USBPD_H_
|
|
#define _DP_USBPD_H_
|
|
|
|
#include <linux/types.h>
|
|
#include "dp_hpd.h"
|
|
|
|
struct device;
|
|
|
|
/**
|
|
* enum dp_usbpd_port - usb/dp port type
|
|
* @DP_USBPD_PORT_NONE: port not configured
|
|
* @DP_USBPD_PORT_UFP_D: Upstream Facing Port - DisplayPort
|
|
* @DP_USBPD_PORT_DFP_D: Downstream Facing Port - DisplayPort
|
|
* @DP_USBPD_PORT_D_UFP_D: Both UFP & DFP - DisplayPort
|
|
*/
|
|
|
|
enum dp_usbpd_port {
|
|
DP_USBPD_PORT_NONE,
|
|
DP_USBPD_PORT_UFP_D,
|
|
DP_USBPD_PORT_DFP_D,
|
|
DP_USBPD_PORT_D_UFP_D,
|
|
};
|
|
|
|
/**
|
|
* struct dp_usbpd - DisplayPort status
|
|
*
|
|
* @port: port configured
|
|
* @low_pow_st: low power state
|
|
* @adaptor_dp_en: adaptor functionality enabled
|
|
* @usb_config_req: request to switch to usb
|
|
* @exit_dp_mode: request exit from displayport mode
|
|
* @debug_en: bool to specify debug mode
|
|
*/
|
|
struct dp_usbpd {
|
|
struct dp_hpd base;
|
|
enum dp_usbpd_port port;
|
|
bool low_pow_st;
|
|
bool adaptor_dp_en;
|
|
bool usb_config_req;
|
|
bool exit_dp_mode;
|
|
bool debug_en;
|
|
};
|
|
|
|
#if IS_ENABLED(CONFIG_DRM_MSM_DP_USBPD_LEGACY)
|
|
/**
|
|
* dp_usbpd_get() - setup usbpd module
|
|
*
|
|
* @dev: device instance of the caller
|
|
* @cb: struct containing callback function pointers.
|
|
*
|
|
* This function allows the client to initialize the usbpd
|
|
* module. The module will communicate with usb driver and
|
|
* handles the power delivery (PD) communication with the
|
|
* sink/usb device. This module will notify the client using
|
|
* the callback functions about the connection and status.
|
|
*/
|
|
struct dp_hpd *dp_usbpd_get(struct device *dev, struct dp_hpd_cb *cb);
|
|
void dp_usbpd_put(struct dp_hpd *pd);
|
|
#else
|
|
static inline struct dp_hpd *dp_usbpd_get(struct device *dev,
|
|
struct dp_hpd_cb *cb)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static inline void dp_usbpd_put(struct dp_hpd *pd)
|
|
{
|
|
}
|
|
#endif /* CONFIG_DRM_MSM_DP_USBPD_LEGACY */
|
|
#endif /* _DP_USBPD_H_ */
|