From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavel Machek Subject: Re: [PATCH v8 2/4] fpga manager: add sysfs interface document Date: Mon, 12 Jan 2015 09:45:30 +0100 Message-ID: <20150112084530.GA28681@amd> References: <1420575219-27061-1-git-send-email-atull@opensource.altera.com> <1420575219-27061-3-git-send-email-atull@opensource.altera.com> <20150107084819.GA1887@amd> <20150109205643.GA5761@amd> <4D4EA2D5-68DD-49F7-9E2D-3A0A8F6AF9CA@konsulko.com> <20150110151118.GA16036@amd> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: atull Cc: mark.rutland@arm.com, linux-doc@vger.kernel.org, rubini@gnudd.com, Pantelis Antoniou , hpa@zytor.com, Steffen Trumtrar , devel@driverdev.osuosl.org, sameo@linux.intel.com, nico@linaro.org, ijc+devicetree@hellion.org.uk, Michal Simek , kyle.teske@ni.com, jgunthorpe@obsidianresearch.com, Grant Likely , davidb@codeaurora.org, Linus Walleij , cesarb@cesarb.net, devicetree@vger.kernel.org, jason@lakedaemon.net, pawel.moll@arm.com, iws@ovro.caltech.edu, Mark Brown , philip@balister.org, dinguyen@opensource.altera.com, Michal Simek , Greg Kroah-Hartman , yvanderv@opensource.altera.com, Linux Kernel Mailing List , Felipe Balbi , Alan List-Id: devicetree@vger.kernel.org T24gU3VuIDIwMTUtMDEtMTEgMTA6Mjk6MDAsIGF0dWxsIHdyb3RlOgo+IE9uIFNhdCwgMTAgSmFu IDIwMTUsIFBhdmVsIE1hY2hlayB3cm90ZToKPiAKPiA+IE9uIFNhdCAyMDE1LTAxLTEwIDEwOjEw OjUxLCBQYW50ZWxpcyBBbnRvbmlvdSB3cm90ZToKPiA+ID4gSGkgUGF2ZWwsCj4gPiA+IAo+ID4g PiA+IE9uIEphbiA5LCAyMDE1LCBhdCAyMjo1NiAsIFBhdmVsIE1hY2hlayA8cGF2ZWxAZGVueC5k ZT4gd3JvdGU6Cj4gPiA+ID4gCj4gPiA+ID4gT24gRnJpIDIwMTUtMDEtMDkgMTM6MTQ6MjQsIGF0 dWxsIHdyb3RlOgo+ID4gPiA+PiBPbiBXZWQsIDcgSmFuIDIwMTUsIFBhdmVsIE1hY2hlayB3cm90 ZToKPiA+ID4gPj4gCj4gPiA+ID4+PiBPbiBUdWUgMjAxNS0wMS0wNiAxNDoxMzozNywgYXR1bGxA b3BlbnNvdXJjZS5hbHRlcmEuY29tIHdyb3RlOgo+ID4gPiA+Pj4+ICsKPiA+ID4gPj4+PiArV2hh dDoJCS9zeXMvY2xhc3MvZnBnYV9tYW5hZ2VyLzxmcGdhPi9maXJtd2FyZQo+ID4gPiA+Pj4+ICtE YXRlOgkJT2N0b2JlciAyMDE0Cj4gPiA+ID4+Pj4gK0tlcm5lbFZlcnNpb246CTMuMTgKPiA+ID4g Pj4+PiArQ29udGFjdDoJQWxhbiBUdWxsIDxhdHVsbEBvcGVuc291cmNlLmFsdGVyYS5jb20+Cj4g PiA+ID4+Pj4gK0Rlc2NyaXB0aW9uOglOYW1lIG9mIHRoZSBGUEdBIGltYWdlIGZpbGUgdG8gbG9h ZCB1c2luZyBmaXJtd2FyZQo+ID4gPiA+Pj4+IGNsYXNzLgo+ID4gPiA+Pj4gCj4gPiA+ID4+PiBU aGlzIG9uZSBpcyB1Z2x5OiBpdCB1bm5lY2Nlc3NhcmlseSBwYXNzZXMgZmlybXdhcmUgbmFtZSB0 aHJvdWdoIHRoZQo+ID4gPiA+Pj4ga2VybmVsLiBKdXN0IG1ha2UgaW50ZXJmYWNlIGFuZCBjb2Rl IHNpbXBsZXIgYnkgYWx3YXlzIHBhc3NpbmcKPiA+ID4gPj4+ICJzb2NmcGdhLWZwZ2EtaW1hZ2Ui IG9yIHNvbWV0aGluZyBsaWtlIHRoYXQuCj4gPiA+ID4+PiAKPiA+ID4gPj4+IFRoYW5rcywKPiA+ ID4gPj4+IAkJCQkJCQkJCVBhdmVsCj4gPiA+ID4+IAo+ID4gPiA+PiBIaSBQYXZlbCwKPiA+ID4g Pj4gCj4gPiA+ID4+IEl0IG1pZ2h0IGJlIHVnbHkuICBJdCdzIG5vdCB1bm5lY2Vzc2FyeS4gIFNv bWUgdXNlcyBvZiBGUEdBcyBpbnZvbHZlCj4gPiA+ID4+IHN3aXRjaGluZyBvdXQgdGhlIEZQR0Eg aW1hZ2VzIGR5bmFtaWNhbGx5IHVuZGVyIGNvbnRyb2wgb2YgdGhlIHVzZXJzcGFjZS4KPiA+ID4g PiAKPiA+ID4gPiBUaGVuIGNvbmZpZ3VyZSB1ZGV2IHRvIGxvYWQgcmlnaHQgZmlybXdhcmUgZm9y IHlvdSwgb3IgbG4gLXMKPiA+ID4gPiBpbWFnZS1pLXdhbnQtbm93IHNvY2ZwZ2EtZnBnYS1pbWFn ZSB0byBzZWxlY3QgdGhlIG9uZSB0byByZWFk4oCmPwo+ID4gPiA+IAo+ID4gPiAKPiA+ID4gV2hv IHNhaWQgdGhhdCB1ZGV2IGlzIGdvaW5nIHRvIGJlIGF2YWlsYWJsZSBpbiB0aGUga2luZCBvZiBz eXN0ZW0gdGhpcyBpcyBnb2luZyB0byBlbmQgaW4/Cj4gPiAKPiA+IE5vb25lLgo+ID4gCj4gPiA+ IERvaW5nIGxuIC1zIHRyaWNrcyB0byBsb2FkIGEgZGlmZmVyZW50IGltYWdlPyBSZWFsbHk/Cj4g PiAKPiA+IEJ1dCBpZiB5b3UgZG9uJ3QgaGF2ZSB1ZGV2LCB5b3UgY2FuIGRvIGxuIC1zLiBJdCBp cyBiZXR0ZXIgdGhhbgo+ID4gb3Blbi1jb2Rpbmcgc3ltbGluayBmdW5jdGlvbmFsaXR5IGludG8K PiA+IC9zeXMvY2xhc3MvZnBnYV9tYW5hZ2VyLzxmcGdhPi9maXJtd2FyZSAuLi4gY2F1c2UgdGhh dCdzIHdoYXQgdGhpcyBpcy4KPiA+IAo+ID4gQWN0dWFsbHksIGNsZWFuIGltcGxlbWVudGF0aW9u IG9mICJmaXJtd2FyZSIgd291bGQgYmUgc3ltbGluayBpbgo+ID4gc3lzZnM7IGJ1dCBJJ2Qgc2F5 IHRoYXQgd291bGQgYmUgb3ZlcmRvaW5nIGl0Lgo+ID4gCj4gPiA+IEkgc2F5IHRoZSBpbnRlcmZh Y2UgaXMgZmluZSBhcyBpdCBpcy4KPiA+IAo+ID4gSSBzYXkgaXQgaXMgbm90Lgo+ID4gCQkJCQkJ CQkJUGF2ZWwKPiAKPiBIaSBQYXZlbCwKPiAKPiBJIHNlZSB0aGF0IHdlIGNvdWxkIGRvIGl0IHRo YXQgd2F5IGFuZCBpdCB3b3VsZCBlbGltaW5hdGUgb25lIG9mIHRoZQo+IHN5c2ZzIGZpbGVzICgu Li9mcGdhX21hbmFnZXIvPGZwZ2E+L2Zpcm13YXJlKS4gIEVpdGhlciB3YXkgd2UgYXJlIGFzc3Vt aW5nCj4gdGhhdCB0aGVyZSBhcmUgZnBnYSBpbWFnZXMgaW4gdGhlIGZpbGVzeXN0ZW0gaW4gdGhl IGZpcm13YXJlIHNlYXJjaCBwYXRoLAo+IHNvIEkgZG9uJ3Qgc2VlIHdoeSBhZGRpbmcgYSBwaWVj ZSBvZiBpbmRpcmVjdGlvbiAoc3ltbGluaykgbWFrZXMgdGhpbmdzCj4gYmV0dGVyLgoKV2VsbC4u IHlvdSBhcmUgYmFzaWNhbGx5IHJlLWltcGxlbWVudGluZyBzeW1saW5rIHdpdGgKLi4vZnBnYV9t YW5hZ2VyLzxmcGdhPi9maXJtd2FyZSAiZmlsZSIgaW4gc3lzZnMsIGFuZCBkb2luZyBpdApiYWRs eS4gSXQgaGFzIG5vIGFkdmFudGFnZXMgb3ZlciByZWFsIHN5bWxpbmsuCgo+IFdlIHdhbnQgdG8g YmUgYWJsZSB0byBzd2l0Y2ggb3V0IHRoZSBGUEdBIGltYWdlCj4gdW5kZXIgY29udHJvbCBvZiB1 c2Vyc3BhY2UuICBTbyB3ZSBkb24ndCB3YW50IGFuIGludGVyZmFjZSB0aGF0IG1ha2VzCj4gaXQg bW9yZSBjdW1iZXJzb21lIG9yIHRyaWVzIHRvIHByZXRlbmQgdGhhdCB0aGVyZSdzIG9ubHkgb25l IGltYWdlLgoKV2hhdCBpcyBjdW1iZXJzb21lIGFib3V0IHN5bWxpbms/IFdoeSBpcyAiZmFrZSIg c3ltbGluayBpbiBzeXNmcyBiZXR0ZXI/Cgo+IFByZXZpb3VzIHVzZXMgb2YgdGhlIGZpcm13YXJl IGxheWVyIGhhcyBiZWVuIHRvIHVzZSBpdCB0byBsb2FkIG9uY2UgYWZ0ZXIKPiBib290dXA7IHRo aXMgaXMgZGlmZmVyZW50IHNpbmNlIHNvbWUgdXNlIGNhc2VzIHdpbGwgd2FudCB0byBzd2l0Y2gg b3V0Cj4gdGhlIEZQR0EgaW1hZ2UuICBJZiBzb21lb25lIHdhbnRzIHRoZXJlIHRvIGJlIG9ubHkg b25lIEZQR0EgaW1hZ2Ugb24KPiB0aGUgRkdQQSBmb3JldmVyLCB0aGV5IHdpbGwgcHJvYmFibHkg bm90IGJlIHVzaW5nIHRoaXMgZnJhbWV3b3JrOyB0aGVpcgo+IEZQR0Egd2lsbCBwcm9iYWJseSBi ZSBsb2FkZWQgYmVmb3JlIExpbnV4IGJvb3RzIHVwLgoKV2h5PyBJIGhhdmUganVzdCBvbmUgaW1h Z2Ugb24gdGhlIGZwZ2EsIGFuZCB3b3VsZCBwcmVmZXIgdG8gbG9hZCBpdApmcm9tIExpbnV4LgoJ CQkJCQkJCVBhdmVsCi0tIAooZW5nbGlzaCkgaHR0cDovL3d3dy5saXZlam91cm5hbC5jb20vfnBh dmVsbWFjaGVrCihjZXNreSwgcGljdHVyZXMpIGh0dHA6Ly9hdHJleS5rYXJsaW4ubWZmLmN1bmku Y3ovfnBhdmVsL3BpY3R1cmUvaG9yc2VzL2Jsb2cuaHRtbApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkZXZlbCBtYWlsaW5nIGxpc3QKZGV2ZWxAbGludXhk cml2ZXJwcm9qZWN0Lm9yZwpodHRwOi8vZHJpdmVyZGV2LmxpbnV4ZHJpdmVycHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcml2ZXJkZXYtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752465AbbALIpi (ORCPT ); Mon, 12 Jan 2015 03:45:38 -0500 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:57159 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751335AbbALIpe (ORCPT ); Mon, 12 Jan 2015 03:45:34 -0500 Date: Mon, 12 Jan 2015 09:45:30 +0100 From: Pavel Machek To: atull Cc: Pantelis Antoniou , Greg Kroah-Hartman , jgunthorpe@obsidianresearch.com, hpa@zytor.com, Michal Simek , Michal Simek , rdunlap@infradead.org, Linux Kernel Mailing List , devicetree@vger.kernel.org, robh+dt@kernel.org, Grant Likely , iws@ovro.caltech.edu, linux-doc@vger.kernel.org, Mark Brown , philip@balister.org, rubini@gnudd.com, Steffen Trumtrar , jason@lakedaemon.net, kyle.teske@ni.com, nico@linaro.org, Felipe Balbi , m.chehab@samsung.com, davidb@codeaurora.org, Rob Landley , davem@davemloft.net, cesarb@cesarb.net, sameo@linux.intel.com, akpm@linux-foundation.org, Linus Walleij , pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, devel@driverdev.osuosl.org, Alan Tull , dinguyen@opensource.altera.com, yvanderv@opensource.altera.com Subject: Re: [PATCH v8 2/4] fpga manager: add sysfs interface document Message-ID: <20150112084530.GA28681@amd> References: <1420575219-27061-1-git-send-email-atull@opensource.altera.com> <1420575219-27061-3-git-send-email-atull@opensource.altera.com> <20150107084819.GA1887@amd> <20150109205643.GA5761@amd> <4D4EA2D5-68DD-49F7-9E2D-3A0A8F6AF9CA@konsulko.com> <20150110151118.GA16036@amd> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun 2015-01-11 10:29:00, atull wrote: > On Sat, 10 Jan 2015, Pavel Machek wrote: > > > On Sat 2015-01-10 10:10:51, Pantelis Antoniou wrote: > > > Hi Pavel, > > > > > > > On Jan 9, 2015, at 22:56 , Pavel Machek wrote: > > > > > > > > On Fri 2015-01-09 13:14:24, atull wrote: > > > >> On Wed, 7 Jan 2015, Pavel Machek wrote: > > > >> > > > >>> On Tue 2015-01-06 14:13:37, atull@opensource.altera.com wrote: > > > >>>> + > > > >>>> +What: /sys/class/fpga_manager//firmware > > > >>>> +Date: October 2014 > > > >>>> +KernelVersion: 3.18 > > > >>>> +Contact: Alan Tull > > > >>>> +Description: Name of the FPGA image file to load using firmware > > > >>>> class. > > > >>> > > > >>> This one is ugly: it unneccessarily passes firmware name through the > > > >>> kernel. Just make interface and code simpler by always passing > > > >>> "socfpga-fpga-image" or something like that. > > > >>> > > > >>> Thanks, > > > >>> Pavel > > > >> > > > >> Hi Pavel, > > > >> > > > >> It might be ugly. It's not unnecessary. Some uses of FPGAs involve > > > >> switching out the FPGA images dynamically under control of the userspace. > > > > > > > > Then configure udev to load right firmware for you, or ln -s > > > > image-i-want-now socfpga-fpga-image to select the one to read…? > > > > > > > > > > Who said that udev is going to be available in the kind of system this is going to end in? > > > > Noone. > > > > > Doing ln -s tricks to load a different image? Really? > > > > But if you don't have udev, you can do ln -s. It is better than > > open-coding symlink functionality into > > /sys/class/fpga_manager//firmware ... cause that's what this is. > > > > Actually, clean implementation of "firmware" would be symlink in > > sysfs; but I'd say that would be overdoing it. > > > > > I say the interface is fine as it is. > > > > I say it is not. > > Pavel > > Hi Pavel, > > I see that we could do it that way and it would eliminate one of the > sysfs files (../fpga_manager//firmware). Either way we are assuming > that there are fpga images in the filesystem in the firmware search path, > so I don't see why adding a piece of indirection (symlink) makes things > better. Well.. you are basically re-implementing symlink with ../fpga_manager//firmware "file" in sysfs, and doing it badly. It has no advantages over real symlink. > We want to be able to switch out the FPGA image > under control of userspace. So we don't want an interface that makes > it more cumbersome or tries to pretend that there's only one image. What is cumbersome about symlink? Why is "fake" symlink in sysfs better? > Previous uses of the firmware layer has been to use it to load once after > bootup; this is different since some use cases will want to switch out > the FPGA image. If someone wants there to be only one FPGA image on > the FGPA forever, they will probably not be using this framework; their > FPGA will probably be loaded before Linux boots up. Why? I have just one image on the fpga, and would prefer to load it from Linux. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html