Merge 5.10-rc4 into here.
We need the USB/Thunderbolt fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -238,4 +238,13 @@ void ucsi_unregister_port_psy(struct ucsi_connector *con)
|
||||
return;
|
||||
|
||||
power_supply_unregister(con->psy);
|
||||
con->psy = NULL;
|
||||
}
|
||||
|
||||
void ucsi_port_psy_changed(struct ucsi_connector *con)
|
||||
{
|
||||
if (IS_ERR_OR_NULL(con->psy))
|
||||
return;
|
||||
|
||||
power_supply_changed(con->psy);
|
||||
}
|
||||
|
||||
@@ -735,8 +735,10 @@ static void ucsi_handle_connector_change(struct work_struct *work)
|
||||
role = !!(con->status.flags & UCSI_CONSTAT_PWR_DIR);
|
||||
|
||||
if (con->status.change & UCSI_CONSTAT_POWER_OPMODE_CHANGE ||
|
||||
con->status.change & UCSI_CONSTAT_POWER_LEVEL_CHANGE)
|
||||
con->status.change & UCSI_CONSTAT_POWER_LEVEL_CHANGE) {
|
||||
ucsi_pwr_opmode_change(con);
|
||||
ucsi_port_psy_changed(con);
|
||||
}
|
||||
|
||||
if (con->status.change & UCSI_CONSTAT_POWER_DIR_CHANGE) {
|
||||
typec_set_pwr_role(con->port, role);
|
||||
@@ -766,6 +768,8 @@ static void ucsi_handle_connector_change(struct work_struct *work)
|
||||
ucsi_register_partner(con);
|
||||
else
|
||||
ucsi_unregister_partner(con);
|
||||
|
||||
ucsi_port_psy_changed(con);
|
||||
}
|
||||
|
||||
if (con->status.change & UCSI_CONSTAT_PARTNER_CHANGE)
|
||||
@@ -1079,6 +1083,7 @@ static int ucsi_register_port(struct ucsi *ucsi, int index)
|
||||
!!(con->status.flags & UCSI_CONSTAT_PWR_DIR));
|
||||
ucsi_pwr_opmode_change(con);
|
||||
ucsi_register_partner(con);
|
||||
ucsi_port_psy_changed(con);
|
||||
}
|
||||
|
||||
if (con->partner) {
|
||||
|
||||
@@ -342,9 +342,11 @@ int ucsi_resume(struct ucsi *ucsi);
|
||||
#if IS_ENABLED(CONFIG_POWER_SUPPLY)
|
||||
int ucsi_register_port_psy(struct ucsi_connector *con);
|
||||
void ucsi_unregister_port_psy(struct ucsi_connector *con);
|
||||
void ucsi_port_psy_changed(struct ucsi_connector *con);
|
||||
#else
|
||||
static inline int ucsi_register_port_psy(struct ucsi_connector *con) { return 0; }
|
||||
static inline void ucsi_unregister_port_psy(struct ucsi_connector *con) { }
|
||||
static inline void ucsi_port_psy_changed(struct ucsi_connector *con) { }
|
||||
#endif /* CONFIG_POWER_SUPPLY */
|
||||
|
||||
#if IS_ENABLED(CONFIG_TYPEC_DP_ALTMODE)
|
||||
|
||||
Reference in New Issue
Block a user