linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] add support for IndustryPack devices
@ 2012-05-03  7:47 Samuel Iglesias Gonsalvez
  2012-05-03  7:47 ` [PATCH 1/3] Staging: IndustryPack bus for the Linux Kernel Samuel Iglesias Gonsalvez
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Samuel Iglesias Gonsalvez @ 2012-05-03  7:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: Samuel Iglesias Gonsalvez, devel, linux-kernel

Hello Kernel Developers,

The bunch of patches add support for IndustryPack devices as a carrier board
called TEWS TPCI-200 and a mezzanine board called IP-OCTAL, among a virtual bus
driver called ipack.

TPCI-200 is a bridge between PCIe and IndustryPack with 4 slots. IP-OCTAL is a
8 channel serial port device that, depending of the model, can talk RS-232,
RS-422 or RS-485.

The ipack driver is just an abstraction of the bus providing the common
operations between the two aforementioned devices.

These drivers have been tested some time ago in an old kernel version at CERN
(2.6.24) and they are working there. The present ones are just a clean-up of the
original ones to be, hopefully, integrated mainstream.

These drivers have several ugly hacks that I want to fix:

* TPCI-200: it receives the name of the mezzanine plugged in each slot by SYSFS.
  No autodetection supported yet, because the mezzanine driver could not be
  loaded at the time that the tpci200 driver loads.

* IP-OCTAL: it has a linked list which saves the devices it is currently
  managing. It should use the driver_for_each_device() function. It is not there
  due to the impossibility of using container_of macro to recover the
  corresponding "struct ipoctal" because the attribute "struct ipack_device" is
  a pointer. This code should be refactored.

* Ipack: the structures and API exported can be improved a lot. For example, the
  way to unregistering mezzanine devices, doing the mezzanine driver a call to
  remove_device() to notify the carrier driver, or the opposite with the call to
  the ipack_driver_ops' remove() function could be improved.   

The idea is to receive some feedback: comments, suggestions, critics... 
improving the code's quality. Also, public this development to receive new
contributions.

Thanks,

Sam

Samuel Iglesias Gonsalvez (3):
  Staging: IndustryPack bus for the Linux Kernel
  Staging: ipack: added support for the TEWS TPCI-200 carrier board
  Staging: ipack: add support for IP-OCTAL mezzanine board

 drivers/staging/Kconfig                 |    2 +
 drivers/staging/Makefile                |    1 +
 drivers/staging/ipack/Kconfig           |   17 +
 drivers/staging/ipack/Makefile          |    6 +
 drivers/staging/ipack/TODO              |   15 +
 drivers/staging/ipack/bridges/Kconfig   |    7 +
 drivers/staging/ipack/bridges/Makefile  |    1 +
 drivers/staging/ipack/bridges/tpci200.c | 1163 +++++++++++++++++++++++++++++++
 drivers/staging/ipack/bridges/tpci200.h |  165 +++++
 drivers/staging/ipack/devices/Kconfig   |    7 +
 drivers/staging/ipack/devices/Makefile  |    1 +
 drivers/staging/ipack/devices/ipoctal.c |  841 ++++++++++++++++++++++
 drivers/staging/ipack/devices/ipoctal.h |   81 +++
 drivers/staging/ipack/devices/scc2698.h |  229 ++++++
 drivers/staging/ipack/ipack.c           |  179 +++++
 drivers/staging/ipack/ipack.h           |  186 +++++
 16 files changed, 2901 insertions(+)
 create mode 100644 drivers/staging/ipack/Kconfig
 create mode 100644 drivers/staging/ipack/Makefile
 create mode 100644 drivers/staging/ipack/TODO
 create mode 100644 drivers/staging/ipack/bridges/Kconfig
 create mode 100644 drivers/staging/ipack/bridges/Makefile
 create mode 100644 drivers/staging/ipack/bridges/tpci200.c
 create mode 100644 drivers/staging/ipack/bridges/tpci200.h
 create mode 100644 drivers/staging/ipack/devices/Kconfig
 create mode 100644 drivers/staging/ipack/devices/Makefile
 create mode 100644 drivers/staging/ipack/devices/ipoctal.c
 create mode 100644 drivers/staging/ipack/devices/ipoctal.h
 create mode 100644 drivers/staging/ipack/devices/scc2698.h
 create mode 100644 drivers/staging/ipack/ipack.c
 create mode 100644 drivers/staging/ipack/ipack.h

-- 
1.7.10


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

end of thread, other threads:[~2012-05-03 15:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-03  7:47 [PATCH 0/3] add support for IndustryPack devices Samuel Iglesias Gonsalvez
2012-05-03  7:47 ` [PATCH 1/3] Staging: IndustryPack bus for the Linux Kernel Samuel Iglesias Gonsalvez
2012-05-03  7:47 ` [PATCH 2/3] Staging: ipack: added support for the TEWS TPCI-200 carrier board Samuel Iglesias Gonsalvez
2012-05-03  7:47 ` [PATCH 3/3] Staging: ipack: add support for IP-OCTAL mezzanine board Samuel Iglesias Gonsalvez
2012-05-03  9:15   ` Alan Cox
2012-05-03  9:39     ` Samuel Iglesias Gonsálvez
2012-05-03 15:32 ` [PATCH 0/3] add support for IndustryPack devices Greg Kroah-Hartman

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).