Commit ad226ec2 authored by Kalle Valo's avatar Kalle Valo

ath6kl: fix function name conflicts with ath9k

Stephen reported that compilation fails if both ath6kl and ath9k are
compiled in:

drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_start':
(.opd+0x600): multiple definition of `htc_start'
drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e40): first defined here
drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_stop':
(.text+0x7b40): multiple definition of `.htc_stop'
drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67b34): first defined he=
re
drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_start':
(.text+0x7d18): multiple definition of `.htc_start'
drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67ba0): first defined he=
re
drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_stop':
(.opd+0x5e8): multiple definition of `htc_stop'
drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e28): first defined here

To fix this add ath6kl prefix to all public functions in htc.c.
Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 19703573
......@@ -689,9 +689,9 @@ static int htc_setup_tx_complete(struct htc_target *target)
return status;
}
void htc_set_credit_dist(struct htc_target *target,
struct htc_credit_state_info *cred_dist_cntxt,
u16 srvc_pri_order[], int list_len)
void ath6kl_htc_set_credit_dist(struct htc_target *target,
struct htc_credit_state_info *cred_dist_cntxt,
u16 srvc_pri_order[], int list_len)
{
struct htc_endpoint *endpoint;
int i, ep;
......@@ -717,7 +717,7 @@ void htc_set_credit_dist(struct htc_target *target,
}
}
int htc_tx(struct htc_target *target, struct htc_packet *packet)
int ath6kl_htc_tx(struct htc_target *target, struct htc_packet *packet)
{
struct htc_endpoint *endpoint;
struct list_head queue;
......@@ -745,8 +745,8 @@ int htc_tx(struct htc_target *target, struct htc_packet *packet)
}
/* flush endpoint TX queue */
void htc_flush_txep(struct htc_target *target,
enum htc_endpoint_id eid, u16 tag)
void ath6kl_htc_flush_txep(struct htc_target *target,
enum htc_endpoint_id eid, u16 tag)
{
struct htc_packet *packet, *tmp_pkt;
struct list_head discard_q, container;
......@@ -785,7 +785,7 @@ void htc_flush_txep(struct htc_target *target,
}
static void htc_flush_txep_all(struct htc_target *target)
static void ath6kl_htc_flush_txep_all(struct htc_target *target)
{
struct htc_endpoint *endpoint;
int i;
......@@ -797,12 +797,12 @@ static void htc_flush_txep_all(struct htc_target *target)
if (endpoint->svc_id == 0)
/* not in use.. */
continue;
htc_flush_txep(target, i, HTC_TX_PACKET_TAG_ALL);
ath6kl_htc_flush_txep(target, i, HTC_TX_PACKET_TAG_ALL);
}
}
void htc_indicate_activity_change(struct htc_target *target,
enum htc_endpoint_id eid, bool active)
void ath6kl_htc_indicate_activity_change(struct htc_target *target,
enum htc_endpoint_id eid, bool active)
{
struct htc_endpoint *endpoint = &target->endpoint[eid];
bool dist = false;
......@@ -869,7 +869,7 @@ static int htc_add_rxbuf(struct htc_target *target, struct htc_packet *packet)
INIT_LIST_HEAD(&queue);
list_add_tail(&packet->list, &queue);
return htc_add_rxbuf_multiple(target, &queue);
return ath6kl_htc_add_rxbuf_multiple(target, &queue);
}
static void htc_reclaim_rxbuf(struct htc_target *target,
......@@ -1721,8 +1721,8 @@ static int htc_fetch_rxpkts(struct htc_target *target,
return status;
}
int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[],
int *num_pkts)
int ath6kl_htc_rxmsg_pending_handler(struct htc_target *target,
u32 msg_look_ahead[], int *num_pkts)
{
struct htc_packet *packets, *tmp_pkt;
struct htc_endpoint *endpoint;
......@@ -1904,8 +1904,8 @@ fail_ctrl_rx:
return NULL;
}
int htc_add_rxbuf_multiple(struct htc_target *target,
struct list_head *pkt_queue)
int ath6kl_htc_add_rxbuf_multiple(struct htc_target *target,
struct list_head *pkt_queue)
{
struct htc_endpoint *endpoint;
struct htc_packet *first_pkt;
......@@ -1966,7 +1966,7 @@ int htc_add_rxbuf_multiple(struct htc_target *target,
return status;
}
void htc_flush_rx_buf(struct htc_target *target)
void ath6kl_htc_flush_rx_buf(struct htc_target *target)
{
struct htc_endpoint *endpoint;
struct htc_packet *packet, *tmp_pkt;
......@@ -1994,9 +1994,9 @@ void htc_flush_rx_buf(struct htc_target *target)
}
}
int htc_conn_service(struct htc_target *target,
struct htc_service_connect_req *conn_req,
struct htc_service_connect_resp *conn_resp)
int ath6kl_htc_conn_service(struct htc_target *target,
struct htc_service_connect_req *conn_req,
struct htc_service_connect_resp *conn_resp)
{
struct htc_packet *rx_pkt = NULL;
struct htc_packet *tx_pkt = NULL;
......@@ -2154,7 +2154,8 @@ static void reset_ep_state(struct htc_target *target)
INIT_LIST_HEAD(&target->cred_dist_list);
}
int htc_get_rxbuf_num(struct htc_target *target, enum htc_endpoint_id endpoint)
int ath6kl_htc_get_rxbuf_num(struct htc_target *target,
enum htc_endpoint_id endpoint)
{
int num;
......@@ -2212,7 +2213,7 @@ static void htc_setup_msg_bndl(struct htc_target *target)
}
}
int htc_wait_target(struct htc_target *target)
int ath6kl_htc_wait_target(struct htc_target *target)
{
struct htc_packet *packet = NULL;
struct htc_ready_ext_msg *rdy_msg;
......@@ -2275,7 +2276,7 @@ int htc_wait_target(struct htc_target *target)
connect.svc_id = HTC_CTRL_RSVD_SVC;
/* connect fake service */
status = htc_conn_service((void *)target, &connect, &resp);
status = ath6kl_htc_conn_service((void *)target, &connect, &resp);
if (status)
ath6kl_hif_cleanup_scatter(target->dev->ar);
......@@ -2293,7 +2294,7 @@ fail_wait_target:
* Start HTC, enable interrupts and let the target know
* host has finished setup.
*/
int htc_start(struct htc_target *target)
int ath6kl_htc_start(struct htc_target *target)
{
struct htc_packet *packet;
int status;
......@@ -2327,13 +2328,13 @@ int htc_start(struct htc_target *target)
status = ath6kldev_unmask_intrs(target->dev);
if (status)
htc_stop(target);
ath6kl_htc_stop(target);
return status;
}
/* htc_stop: stop interrupt reception, and flush all queued buffers */
void htc_stop(struct htc_target *target)
void ath6kl_htc_stop(struct htc_target *target)
{
spin_lock_bh(&target->htc_lock);
target->htc_flags |= HTC_OP_STATE_STOPPING;
......@@ -2346,14 +2347,14 @@ void htc_stop(struct htc_target *target)
*/
ath6kldev_mask_intrs(target->dev);
htc_flush_txep_all(target);
ath6kl_htc_flush_txep_all(target);
htc_flush_rx_buf(target);
ath6kl_htc_flush_rx_buf(target);
reset_ep_state(target);
}
void *htc_create(struct ath6kl *ar)
void *ath6kl_htc_create(struct ath6kl *ar)
{
struct htc_target *target = NULL;
struct htc_packet *packet;
......@@ -2422,7 +2423,7 @@ void *htc_create(struct ath6kl *ar)
fail_create_htc:
if (i != NUM_CONTROL_BUFFERS || status) {
if (target) {
htc_cleanup(target);
ath6kl_htc_cleanup(target);
target = NULL;
}
}
......@@ -2431,7 +2432,7 @@ fail_create_htc:
}
/* cleanup the HTC instance */
void htc_cleanup(struct htc_target *target)
void ath6kl_htc_cleanup(struct htc_target *target)
{
struct htc_packet *packet, *tmp_packet;
......
......@@ -540,27 +540,30 @@ struct htc_target {
int chk_irq_status_cnt;
};
void *htc_create(struct ath6kl *ar);
void htc_set_credit_dist(struct htc_target *target,
struct htc_credit_state_info *cred_info,
u16 svc_pri_order[], int len);
int htc_wait_target(struct htc_target *target);
int htc_start(struct htc_target *target);
int htc_conn_service(struct htc_target *target,
struct htc_service_connect_req *req,
struct htc_service_connect_resp *resp);
int htc_tx(struct htc_target *target, struct htc_packet *packet);
void htc_stop(struct htc_target *target);
void htc_cleanup(struct htc_target *target);
void htc_flush_txep(struct htc_target *target,
enum htc_endpoint_id endpoint, u16 tag);
void htc_flush_rx_buf(struct htc_target *target);
void htc_indicate_activity_change(struct htc_target *target,
enum htc_endpoint_id endpoint, bool active);
int htc_get_rxbuf_num(struct htc_target *target, enum htc_endpoint_id endpoint);
int htc_add_rxbuf_multiple(struct htc_target *target, struct list_head *pktq);
int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[],
int *n_pkts);
void *ath6kl_htc_create(struct ath6kl *ar);
void ath6kl_htc_set_credit_dist(struct htc_target *target,
struct htc_credit_state_info *cred_info,
u16 svc_pri_order[], int len);
int ath6kl_htc_wait_target(struct htc_target *target);
int ath6kl_htc_start(struct htc_target *target);
int ath6kl_htc_conn_service(struct htc_target *target,
struct htc_service_connect_req *req,
struct htc_service_connect_resp *resp);
int ath6kl_htc_tx(struct htc_target *target, struct htc_packet *packet);
void ath6kl_htc_stop(struct htc_target *target);
void ath6kl_htc_cleanup(struct htc_target *target);
void ath6kl_htc_flush_txep(struct htc_target *target,
enum htc_endpoint_id endpoint, u16 tag);
void ath6kl_htc_flush_rx_buf(struct htc_target *target);
void ath6kl_htc_indicate_activity_change(struct htc_target *target,
enum htc_endpoint_id endpoint,
bool active);
int ath6kl_htc_get_rxbuf_num(struct htc_target *target,
enum htc_endpoint_id endpoint);
int ath6kl_htc_add_rxbuf_multiple(struct htc_target *target,
struct list_head *pktq);
int ath6kl_htc_rxmsg_pending_handler(struct htc_target *target,
u32 msg_look_ahead[], int *n_pkts);
static inline void set_htc_pkt_info(struct htc_packet *packet, void *context,
u8 *buf, unsigned int len,
......
......@@ -416,8 +416,8 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
* improve performance by reducing context switching when
* we rapidly pull packets.
*/
status = htc_rxmsg_pending_handler(dev->htc_cnxt,
&lk_ahd, &fetched);
status = ath6kl_htc_rxmsg_pending_handler(dev->htc_cnxt,
&lk_ahd, &fetched);
if (status)
goto out;
......
......@@ -160,7 +160,7 @@ static int ath6kl_connectservice(struct ath6kl *ar,
memset(&response, 0, sizeof(response));
status = htc_conn_service(ar->htc_target, con_req, &response);
status = ath6kl_htc_conn_service(ar->htc_target, con_req, &response);
if (status) {
ath6kl_err("failed to connect to %s service status:%d\n",
desc, status);
......@@ -1069,7 +1069,7 @@ static int ath6kl_init(struct net_device *dev)
* driver layer has to init BMI in order to set the host block
* size.
*/
if (htc_wait_target(ar->htc_target)) {
if (ath6kl_htc_wait_target(ar->htc_target)) {
status = -EIO;
goto err_node_cleanup;
}
......@@ -1098,7 +1098,7 @@ static int ath6kl_init(struct net_device *dev)
ath6kl_cookie_init(ar);
/* start HTC */
status = htc_start(ar->htc_target);
status = ath6kl_htc_start(ar->htc_target);
if (status) {
ath6kl_cookie_cleanup(ar);
......@@ -1138,9 +1138,9 @@ static int ath6kl_init(struct net_device *dev)
goto ath6kl_init_done;
err_htc_stop:
htc_stop(ar->htc_target);
ath6kl_htc_stop(ar->htc_target);
err_rxbuf_cleanup:
htc_flush_rx_buf(ar->htc_target);
ath6kl_htc_flush_rx_buf(ar->htc_target);
ath6kl_cleanup_amsdu_rxbufs(ar);
err_cleanup_scatter:
ath6kl_hif_cleanup_scatter(ar);
......@@ -1179,7 +1179,7 @@ int ath6kl_core_init(struct ath6kl *ar)
if (ret)
goto err_bmi_cleanup;
ar->htc_target = htc_create(ar);
ar->htc_target = ath6kl_htc_create(ar);
if (!ar->htc_target) {
ret = -ENOMEM;
......@@ -1217,7 +1217,7 @@ int ath6kl_core_init(struct ath6kl *ar)
return ret;
err_htc_cleanup:
htc_cleanup(ar->htc_target);
ath6kl_htc_cleanup(ar->htc_target);
err_bmi_cleanup:
ath6kl_bmi_cleanup(ar);
err_wq:
......@@ -1275,7 +1275,7 @@ void ath6kl_destroy(struct net_device *dev, unsigned int unregister)
destroy_workqueue(ar->ath6kl_wq);
if (ar->htc_target)
htc_cleanup(ar->htc_target);
ath6kl_htc_cleanup(ar->htc_target);
aggr_module_destroy(ar->aggr_cntxt);
......
......@@ -375,7 +375,7 @@ void ath6kl_stop_endpoint(struct net_device *dev, bool keep_profile,
if (ar->htc_target) {
ath6kl_dbg(ATH6KL_DBG_TRC, "%s: shut down htc\n", __func__);
htc_stop(ar->htc_target);
ath6kl_htc_stop(ar->htc_target);
}
/*
......@@ -568,7 +568,7 @@ int ath6k_setup_credit_dist(void *htc_handle,
servicepriority[4] = WMI_DATA_BK_SVC; /* lowest */
/* set priority list */
htc_set_credit_dist(htc_handle, cred_info, servicepriority, 5);
ath6kl_htc_set_credit_dist(htc_handle, cred_info, servicepriority, 5);
return 0;
}
......
......@@ -221,7 +221,7 @@ int ath6kl_control_tx(void *devt, struct sk_buff *skb,
* This interface is asynchronous, if there is an error, cleanup
* will happen in the TX completion callback.
*/
htc_tx(ar->htc_target, &cookie->htc_pkt);
ath6kl_htc_tx(ar->htc_target, &cookie->htc_pkt);
return 0;
......@@ -331,7 +331,7 @@ int ath6kl_data_tx(struct sk_buff *skb, struct net_device *dev)
* HTC interface is asynchronous, if this fails, cleanup will
* happen in the ath6kl_tx_complete callback.
*/
htc_tx(ar->htc_target, &cookie->htc_pkt);
ath6kl_htc_tx(ar->htc_target, &cookie->htc_pkt);
return 0;
......@@ -403,7 +403,7 @@ void ath6kl_indicate_tx_activity(void *devt, u8 traffic_class, bool active)
notify_htc:
/* notify HTC, this may cause credit distribution changes */
htc_indicate_activity_change(ar->htc_target, eid, active);
ath6kl_htc_indicate_activity_change(ar->htc_target, eid, active);
}
enum htc_send_full_action ath6kl_tx_queue_full(struct htc_target *target,
......@@ -611,8 +611,8 @@ void ath6kl_tx_data_cleanup(struct ath6kl *ar)
/* flush all the data (non-control) streams */
for (i = 0; i < WMM_NUM_AC; i++)
htc_flush_txep(ar->htc_target, ar->ac2ep_map[i],
ATH6KL_DATA_PKT_TAG);
ath6kl_htc_flush_txep(ar->htc_target, ar->ac2ep_map[i],
ATH6KL_DATA_PKT_TAG);
}
/* Rx functions */
......@@ -672,7 +672,7 @@ void ath6kl_rx_refill(struct htc_target *target, enum htc_endpoint_id endpoint)
struct list_head queue;
n_buf_refill = ATH6KL_MAX_RX_BUFFERS -
htc_get_rxbuf_num(ar->htc_target, endpoint);
ath6kl_htc_get_rxbuf_num(ar->htc_target, endpoint);
if (n_buf_refill <= 0)
return;
......@@ -695,7 +695,7 @@ void ath6kl_rx_refill(struct htc_target *target, enum htc_endpoint_id endpoint)
}
if (!list_empty(&queue))
htc_add_rxbuf_multiple(ar->htc_target, &queue);
ath6kl_htc_add_rxbuf_multiple(ar->htc_target, &queue);
}
void ath6kl_refill_amsdu_rxbufs(struct ath6kl *ar, int count)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment