Re: [PATCH 0/3] Yet another stab at a fpga framework

From: Pantelis Antoniou
Date: Tue Aug 05 2014 - 14:19:02 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/