Thread (9 messages) 9 messages, 3 authors, 2012-05-23
STALE5120d
Revisions (6)
  1. v1 [diff vs current]
  2. v2 [diff vs current]
  3. v3 [diff vs current]
  4. v3 current
  5. v4 [diff vs current]
  6. v5 [diff vs current]

[RESEND PATCH v3 0/5] can: c_can: Add support for Bosch D_CAN controller

From: AnilKumar Ch <hidden>
Date: 2012-05-23 09:36:56

This patch series adds support for Bosch D_CAN controller to the
existing C_CAN controller driver.

Bosch D_CAN controller is a full-CAN implementation compliant to CAN
protocol version 2.0 part A and B. Bosch D_CAN user manual can be
obtained from: http://www.semiconductors.bosch.de/media/
en/pdf/ipmodules_1/can/d_can_users_manual_111.pdf

D_CAN device is used on many SoCs like AM335x, DM8148 and DM813x EVMs
from TI, D_CAN details on AM335x can be accessed from:
http://www.ti.com/lit/ug/spruh73c/spruh73c.pdf

This patch series also fixes some issues in the current c_can driver.
These issues were found while integrating d_can driver to c_can driver.

These patches have been tested on AM335x EVM using some additional
patches adding runtime PM support and some code to initialize the
AM335x D_CAN RAM. I will submit these patches once these patches are
accepted.

Due to lack of hardware I am not able to test c_can functionality.
I appreciate if anyone can test C_CAN functionality with this patch
series.

Changes from v2:
        - Dropped patch 1 (acc. to v2) because no update from v2. Can
          be found at http://permalink.gmane.org/gmane.linux.can/1081
        - Incorporated all Marc's review comments on v2
          * Changed patch 2 (acc. to v2) subject line to "can: c_can:
            fix race condition in c_can_open()"
          * Moved "int reg" in patch 3 (acc. to v2) to "enum reg index"
          * Device registration changed by using "platform_device:
            id_table"
        - Changed iface hard coded way to a macro implementation.

Changes form v1:
        - Changed the Macro implementation to access registers via an
          array with virtual register index.
        - Dropped "can: c_can: fix "BUG! echo_skb is occupied!" during
          transmit" patch because it's accepted.
        - Reworked on second patch (acc. to v1) based on Marc's comments.
        - Found one more issue and added as separate patch.
        - Third patch (acc. to v1) is split into two patches, first
          patch only do c_can modifications to incorporate the current
          implementation and second one adds d_can support

AnilKumar Ch (5):
  can: c_can: fix "BUG! echo_skb is occupied!" during transmit
  can: c_can: fix an interrupt thrash issue with c_can driver
  can: c_can: fix race condition in c_can_open()
  can: c_can: Move overlay structure to array with offset as index
  can: c_can: Add support for Bosch D_CAN controller

 drivers/net/can/c_can/c_can.c          |  134 ++++++++++++++------------
 drivers/net/can/c_can/c_can.h          |  164 ++++++++++++++++++++++++--------
 drivers/net/can/c_can/c_can_platform.c |   73 ++++++++++-----
 3 files changed, 246 insertions(+), 125 deletions(-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help