diff --git a/drivers/net/wireless/cnss2/bus.c b/drivers/net/wireless/cnss2/bus.c index a573842be6c2..d48c4d0ac40c 100644 --- a/drivers/net/wireless/cnss2/bus.c +++ b/drivers/net/wireless/cnss2/bus.c @@ -457,6 +457,23 @@ int cnss_bus_update_status(struct cnss_plat_data *plat_priv, } } +int cnss_bus_update_uevent(struct cnss_plat_data *plat_priv, + enum cnss_driver_status status, void *data) +{ + if (!plat_priv) + return -ENODEV; + + switch (plat_priv->bus_type) { + case CNSS_BUS_PCI: + return cnss_pci_call_driver_uevent(plat_priv->bus_priv, + status, data); + default: + cnss_pr_err("Unsupported bus type: %d\n", + plat_priv->bus_type); + return -EINVAL; + } +} + int cnss_bus_is_device_down(struct cnss_plat_data *plat_priv) { if (!plat_priv) diff --git a/drivers/net/wireless/cnss2/bus.h b/drivers/net/wireless/cnss2/bus.h index 09346b088cda..716e242cb70b 100644 --- a/drivers/net/wireless/cnss2/bus.h +++ b/drivers/net/wireless/cnss2/bus.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. */ +/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. */ #ifndef _CNSS_BUS_H #define _CNSS_BUS_H @@ -54,6 +54,8 @@ int cnss_bus_call_driver_modem_status(struct cnss_plat_data *plat_priv, int modem_current_status); int cnss_bus_update_status(struct cnss_plat_data *plat_priv, enum cnss_driver_status status); +int cnss_bus_update_uevent(struct cnss_plat_data *plat_priv, + enum cnss_driver_status status, void *data); int cnss_bus_is_device_down(struct cnss_plat_data *plat_priv); int cnss_bus_check_link_status(struct cnss_plat_data *plat_priv); int cnss_bus_recover_link_down(struct cnss_plat_data *plat_priv); diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c index 9490a2597014..1f483b3a0a54 100644 --- a/drivers/net/wireless/cnss2/pci.c +++ b/drivers/net/wireless/cnss2/pci.c @@ -4754,8 +4754,8 @@ static void cnss_pci_remove_dump_seg(struct cnss_pci_data *pci_priv, cnss_minidump_remove_region(plat_priv, type, seg_no, va, pa, size); } -int cnss_call_driver_uevent(struct cnss_pci_data *pci_priv, - enum cnss_driver_status status, void *data) +int cnss_pci_call_driver_uevent(struct cnss_pci_data *pci_priv, + enum cnss_driver_status status, void *data) { struct cnss_uevent_data uevent_data; struct cnss_wlan_driver *driver_ops; @@ -4816,7 +4816,7 @@ static void cnss_pci_send_hang_event(struct cnss_pci_data *pci_priv) } } - cnss_call_driver_uevent(pci_priv, CNSS_HANG_EVENT, &hang_event); + cnss_pci_call_driver_uevent(pci_priv, CNSS_HANG_EVENT, &hang_event); kfree(hang_event.hang_event_data); hang_event.hang_event_data = NULL; diff --git a/drivers/net/wireless/cnss2/pci.h b/drivers/net/wireless/cnss2/pci.h index 0effa8a5e5f9..7d2ce1b5e606 100644 --- a/drivers/net/wireless/cnss2/pci.h +++ b/drivers/net/wireless/cnss2/pci.h @@ -236,8 +236,8 @@ void cnss_pci_pm_runtime_put_noidle(struct cnss_pci_data *pci_priv, void cnss_pci_pm_runtime_mark_last_busy(struct cnss_pci_data *pci_priv); int cnss_pci_update_status(struct cnss_pci_data *pci_priv, enum cnss_driver_status status); -int cnss_call_driver_uevent(struct cnss_pci_data *pci_priv, - enum cnss_driver_status status, void *data); +int cnss_pci_call_driver_uevent(struct cnss_pci_data *pci_priv, + enum cnss_driver_status status, void *data); int cnss_pcie_is_device_down(struct cnss_pci_data *pci_priv); int cnss_pci_suspend_bus(struct cnss_pci_data *pci_priv); int cnss_pci_resume_bus(struct cnss_pci_data *pci_priv);