can: xilinx_can: Fix flags field initialization for axi can and canps
[linux-2.6-block.git] / drivers / net / can / xilinx_can.c
index 63203ff452b58450964d0dc2a9d5b221075001c5..0e3f3a536a1d0879b7147a0b9b958724eda68bc9 100644 (file)
@@ -183,7 +183,7 @@ struct xcan_priv {
        struct napi_struct napi;
        u32 (*read_reg)(const struct xcan_priv *priv, enum xcan_reg reg);
        void (*write_reg)(const struct xcan_priv *priv, enum xcan_reg reg,
-                       u32 val);
+                         u32 val);
        struct device *dev;
        void __iomem *reg_base;
        unsigned long irq_flags;
@@ -238,7 +238,7 @@ static const struct can_bittiming_const xcan_bittiming_const_canfd2 = {
  * Write data to the paricular CAN register
  */
 static void xcan_write_reg_le(const struct xcan_priv *priv, enum xcan_reg reg,
-                       u32 val)
+                             u32 val)
 {
        iowrite32(val, priv->reg_base + reg);
 }
@@ -265,7 +265,7 @@ static u32 xcan_read_reg_le(const struct xcan_priv *priv, enum xcan_reg reg)
  * Write data to the paricular CAN register
  */
 static void xcan_write_reg_be(const struct xcan_priv *priv, enum xcan_reg reg,
-                       u32 val)
+                             u32 val)
 {
        iowrite32be(val, priv->reg_base + reg);
 }
@@ -373,8 +373,8 @@ static int xcan_set_bittiming(struct net_device *ndev)
        priv->write_reg(priv, XCAN_BTR_OFFSET, btr1);
 
        netdev_dbg(ndev, "BRPR=0x%08x, BTR=0x%08x\n",
-                       priv->read_reg(priv, XCAN_BRPR_OFFSET),
-                       priv->read_reg(priv, XCAN_BTR_OFFSET));
+                  priv->read_reg(priv, XCAN_BRPR_OFFSET),
+                  priv->read_reg(priv, XCAN_BTR_OFFSET));
 
        return 0;
 }
@@ -439,12 +439,12 @@ static int xcan_chip_start(struct net_device *ndev)
        while (!(priv->read_reg(priv, XCAN_SR_OFFSET) & reg_sr_mask)) {
                if (time_after(jiffies, timeout)) {
                        netdev_warn(ndev,
-                               "timed out for correct mode\n");
+                                   "timed out for correct mode\n");
                        return -ETIMEDOUT;
                }
        }
        netdev_dbg(ndev, "status:#x%08x\n",
-                       priv->read_reg(priv, XCAN_SR_OFFSET));
+                  priv->read_reg(priv, XCAN_SR_OFFSET));
 
        priv->can.state = CAN_STATE_ERROR_ACTIVE;
        return 0;
@@ -483,6 +483,7 @@ static int xcan_do_set_mode(struct net_device *ndev, enum can_mode mode)
 
 /**
  * xcan_write_frame - Write a frame to HW
+ * @priv:              Driver private data structure
  * @skb:               sk_buff pointer that contains data to be Txed
  * @frame_offset:      Register offset to write the frame to
  */
@@ -498,7 +499,7 @@ static void xcan_write_frame(struct xcan_priv *priv, struct sk_buff *skb,
                id = ((cf->can_id & CAN_EFF_MASK) << XCAN_IDR_ID2_SHIFT) &
                        XCAN_IDR_ID2_MASK;
                id |= (((cf->can_id & CAN_EFF_MASK) >>
-                       (CAN_EFF_ID_BITS-CAN_SFF_ID_BITS)) <<
+                       (CAN_EFF_ID_BITS - CAN_SFF_ID_BITS)) <<
                        XCAN_IDR_ID1_SHIFT) & XCAN_IDR_ID1_MASK;
 
                /* The substibute remote TX request bit should be "1"
@@ -544,6 +545,8 @@ static void xcan_write_frame(struct xcan_priv *priv, struct sk_buff *skb,
 
 /**
  * xcan_start_xmit_fifo - Starts the transmission (FIFO mode)
+ * @skb:       sk_buff pointer that contains data to be Txed
+ * @ndev:      Pointer to net_device structure
  *
  * Return: 0 on success, -ENOSPC if FIFO is full.
  */
@@ -580,6 +583,8 @@ static int xcan_start_xmit_fifo(struct sk_buff *skb, struct net_device *ndev)
 
 /**
  * xcan_start_xmit_mailbox - Starts the transmission (mailbox mode)
+ * @skb:       sk_buff pointer that contains data to be Txed
+ * @ndev:      Pointer to net_device structure
  *
  * Return: 0 on success, -ENOSPC if there is no space
  */
@@ -934,7 +939,7 @@ static void xcan_err_interrupt(struct net_device *ndev, u32 isr)
        }
 
        netdev_dbg(ndev, "%s: error status register:0x%x\n",
-                       __func__, priv->read_reg(priv, XCAN_ESR_OFFSET));
+                  __func__, priv->read_reg(priv, XCAN_ESR_OFFSET));
 }
 
 /**
@@ -960,6 +965,7 @@ static void xcan_state_interrupt(struct net_device *ndev, u32 isr)
 
 /**
  * xcan_rx_fifo_get_next_frame - Get register offset of next RX frame
+ * @priv:      Driver private data structure
  *
  * Return: Register offset of the next frame in RX FIFO.
  */
@@ -982,9 +988,11 @@ static int xcan_rx_fifo_get_next_frame(struct xcan_priv *priv)
                        return -ENOENT;
 
                if (priv->devtype.flags & XCAN_FLAG_CANFD_2)
-                       offset = XCAN_RXMSG_2_FRAME_OFFSET(fsr & XCAN_FSR_RI_MASK);
+                       offset =
+                         XCAN_RXMSG_2_FRAME_OFFSET(fsr & XCAN_FSR_RI_MASK);
                else
-                       offset = XCAN_RXMSG_FRAME_OFFSET(fsr & XCAN_FSR_RI_MASK);
+                       offset =
+                         XCAN_RXMSG_FRAME_OFFSET(fsr & XCAN_FSR_RI_MASK);
 
        } else {
                /* check if RX FIFO is empty */
@@ -1094,8 +1102,10 @@ static void xcan_tx_interrupt(struct net_device *ndev, u32 isr)
                 *     via TXFEMP handling as we read TXFEMP *after* TXOK
                 *     clear to satisfy (1).
                 */
-               while ((isr & XCAN_IXR_TXOK_MASK) && !WARN_ON(++retries == 100)) {
-                       priv->write_reg(priv, XCAN_ICR_OFFSET, XCAN_IXR_TXOK_MASK);
+               while ((isr & XCAN_IXR_TXOK_MASK) &&
+                      !WARN_ON(++retries == 100)) {
+                       priv->write_reg(priv, XCAN_ICR_OFFSET,
+                                       XCAN_IXR_TXOK_MASK);
                        isr = priv->read_reg(priv, XCAN_ISR_OFFSET);
                }
 
@@ -1208,12 +1218,12 @@ static int xcan_open(struct net_device *ndev)
        ret = pm_runtime_get_sync(priv->dev);
        if (ret < 0) {
                netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n",
-                               __func__, ret);
+                          __func__, ret);
                return ret;
        }
 
        ret = request_irq(ndev->irq, xcan_interrupt, priv->irq_flags,
-                       ndev->name, ndev);
+                         ndev->name, ndev);
        if (ret < 0) {
                netdev_err(ndev, "irq allocation for CAN failed\n");
                goto err;
@@ -1284,7 +1294,7 @@ static int xcan_close(struct net_device *ndev)
  * Return: 0 on success and failure value on error
  */
 static int xcan_get_berr_counter(const struct net_device *ndev,
-                                       struct can_berr_counter *bec)
+                                struct can_berr_counter *bec)
 {
        struct xcan_priv *priv = netdev_priv(ndev);
        int ret;
@@ -1292,7 +1302,7 @@ static int xcan_get_berr_counter(const struct net_device *ndev,
        ret = pm_runtime_get_sync(priv->dev);
        if (ret < 0) {
                netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n",
-                               __func__, ret);
+                          __func__, ret);
                return ret;
        }
 
@@ -1305,7 +1315,6 @@ static int xcan_get_berr_counter(const struct net_device *ndev,
        return 0;
 }
 
-
 static const struct net_device_ops xcan_netdev_ops = {
        .ndo_open       = xcan_open,
        .ndo_stop       = xcan_close,
@@ -1417,6 +1426,7 @@ static const struct dev_pm_ops xcan_dev_pm_ops = {
 };
 
 static const struct xcan_devtype_data xcan_zynq_data = {
+       .flags = XCAN_FLAG_TXFEMP,
        .bittiming_const = &xcan_bittiming_const,
        .btr_ts2_shift = XCAN_BTR_TS2_SHIFT,
        .btr_sjw_shift = XCAN_BTR_SJW_SHIFT,
@@ -1424,6 +1434,7 @@ static const struct xcan_devtype_data xcan_zynq_data = {
 };
 
 static const struct xcan_devtype_data xcan_axi_data = {
+       .flags = XCAN_FLAG_TXFEMP,
        .bittiming_const = &xcan_bittiming_const,
        .btr_ts2_shift = XCAN_BTR_TS2_SHIFT,
        .btr_sjw_shift = XCAN_BTR_SJW_SHIFT,
@@ -1589,7 +1600,7 @@ static int xcan_probe(struct platform_device *pdev)
        ret = pm_runtime_get_sync(&pdev->dev);
        if (ret < 0) {
                netdev_err(ndev, "%s: pm_runtime_get failed(%d)\n",
-                       __func__, ret);
+                          __func__, ret);
                goto err_pmdisable;
        }