Re: [PATCH v2 09/35] brcmfmac: pcie: Perform firmware selection for Apple platforms

From: Hector Martin
Date: Thu Jan 06 2022 - 08:13:10 EST


On 04/01/2022 23.24, Andy Shevchenko wrote:
> On Tue, Jan 4, 2022 at 9:28 AM Hector Martin <marcan@xxxxxxxxx> wrote:

>> + /* Example: apple,shikoku-RASP-m-6.11-X3 */
>> + len = (strlen(devinfo->settings->board_type) + 1 +
>> + strlen(devinfo->otp.module) + 1 +
>> + strlen(devinfo->otp.vendor) + 1 +
>> + strlen(devinfo->otp.version) + 1 +
>> + strlen(devinfo->settings->antenna_sku) + 1);
>
> NIH devm_kasprrintf() ?

This one builds it incrementally, but you're right, kasprintf is
probably more readable here and fewer lines even though it'll duplicate
all the previous argument references for each pattern. I'll redo it with
devm_kasprintf().

>
>> + /* apple,shikoku */
>> + fwreq->board_types[5] = devinfo->settings->board_type;
>> +
>> + buf = devm_kzalloc(&devinfo->pdev->dev, len, GFP_KERNEL);
>> +
>> + strscpy(buf, devinfo->settings->board_type, len);
>> + strlcat(buf, "-", len);
>> + strlcat(buf, devinfo->settings->antenna_sku, len);
>> + /* apple,shikoku-X3 */
>> + fwreq->board_types[4] = devm_kstrdup(&devinfo->pdev->dev, buf,
>> + GFP_KERNEL);
>> +
>> + strscpy(buf, devinfo->settings->board_type, len);
>> + strlcat(buf, "-", len);
>> + strlcat(buf, devinfo->otp.module, len);
>> + /* apple,shikoku-RASP */
>> + fwreq->board_types[3] = devm_kstrdup(&devinfo->pdev->dev, buf,
>> + GFP_KERNEL);
>> +
>> + strlcat(buf, "-", len);
>> + strlcat(buf, devinfo->otp.vendor, len);
>> + /* apple,shikoku-RASP-m */
>> + fwreq->board_types[2] = devm_kstrdup(&devinfo->pdev->dev, buf,
>> + GFP_KERNEL);
>> +
>> + strlcat(buf, "-", len);
>> + strlcat(buf, devinfo->otp.version, len);
>> + /* apple,shikoku-RASP-m-6.11 */
>> + fwreq->board_types[1] = devm_kstrdup(&devinfo->pdev->dev, buf,
>> + GFP_KERNEL);
>> +
>> + strlcat(buf, "-", len);
>> + strlcat(buf, devinfo->settings->antenna_sku, len);
>> + /* apple,shikoku-RASP-m-6.11-X3 */
>> + fwreq->board_types[0] = buf;
>


--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub