+robh On 04/04/2019 11:08, Rocky Liao wrote: > This patchs patch adds an optional device property nvm-postfix to allow the > driver to load customized nvm file based on this property While text /before/ is indeed called a "prefix", text /after/ is not a "postfix", but a "suffix". > Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt > index 824c0e2..70cda4b 100644 > --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt > +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt > @@ -16,6 +16,7 @@ Optional properties for compatible string qcom,qca6174-bt: > > - enable-gpios: gpio specifier used to enable chip > - clocks: clock provided to the controller (SUSCLK_32KHZ) > + - nvm-postfix: nvm file postfix to load customized nvm file The device tree is supposed to describe hardware. The name of which file to load can hardly be considered part of the HW. Possible solutions: 1) derive the file name from the compatible string 2) pass the name as a module parameter 3) something else > @@ -39,6 +40,7 @@ serial@7570000 { > > enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>; > clocks = <&divclk4>; > + nvm-postfix = "i2s"; > }; > }; If one provides the entire suffix, including the underscore, then you can simplify the code: snprintf(config.fwname, sizeof(config.fwname), "qca/nvm_%08x%s.bin", soc_ver, suffix ? suffix : ""); Regards.