Revert "usb: typec: altmodes/displayport: Notify drm subsys of hotplug events"
This reverts commit f25a13d318
which is
commit 7f811394878535ed9a6849717de8c2959ae38899 upstream.
It breaks the android ABI and if this is needed in the future, can be
brought back in an abi-safe way.
Bug: 161946584
Change-Id: Ia85b72b88d6a6a5c0258a26c67484f367d724360
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -4,7 +4,6 @@ menu "USB Type-C Alternate Mode drivers"
|
||||
|
||||
config TYPEC_DP_ALTMODE
|
||||
tristate "DisplayPort Alternate Mode driver"
|
||||
depends on DRM
|
||||
help
|
||||
DisplayPort USB Type-C Alternate Mode allows DisplayPort
|
||||
displays and adapters to be attached to the USB Type-C
|
||||
|
@@ -11,10 +11,8 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/usb/pd_vdo.h>
|
||||
#include <linux/usb/typec_dp.h>
|
||||
#include <drm/drm_connector.h>
|
||||
#include "displayport.h"
|
||||
|
||||
#define DP_HEADER(_dp, ver, cmd) (VDO((_dp)->alt->svid, 1, ver, cmd) \
|
||||
@@ -59,13 +57,11 @@ struct dp_altmode {
|
||||
struct typec_displayport_data data;
|
||||
|
||||
enum dp_state state;
|
||||
bool hpd;
|
||||
|
||||
struct mutex lock; /* device lock */
|
||||
struct work_struct work;
|
||||
struct typec_altmode *alt;
|
||||
const struct typec_altmode *port;
|
||||
struct fwnode_handle *connector_fwnode;
|
||||
};
|
||||
|
||||
static int dp_altmode_notify(struct dp_altmode *dp)
|
||||
@@ -126,7 +122,6 @@ static int dp_altmode_configure(struct dp_altmode *dp, u8 con)
|
||||
static int dp_altmode_status_update(struct dp_altmode *dp)
|
||||
{
|
||||
bool configured = !!DP_CONF_GET_PIN_ASSIGN(dp->data.conf);
|
||||
bool hpd = !!(dp->data.status & DP_STATUS_HPD_STATE);
|
||||
u8 con = DP_STATUS_CONNECTION(dp->data.status);
|
||||
int ret = 0;
|
||||
|
||||
@@ -139,11 +134,6 @@ static int dp_altmode_status_update(struct dp_altmode *dp)
|
||||
ret = dp_altmode_configure(dp, con);
|
||||
if (!ret)
|
||||
dp->state = DP_STATE_CONFIGURE;
|
||||
} else {
|
||||
if (dp->hpd != hpd) {
|
||||
drm_connector_oob_hotplug_event(dp->connector_fwnode);
|
||||
dp->hpd = hpd;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -545,7 +535,6 @@ static const struct attribute_group dp_altmode_group = {
|
||||
int dp_altmode_probe(struct typec_altmode *alt)
|
||||
{
|
||||
const struct typec_altmode *port = typec_altmode_get_partner(alt);
|
||||
struct fwnode_handle *fwnode;
|
||||
struct dp_altmode *dp;
|
||||
int ret;
|
||||
|
||||
@@ -574,11 +563,6 @@ int dp_altmode_probe(struct typec_altmode *alt)
|
||||
alt->desc = "DisplayPort";
|
||||
alt->ops = &dp_altmode_ops;
|
||||
|
||||
fwnode = dev_fwnode(alt->dev.parent->parent); /* typec_port fwnode */
|
||||
dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
|
||||
if (IS_ERR(dp->connector_fwnode))
|
||||
dp->connector_fwnode = NULL;
|
||||
|
||||
typec_altmode_set_drvdata(alt, dp);
|
||||
|
||||
dp->state = DP_STATE_ENTER;
|
||||
@@ -594,13 +578,6 @@ void dp_altmode_remove(struct typec_altmode *alt)
|
||||
|
||||
sysfs_remove_group(&alt->dev.kobj, &dp_altmode_group);
|
||||
cancel_work_sync(&dp->work);
|
||||
|
||||
if (dp->connector_fwnode) {
|
||||
if (dp->hpd)
|
||||
drm_connector_oob_hotplug_event(dp->connector_fwnode);
|
||||
|
||||
fwnode_handle_put(dp->connector_fwnode);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dp_altmode_remove);
|
||||
|
||||
|
Reference in New Issue
Block a user