Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux-2.6-block.git] / drivers / net / can / c_can / c_can.c
index 95e04e2002daec774d394d0f0912ca7e952f280f..8e78bb48f5a4399f0fef7e991d64984c638c077a 100644 (file)
@@ -252,8 +252,7 @@ static void c_can_obj_update(struct net_device *dev, int iface, u32 cmd, u32 obj
        struct c_can_priv *priv = netdev_priv(dev);
        int cnt, reg = C_CAN_IFACE(COMREQ_REG, iface);
 
-       priv->write_reg(priv, reg + 1, cmd);
-       priv->write_reg(priv, reg, obj);
+       priv->write_reg32(priv, reg, (cmd << 16) | obj);
 
        for (cnt = MIN_TIMEOUT_VALUE; cnt; cnt--) {
                if (!(priv->read_reg(priv, reg) & IF_COMR_BUSY))
@@ -328,8 +327,7 @@ static void c_can_setup_tx_object(struct net_device *dev, int iface,
                change_bit(idx, &priv->tx_dir);
        }
 
-       priv->write_reg(priv, C_CAN_IFACE(ARB1_REG, iface), arb);
-       priv->write_reg(priv, C_CAN_IFACE(ARB2_REG, iface), arb >> 16);
+       priv->write_reg32(priv, C_CAN_IFACE(ARB1_REG, iface), arb);
 
        priv->write_reg(priv, C_CAN_IFACE(MSGCTRL_REG, iface), ctrl);
 
@@ -391,8 +389,7 @@ static int c_can_read_msg_object(struct net_device *dev, int iface, u32 ctrl)
 
        frame->can_dlc = get_can_dlc(ctrl & 0x0F);
 
-       arb = priv->read_reg(priv, C_CAN_IFACE(ARB1_REG, iface));
-       arb |= priv->read_reg(priv, C_CAN_IFACE(ARB2_REG, iface)) << 16;
+       arb = priv->read_reg32(priv, C_CAN_IFACE(ARB1_REG, iface));
 
        if (arb & IF_ARB_MSGXTD)
                frame->can_id = (arb & CAN_EFF_MASK) | CAN_EFF_FLAG;
@@ -424,12 +421,10 @@ static void c_can_setup_receive_object(struct net_device *dev, int iface,
        struct c_can_priv *priv = netdev_priv(dev);
 
        mask |= BIT(29);
-       priv->write_reg(priv, C_CAN_IFACE(MASK1_REG, iface), mask);
-       priv->write_reg(priv, C_CAN_IFACE(MASK2_REG, iface), mask >> 16);
+       priv->write_reg32(priv, C_CAN_IFACE(MASK1_REG, iface), mask);
 
        id |= IF_ARB_MSGVAL;
-       priv->write_reg(priv, C_CAN_IFACE(ARB1_REG, iface), id);
-       priv->write_reg(priv, C_CAN_IFACE(ARB2_REG, iface), id >> 16);
+       priv->write_reg32(priv, C_CAN_IFACE(ARB1_REG, iface), id);
 
        priv->write_reg(priv, C_CAN_IFACE(MSGCTRL_REG, iface), mcont);
        c_can_object_put(dev, iface, obj, IF_COMM_RCV_SETUP);