On 22.11.2024 1:49 PM, Konrad Dybcio wrote: > On 20.11.2024 10:54 AM, Cheng Jiang wrote: >> Several Qualcomm projects will use the same Bluetooth chip, each >> focusing on different features. For instance, consumer projects >> prioritize the A2DP SRC feature, while IoT projects focus on the A2DP >> SINK feature, which may have more optimizations for coexistence when >> acting as a SINK. Due to the patch size, it is not feasible to include >> all features in a single firmware. >> >> Therefore, the 'product-variant' devicetree property is used to provide >> product information for the Bluetooth driver to load the appropriate >> firmware. >> >> If this property is not defined, the default firmware will be loaded, >> ensuring there are no backward compatibility issues with older >> devicetrees. >> >> The product-variant defines like this: >> 0 - 15 (16 bits) are product line specific definitions >> 16 - 23 (8 bits) are for the product line. > > Product lines don't exist in the kernel. Please describe the actual > differences between those files instead. Ok, so it seems to be feature set. This definitely should be userspace-toggleable. We can always reset the device and reload firmware at runtime, so I see no point in having to educate the kernel about this. I'd say A2DP SRC is probably preferred to be the deafult, as we have people running bare upstream on laptops and other consumer devices. Konrad