Lines Matching defs:priv

61 	struct lbs_private *priv;
352 static int if_cs_send_cmd(struct lbs_private *priv, u8 *buf, u16 nb)
354 struct if_cs_card *card = (struct if_cs_card *)priv->card;
367 netdev_err(priv->dev, "card not ready for commands\n");
398 static void if_cs_send_data(struct lbs_private *priv, u8 *buf, u16 nb)
400 struct if_cs_card *card = (struct if_cs_card *)priv->card;
426 static int if_cs_receive_cmdres(struct lbs_private *priv, u8 *data, u32 *len)
435 status = if_cs_read16(priv->card, IF_CS_CARD_STATUS);
437 netdev_err(priv->dev, "no cmd response in card\n");
442 *len = if_cs_read16(priv->card, IF_CS_RESP_LEN);
444 netdev_err(priv->dev,
451 if_cs_read16_rep(priv->card, IF_CS_RESP, data, *len/sizeof(u16));
453 data[*len-1] = if_cs_read8(priv->card, IF_CS_RESP);
461 spin_lock_irqsave(&priv->driver_lock, flags);
462 priv->dnld_sent = DNLD_RES_RECEIVED;
463 spin_unlock_irqrestore(&priv->driver_lock, flags);
470 static struct sk_buff *if_cs_receive_data(struct lbs_private *priv)
478 len = if_cs_read16(priv->card, IF_CS_READ_LEN);
480 netdev_err(priv->dev,
483 priv->dev->stats.rx_dropped++;
495 if_cs_read16_rep(priv->card, IF_CS_READ, data, len/sizeof(u16));
497 data[len-1] = if_cs_read8(priv->card, IF_CS_READ);
500 if_cs_write16(priv->card, IF_CS_HOST_STATUS, IF_CS_BIT_RX);
501 if_cs_write16(priv->card, IF_CS_HOST_INT_CAUSE, IF_CS_BIT_RX);
511 struct lbs_private *priv = card->priv;
527 card->priv->surpriseremoved = 1;
534 skb = if_cs_receive_data(priv);
536 lbs_process_rxed_packet(priv, skb);
541 lbs_host_to_card_done(priv);
549 spin_lock_irqsave(&priv->driver_lock, flags);
550 i = (priv->resp_idx == 0) ? 1 : 0;
551 spin_unlock_irqrestore(&priv->driver_lock, flags);
553 BUG_ON(priv->resp_len[i]);
554 if_cs_receive_cmdres(priv, priv->resp_buf[i],
555 &priv->resp_len[i]);
557 spin_lock_irqsave(&priv->driver_lock, flags);
558 lbs_notify_command_response(priv, i);
559 spin_unlock_irqrestore(&priv->driver_lock, flags);
563 u16 status = if_cs_read16(priv->card, IF_CS_CARD_STATUS);
564 if_cs_write16(priv->card, IF_CS_HOST_INT_CAUSE,
566 lbs_queue_event(priv, (status & IF_CS_CARD_STATUS_MASK) >> 8);
748 static int if_cs_host_to_card(struct lbs_private *priv,
759 priv->dnld_sent = DNLD_DATA_SENT;
760 if_cs_send_data(priv, buf, nb);
764 priv->dnld_sent = DNLD_CMD_SENT;
765 ret = if_cs_send_cmd(priv, buf, nb);
768 netdev_err(priv->dev, "%s: unsupported type %d\n",
779 struct if_cs_card *card = p_dev->priv;
810 struct lbs_private *priv;
822 p_dev->priv = card;
908 priv = lbs_add_card(card, &p_dev->dev);
909 if (!priv) {
915 card->priv = priv;
916 priv->card = card;
917 priv->hw_host_to_card = if_cs_host_to_card;
918 priv->enter_deep_sleep = NULL;
919 priv->exit_deep_sleep = NULL;
920 priv->reset_deep_sleep_wakeup = NULL;
921 priv->fw_ready = 1;
939 if (lbs_start_card(priv) != 0) {
948 lbs_remove_card(priv);
966 struct if_cs_card *card = p_dev->priv;
970 lbs_stop_card(card->priv);
971 lbs_remove_card(card->priv);