Re: [RFC][PATCH 1/2] firmware version management: addfirmware_version()
From: Marcel Holtmann
Date: Sun Jul 09 2006 - 09:28:38 EST
Hi Martin,
> > > > It would be good if a driver knows which firmware version will be
> > > > written to the hardware. I'm talking about external firmware files
> > > > claimed by request_firmware().
> > > >
> > > > We know so many different firmware files for bcm43xx and it becomes
> > > > more and more complicated without some firmware version management.
> > > >
> > > > This patch can create the md5sum of a firmware file. Then it looks into
> > > > a table to figure out which version number is assigned to the hashcode.
> > > > That table is placed in the driver code and an example for bcm43xx comes
> > > > in my next mail. Any comments?
> > >
> > > why does this have to happen on the kernel side? Isn't it a lot easier
> > > and better to let the userspace side of things do this work, and even
> > > have a userspace file with the md5->version mapping? Or are there some
> > > practical considerations that make that hard to impossible?
> >
> > I fully agree that we shouldn't put firmware versioning into the kernel
> > drivers. The pattern you give to request_firmware() can be mapped to any
> > file on the file system. And you also have the link to the device object
> > and I prefer you export a sysfs file for the version so that the helper
> > application loading the firmware can pick the right file.
>
> Bcm43xx has no helper application to upload the firmware. This is done
> in the driver. It's RAM based hardware without a Flash-ROM. The driver
> has to upload the firmware in the init phase after each reset.
>
> The driver gets a firmware file from /lib/firmware/ without knowing
> which version this is. It's not possible to say enable this in the
> driver if you find a firmware x and disable that if it's only version
> y. That was my motivation to start thinking about firmware versioning.
then this is driver specific and you should handle the versioning of the
firmware in your driver. There is no need to bother firmware_class with
that task.
Regards
Marcel
-
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/