Messages in this thread | | | Date | Tue, 7 Oct 2008 11:38:45 +0200 | From | Rodolfo Giometti <> | Subject | Re: [PATCH 1/1] Add c2 port support. |
| |
On Fri, Oct 03, 2008 at 02:59:23PM -0700, Greg KH wrote: > On Fri, Oct 03, 2008 at 04:36:29PM +0200, Rodolfo Giometti wrote: > > C2port implements a two wire serial communication protocol (bit > > banging) designed to enable in-system programming, debugging, and > > boundary-scan testing on low pin-count Silicon Labs devices. > > > > Currently this code supports only flash programming through sysfs > > interface but extensions shoud be easy to add. > > > > Signed-off-by: Rodolfo Giometti <giometti@linux.it> > > --- > > drivers/misc/Kconfig | 13 + > > drivers/misc/Makefile | 1 + > > drivers/misc/c2port_core.c | 996 ++++++++++++++++++++++++++++++++++++++++++++ > > include/linux/c2port.h | 65 +++ > > Why does this file have to be in include/linux? I don't think this > exports any structures to userspace, and no other code calls this > driver, so it should all fit into the .c file just fine.
The inlcude file is needed because you have to define a clients for each c2 port implementations, see here for further info:
http://wiki.enneenne.com/index.php/Silicon_C2_Interface
The file c2port_core.c implements the core, a client implements the low level functions.
> Also, please create the needed Documentation/ABI/ files for these new > sysfs entries, describing how they are used, and what the format of them > are.
Ok.
> Is there any way to detect automatically if this hardware is present in > the system or not?
I don't think so. The C2 port is usually implemented with two generic GPIOs.
> Otherwise, how will it be loaded by a distro automatically?
The C2 port client is usually defined into platform machine data file, for example I defined my client into linux/arch/arm/mach-pxa/wr1100.c (wr1100.c is not in a vanilla tree, refere to mainstone.c for similar code). In this manner the driver is autoloaded at boot time.
I posted the code in order to get some feedbacks and then repropose something suitable for inclusion. So I'd like to know if I should make a separate subdir into linux/drivers/misc/ to hold possible clients (i.e. linux/drivers/misc/c2port/).
Thanks for your suggestions,
Rodolfo
--
GNU/Linux Solutions e-mail: giometti@enneenne.com Linux Device Driver giometti@linux.it Embedded Systems phone: +39 349 2432127 UNIX programming skype: rodolfo.giometti
| |