| fmc-fakedev | 
 | =========== | 
 |  | 
 | This package includes a software-only device, called fmc-fakedev, which | 
 | is able to register up to 4 mezzanines (by default it registers one). | 
 | Unlike the SPEC driver, which creates an FMC device for each PCI cards | 
 | it manages, this module creates a single instance of its set of | 
 | mezzanines. | 
 |  | 
 | It is meant as the simplest possible example of how a driver should be | 
 | written, and it includes a fake EEPROM image (built using the tools | 
 | described in *note FMC Identification::),, which by default is | 
 | replicated for each fake mezzanine. | 
 |  | 
 | You can also use this device to verify the match algorithms, by asking | 
 | it to test your own EEPROM image. You can provide the image by means of | 
 | the eeprom= module parameter: the new EEPROM image is loaded, as usual, | 
 | by means of the firmware loader.  This example shows the defaults and a | 
 | custom EEPROM image: | 
 |  | 
 |      spusa.root# insmod fmc-fakedev.ko | 
 |      [   99.971247]  fake-fmc-carrier: mezzanine 0 | 
 |      [   99.975393]       Manufacturer: fake-vendor | 
 |      [   99.979624]       Product name: fake-design-for-testing | 
 |      spusa.root# rmmod fmc-fakedev | 
 |      spusa.root# insmod fmc-fakedev.ko eeprom=fdelay-eeprom.bin | 
 |      [  121.447464]  fake-fmc-carrier: Mezzanine 0: eeprom "fdelay-eeprom.bin" | 
 |      [  121.462725]  fake-fmc-carrier: mezzanine 0 | 
 |      [  121.466858]       Manufacturer: CERN | 
 |      [  121.470477]       Product name: FmcDelay1ns4cha | 
 |      spusa.root# rmmod fmc-fakedev | 
 |  | 
 | After loading the device, you can use the write_ee method do modify its | 
 | own internal fake EEPROM: whenever the image is overwritten starting at | 
 | offset 0, the module will unregister and register again the FMC device. | 
 | This is shown in fmc-write-eeprom.txt |