Subject: Kernelspace firmware loaders (was: linux-next: manual merge of the staging tree with the v4l-dvb tree)

From: Laurent Pinchart <[email-masked]>
Date: Mon, 7 Mar 2011 15:07:36 +0100

On Friday 04 March 2011 18:54:24 Mauro Carvalho Chehab wrote:
> Em 04-03-2011 14:13, Greg KH escreveu:
> > On Fri, Mar 04, 2011 at 04:39:05PM +1100, Stephen Rothwell wrote:
> >> Today's linux-next merge of the staging tree got a conflict in
> >> drivers/staging/Kconfig between commit
> >> a1256092a1e87511c977a3d0ef96151cda77e5c9 ("[media] Altera FPGA firmware
> >> download module") from the v4l-dvb tree and commit
> >> 0867b42113ec4eb8646eb361b15cbcfb741ddf5b ("staging: gma500: Intel GMA500
> >> staging driver") from the staging tree.
> >> 
> >> I fixed it up (see below) and can carry the fix as necessary.
> > 
> > That looks correct.
> > 
> > Mauro, what is this driver and why is it added to the staging tree?
> 
> This driver implements the FPGA programming logic for a firmware required
> by a DVB driver, and was proposed initially for 2.6.37 inclusion. During
> the 2.6.38 development cycle, it suffered several revisions, based on our
> input at the media and lkml mailing lists, where Igor fixed all
> CodingStyle issues.
> 
> In the last minute, during 2.6.38 merge window, two developers (Laurent and
> Ben) [1] complained against adding a driver for loading FPGA firmware
> as-is. So, I decided to add it, for now, at staging, to avoid needing to
> postpone a long series of patches again just because of that, especially
> since a series of DVB-C devices are without support on Linux without this
> patch series, and there are very few DVB-C devices currently supported.
> 
> The Altera driver is compliant with CodingStyle, and, from my side, it is
> ok to move it to drivers/others, but it doesn't hurt to give some time for
> Ben and Laurent to propose alternative way of implementing the firmware
> request logic.
> 
> If nothing happens until 2.6.40 merge window, I think we should go forward
> and move it to the proper place.

What's the policy regarding firmware loaders in kernelspace vs. userspace ? 
JTAG is a quite complex protocol, and we already have lots of JTAG libraries 
in userspace (http://urjtag.org/ seems to be the most popular one). We also 
have userspace firmware loaders (such as fxload for the Cypress EZ USB 
microcontrollers). Do we need a kernelspace JTAG implementation ?

> [1] http://www.mail-archive.com/[email-masked]/msg26422.html

-- 
Regards,

Laurent Pinchart