Hi Alan, On Aug 2, 2014, at 1:28 AM, <atull@xxxxxxxxxxxxxxxxxxxxx> wrote: > From: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> > > [resend with fixed email settings] > > The idea of the framework is to provide consistent ways of > programming raw images into FPGA's. > > Programming from device tree overlays is supported. > > The core (fpga-mgr.c) does not include a userspace interface > and just exports kernel functions. > > This approach separates the core from the interfaces. > > Each interface can be enabled or disabled in the defconfig. > In some production contexts, interfaces that might be used > during development can be disabled. > > The core exports kernel functions to: > * write the fpga from a buffer or using the firmware layer > * get fpga status > * find a particular fpga manager from a device tree phandle > * register/unregister lower level fpga drivers. > > The bus allows us to: > * program fpga from a device tree overlay using firmware. > * automatically reload firmware and reprogram fpga during resume. > > The sysfs interface: > * read only, get the name and status of fpga manager. > > I have a configfs interface patch which I haven't included, > adds configfs as a separate file. > > TODO: > * Enable bridges after fpga programming, disable during suspend > > Alan Tull (3): > fpga manager framework core > fpga bus driver > fpga sysfs interface > > drivers/Kconfig | 2 + > drivers/Makefile | 1 + > drivers/fpga/Kconfig | 27 +++ > drivers/fpga/Makefile | 12 ++ > drivers/fpga/bus.c | 145 ++++++++++++++++ > drivers/fpga/fpga-mgr.c | 431 ++++++++++++++++++++++++++++++++++++++++++++++ > drivers/fpga/sysfs.c | 69 ++++++++ > include/linux/fpga-mgr.h | 137 +++++++++++++++ > 8 files changed, 824 insertions(+) > create mode 100644 drivers/fpga/Kconfig > create mode 100644 drivers/fpga/Makefile > create mode 100644 drivers/fpga/bus.c > create mode 100644 drivers/fpga/fpga-mgr.c > create mode 100644 drivers/fpga/sysfs.c > create mode 100644 include/linux/fpga-mgr.h > Looks very sane and useful. Please let me know if you come across any problems with the overlays code, especially the removal path. Regards -- Pantelis -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html