cnss2: Add update_uevent API to notify CNSS event
cnss_bus_update_uevent() API added, to notify CNSS platform information to CLD driver. Change-Id: I7c26c9df91e0c1e8fd02c6d6ab64b932bd11b4dd Signed-off-by: Lin Bai <lbai@codeaurora.org>
This commit is contained in:
parent
f3a2701398
commit
3144c1d49d
@ -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. */
|
||||
|
||||
#include "bus.h"
|
||||
#include "debug.h"
|
||||
@ -435,6 +435,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)
|
||||
|
@ -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
|
||||
@ -50,6 +50,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);
|
||||
|
@ -4240,8 +4240,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;
|
||||
@ -4301,7 +4301,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;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. */
|
||||
/* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */
|
||||
|
||||
#ifndef _CNSS_PCI_H
|
||||
#define _CNSS_PCI_H
|
||||
@ -228,8 +228,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);
|
||||
|
Loading…
Reference in New Issue
Block a user