linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/4] can: c_can: Add support for Bosch D_CAN controller
@ 2012-05-13  9:56 AnilKumar Ch
  2012-05-13  9:56 ` [PATCH v3 1/3] can: c_can: fix race condition in c_can_open() AnilKumar Ch
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: AnilKumar Ch @ 2012-05-13  9:56 UTC (permalink / raw)
  To: wg, mkl, linux-can; +Cc: anantgole, nsekhar, AnilKumar Ch

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 (3):
  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          |  123 +++++++++++++------------
 drivers/net/can/c_can/c_can.h          |  163 ++++++++++++++++++++++++--------
 drivers/net/can/c_can/c_can_platform.c |   73 ++++++++++-----
 3 files changed, 239 insertions(+), 120 deletions(-)


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-05-13  9:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-13  9:56 [PATCH v3 0/4] can: c_can: Add support for Bosch D_CAN controller AnilKumar Ch
2012-05-13  9:56 ` [PATCH v3 1/3] can: c_can: fix race condition in c_can_open() AnilKumar Ch
2012-05-13  9:56 ` [PATCH v3 2/3] can: c_can: Move overlay structure to array with offset as index AnilKumar Ch
2012-05-13  9:56 ` [PATCH v3 3/3] can: c_can: Add support for Bosch D_CAN controller AnilKumar Ch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).