Messages in this thread | | | Subject | Re: [RFC PATCH] fpga: Introduce new fpga subsystem | From | Alan Tull <> | Date | Tue, 24 Sep 2013 11:22:54 -0500 |
| |
On Tue, 2013-09-24 at 17:58 +0200, Michal Simek wrote: > Hi, > > On 09/24/2013 05:55 PM, Alan Tull wrote: > > > >> I have ported the altera fpga manager driver to work with your version > >> of the fpga manager framework. It works fine if I use the > >> firmware_class.c's built-in support to load the firmware, but not with a > >> userspace helper. > >> > > > > > > Hi Michal, > > > > I cleaned up my udev rules and now I see the userspace helper working. > > Just adding one udev rule that points to the standard hotplug-script was > > sufficient to see the userspace script working nicely. > > > > All in all, the firmware interface seems pretty easy to use and it gives > > us the flexibility to either use the kernel to load the firmware or to > > use scripts, so it should work with a variety of use cases. > > > > Since we are arriving at a solution that is suitable for the both of us, > > I expect you will be able to add Dinh and myself as maintainers here, > > right? I have no problem with there only being one repo to store > > patches for this subsystem. > > Does it mean that you are able to see "loading" file there? > > Can you share your script? > > Thanks, > Michal >
Hi Michal,
Yes, I could see /sys/class/fpga/fpga0/image.rbf/loading and 'data' and a few others (If I was requesting to load 'image.rbf'). It's a nice interface.
I just used the linux/Documentation/firmware_class/hotplug-script without modifications.
To enable it:
* cp linux/Documentation/firmware_class/hotplug-script /lib/udev/
* chmod 755 /lib/udev/hotplug-script
* Add this udev rule: SUBSYSTEM=="firmware", ACTION=="add", RUN+="/lib/udev/hotplug-script"
* Check that there aren't other 'firmware' udev rules to get in the way.
* Add your firmware files to /usr/lib/hotplug/firmware/ or change that path in hotplug-script to point to where your firmware files.
The default hotplug-script doesn't do anything special (that the kernel couldn't do by itself). What's great is that it could call another script that adds headers or does whatever other special un-gzipping or other massaging that the firmware image needs before it gets loaded.
Regards, Alan
> >
| |