cnss: Refactor CNSS Platform Driver for better code maintenance
Retain API's in cnss_common.h file for cnss use only. cnss.h is to be used to expose the EXPORT_SYMBOL API's. CRs-Fixed: 1009898 Change-Id: I2b9eb81552f4803c3accd0221ea891697a9a93bc Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
This commit is contained in:
parent
7099c2a6d2
commit
7a63bcdb97
6 changed files with 74 additions and 81 deletions
|
@ -21,7 +21,7 @@
|
|||
#include <linux/mutex.h>
|
||||
#include <linux/rwsem.h>
|
||||
#include <net/cnss.h>
|
||||
#include <net/cnss_common.h>
|
||||
#include "cnss_common.h"
|
||||
#include <net/cfg80211.h>
|
||||
|
||||
enum cnss_dev_bus_type {
|
||||
|
|
40
drivers/net/wireless/cnss/cnss_common.h
Normal file
40
drivers/net/wireless/cnss/cnss_common.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _NET_CNSS_COMMON_H_
|
||||
#define _NET_CNSS_COMMON_H_
|
||||
|
||||
#define MAX_FIRMWARE_SIZE (1 * 1024 * 1024)
|
||||
/* max 20mhz channel count */
|
||||
#define CNSS_MAX_CH_NUM 45
|
||||
|
||||
int cnss_pci_request_bus_bandwidth(int bandwidth);
|
||||
int cnss_sdio_request_bus_bandwidth(int bandwidth);
|
||||
|
||||
void cnss_sdio_device_crashed(void);
|
||||
void cnss_pci_device_crashed(void);
|
||||
|
||||
void cnss_pci_device_self_recovery(void);
|
||||
void cnss_sdio_device_self_recovery(void);
|
||||
|
||||
void *cnss_pci_get_virt_ramdump_mem(unsigned long *size);
|
||||
void *cnss_sdio_get_virt_ramdump_mem(unsigned long *size);
|
||||
|
||||
void cnss_sdio_schedule_recovery_work(void);
|
||||
void cnss_pci_schedule_recovery_work(void);
|
||||
|
||||
int cnss_pcie_set_wlan_mac_address(const u8 *in, uint32_t len);
|
||||
int cnss_sdio_set_wlan_mac_address(const u8 *in, uint32_t len);
|
||||
|
||||
u8 *cnss_pci_get_wlan_mac_address(uint32_t *num);
|
||||
u8 *cnss_sdio_get_wlan_mac_address(uint32_t *num);
|
||||
#endif /* _NET_CNSS_COMMON_H_ */
|
|
@ -48,7 +48,7 @@
|
|||
#include <net/cfg80211.h>
|
||||
#include <soc/qcom/memory_dump.h>
|
||||
#include <net/cnss.h>
|
||||
#include <net/cnss_common.h>
|
||||
#include "cnss_common.h"
|
||||
|
||||
#ifdef CONFIG_WCNSS_MEM_PRE_ALLOC
|
||||
#include <net/cnss_prealloc.h>
|
||||
|
@ -2059,7 +2059,6 @@ end:
|
|||
*num = 0;
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(cnss_pci_get_wlan_mac_address);
|
||||
|
||||
/**
|
||||
* cnss_get_wlan_mac_address() - API to return MAC addresses buffer
|
||||
|
@ -2149,7 +2148,6 @@ int cnss_pcie_set_wlan_mac_address(const u8 *in, uint32_t len)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(cnss_pcie_set_wlan_mac_address);
|
||||
|
||||
int cnss_wlan_register_driver(struct cnss_wlan_driver *driver)
|
||||
{
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <soc/qcom/ramdump.h>
|
||||
#include <soc/qcom/memory_dump.h>
|
||||
#include <net/cnss.h>
|
||||
#include <net/cnss_common.h>
|
||||
#include "cnss_common.h"
|
||||
#include <linux/pm_qos.h>
|
||||
#include <linux/msm-bus.h>
|
||||
#include <linux/msm-bus-board.h>
|
||||
|
@ -1161,14 +1161,12 @@ int cnss_sdio_set_wlan_mac_address(const u8 *in, uint32_t len)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(cnss_sdio_set_wlan_mac_address);
|
||||
|
||||
u8 *cnss_sdio_get_wlan_mac_address(uint32_t *num)
|
||||
{
|
||||
*num = 0;
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(cnss_sdio_get_wlan_mac_address);
|
||||
|
||||
static const struct of_device_id cnss_sdio_dt_match[] = {
|
||||
{.compatible = "qcom,cnss_sdio"},
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/skbuff.h>
|
||||
#include <linux/pci.h>
|
||||
#include <net/cnss_common.h>
|
||||
#include <linux/mmc/sdio_func.h>
|
||||
|
||||
#ifdef CONFIG_CNSS
|
||||
|
@ -212,4 +211,35 @@ extern int cnss_wlan_query_oob_status(void);
|
|||
extern int cnss_wlan_register_oob_irq_handler(oob_irq_handler_t handler,
|
||||
void *pm_oob);
|
||||
extern int cnss_wlan_unregister_oob_irq_handler(void *pm_oob);
|
||||
|
||||
|
||||
extern void cnss_dump_stack(struct task_struct *task);
|
||||
extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
|
||||
extern void cnss_init_work(struct work_struct *work, work_func_t func);
|
||||
extern void cnss_flush_delayed_work(void *dwork);
|
||||
extern void cnss_flush_work(void *work);
|
||||
extern void cnss_pm_wake_lock_timeout(struct wakeup_source *ws, ulong msec);
|
||||
extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
|
||||
extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);
|
||||
extern void cnss_get_monotonic_boottime(struct timespec *ts);
|
||||
extern void cnss_get_boottime(struct timespec *ts);
|
||||
extern void cnss_init_delayed_work(struct delayed_work *work, work_func_t
|
||||
func);
|
||||
extern int cnss_vendor_cmd_reply(struct sk_buff *skb);
|
||||
extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
|
||||
extern int cnss_set_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 ch_count);
|
||||
extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 *ch_count,
|
||||
u16 buf_len);
|
||||
extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
|
||||
extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
|
||||
extern int cnss_common_request_bus_bandwidth(struct device *dev, int
|
||||
bandwidth);
|
||||
extern void cnss_common_device_crashed(struct device *dev);
|
||||
extern void cnss_common_device_self_recovery(struct device *dev);
|
||||
extern void *cnss_common_get_virt_ramdump_mem(struct device *dev, unsigned long
|
||||
*size);
|
||||
extern void cnss_common_schedule_recovery_work(struct device *dev);
|
||||
extern int cnss_common_set_wlan_mac_address(struct device *dev, const u8 *in,
|
||||
uint32_t len);
|
||||
extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
|
||||
#endif /* _NET_CNSS_H_ */
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _NET_CNSS_COMMON_H_
|
||||
#define _NET_CNSS_COMMON_H_
|
||||
|
||||
#ifdef CONFIG_CNSS
|
||||
|
||||
#define MAX_FIRMWARE_SIZE (1 * 1024 * 1024)
|
||||
/* max 20mhz channel count */
|
||||
#define CNSS_MAX_CH_NUM 45
|
||||
|
||||
extern int cnss_set_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 ch_count);
|
||||
extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list,
|
||||
u16 *ch_count, u16 buf_len);
|
||||
|
||||
extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
|
||||
extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
|
||||
|
||||
extern void cnss_init_work(struct work_struct *work, work_func_t func);
|
||||
extern void cnss_flush_work(void *work);
|
||||
extern void cnss_flush_delayed_work(void *dwork);
|
||||
extern void cnss_pm_wake_lock_timeout(struct wakeup_source *ws, ulong msec);
|
||||
extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
|
||||
extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);
|
||||
extern void cnss_get_monotonic_boottime(struct timespec *ts);
|
||||
extern void cnss_get_boottime(struct timespec *ts);
|
||||
extern void cnss_init_delayed_work(struct delayed_work *work, work_func_t func);
|
||||
extern int cnss_vendor_cmd_reply(struct sk_buff *skb);
|
||||
extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
|
||||
extern void cnss_dump_stack(struct task_struct *task);
|
||||
|
||||
int cnss_pci_request_bus_bandwidth(int bandwidth);
|
||||
int cnss_sdio_request_bus_bandwidth(int bandwidth);
|
||||
extern int cnss_common_request_bus_bandwidth(struct device *dev,
|
||||
int bandwidth);
|
||||
|
||||
void cnss_sdio_device_crashed(void);
|
||||
void cnss_pci_device_crashed(void);
|
||||
extern void cnss_common_device_crashed(struct device *dev);
|
||||
|
||||
void cnss_pci_device_self_recovery(void);
|
||||
void cnss_sdio_device_self_recovery(void);
|
||||
extern void cnss_common_device_self_recovery(struct device *dev);
|
||||
|
||||
void *cnss_pci_get_virt_ramdump_mem(unsigned long *size);
|
||||
void *cnss_sdio_get_virt_ramdump_mem(unsigned long *size);
|
||||
extern void *cnss_common_get_virt_ramdump_mem(struct device *dev,
|
||||
unsigned long *size);
|
||||
|
||||
void cnss_sdio_schedule_recovery_work(void);
|
||||
void cnss_pci_schedule_recovery_work(void);
|
||||
extern void cnss_common_schedule_recovery_work(struct device *dev);
|
||||
|
||||
extern int cnss_pcie_set_wlan_mac_address(const u8 *in, uint32_t len);
|
||||
extern int cnss_sdio_set_wlan_mac_address(const u8 *in, uint32_t len);
|
||||
extern int cnss_common_set_wlan_mac_address(struct device *dev,
|
||||
const u8 *in, uint32_t len);
|
||||
|
||||
u8 *cnss_pci_get_wlan_mac_address(uint32_t *num);
|
||||
u8 *cnss_sdio_get_wlan_mac_address(uint32_t *num);
|
||||
extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
|
||||
#endif
|
||||
#endif /* _NET_CNSS_COMMON_H_ */
|
Loading…
Add table
Reference in a new issue