Am 23.06.2011 22:36, schrieb Mike Frysinger:
If we look closely, the 4 writes to TRANSMIT_CHL.id1 can be collapsed
down into much simpler code.  So do just that.

Hello Mike,

unfortunately you addressed the wrong people to ack your patch.

In MAINTAINERS there are entries for the CAN NETWORK LAYER and for CAN NETWORK DRIVERS which addresses the code in drivers/net/can/...

Additionally you should address your patch to the author of the driver (Barry Song <[email protected]>).

Tnx & best regards,
Oliver




This also fixes a build failure due to the I/O macros no longer
getting pulled in.  Their minor (and accidental) usage here gets
dropped as part of the unification.

Signed-off-by: Mike Frysinger<[email protected]>
---
  drivers/net/can/bfin_can.c |   21 ++++++---------------
  1 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c
index b6e890d..dc6ef4a 100644
--- a/drivers/net/can/bfin_can.c
+++ b/drivers/net/can/bfin_can.c
@@ -243,21 +243,12 @@ static int bfin_can_start_xmit(struct sk_buff *skb, 
struct net_device *dev)
        /* fill id */
        if (id&  CAN_EFF_FLAG) {
                bfin_write16(&reg->chl[TRANSMIT_CHL].id0, id);
-               if (id&  CAN_RTR_FLAG)
-                       writew(((id&  0x1FFF0000)>>  16) | IDE | AME | RTR,
-                                       &reg->chl[TRANSMIT_CHL].id1);
-               else
-                       writew(((id&  0x1FFF0000)>>  16) | IDE | AME,
-                                       &reg->chl[TRANSMIT_CHL].id1);
-
-       } else {
-               if (id&  CAN_RTR_FLAG)
-                       writew((id<<  2) | AME | RTR,
-                               &reg->chl[TRANSMIT_CHL].id1);
-               else
-                       bfin_write16(&reg->chl[TRANSMIT_CHL].id1,
-                                       (id<<  2) | AME);
-       }
+               val = ((id&  0x1FFF0000)>>  16) | IDE;
+       } else
+               val = (id<<  2);
+       if (id&  CAN_RTR_FLAG)
+               val |= RTR;
+       bfin_write16(&reg->chl[TRANSMIT_CHL].id1, val | AME);

        /* fill payload */
        for (i = 0; i<  8; i += 2) {

_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to