RE: [PATCH] Bluetooth: btmrvl: add manufacturing mode support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel,

> 
> Hi Amitkumar,
> 
> > Default firmware is chosen when driver is loaded. This patch adds
> > provision to download manufacturing firmware which is used for RF
> > tests in the factory through sysfs configuration.
> >
> > Procedure
> > 1) Switch from normal mode to manufacturing mode.
> >    echo 1 > /sys/class/bluetooth/hci0/mfg_mode.
> >    echo "mrvl/sdio8897_mfg.bin" >
> /sys/class/bluetooth/hci0/mfg_firmware
> >    Trigger chip reset from wlan driver.
> >
> > 2) Switch from manufacturing mode to normal mode.
> >   echo 0 > /sys/class/bluetooth/hci0/mfg_mode
> >   Trigger chip reset from wlan driver.
> 
> I am really not happy with this being sysfs. It would mean this is an
> API now and clearly it is Marvell specific. So I would propose that you
> do this via debugfs and clearly prefix it with mrvl_ to indicate that
> this is Marvell specific.
> 
> Also I do not see the need for providing the firmware name. We could
> just have that hardcoded in the driver. Since the name is so generic
> depending on the model you have, it will not change. Also if devices do
> not support manufacturing firmware, then do not expose the debugfs file.
> That way this becomes easy testable.
> 

Thanks for your comments. We will work on them.
Basically we intend to change firmware runtime while switching between normal and manufacturing mode. This is possible by power cycling the chip using our wlan driver's API.
When device is reenumerated, we are checking global mfg_mode variable(configured via sysfs/debugfs earlier) and accordingly choosing firmware for download. We will check if we can avoid global variable usage.

Regards,
Amit
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux