All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alvin Šipraga" <ALSI@bang-olufsen.dk>
To: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Arend van Spriel <aspriel@gmail.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	"asahi@lists.linux.dev" <asahi@lists.linux.dev>,
	"brcm80211-dev-list.pdl@broadcom.com"
	<brcm80211-dev-list.pdl@broadcom.com>,
	"David S. Miller" <davem@davemloft.net>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Hector Martin <marcan@marcan.st>,
	Jakub Kicinski <kuba@kernel.org>, Kalle Valo <kvalo@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Rafa__ Mi__ecki <zajec5@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	"SHA-cyfmac-dev-list@infineon.com"
	<SHA-cyfmac-dev-list@infineon.com>,
	Sven Peter <sven@svenpeter.dev>
Subject: Re: [PATCH wireless-next v2 07/12] brcmfmac: pcie: Perform firmware selection for Apple platforms
Date: Thu, 15 Sep 2022 15:34:26 +0000	[thread overview]
Message-ID: <20220915153425.6ugzqhvhtr55v25w@bang-olufsen.dk> (raw)
In-Reply-To: <E1oXg7s-0064vH-81@rmk-PC.armlinux.org.uk>

On Mon, Sep 12, 2022 at 10:53:12AM +0100, Russell King wrote:
> From: Hector Martin <marcan@marcan.st>
> 
> On Apple platforms, firmware selection uses the following elements:
> 
>   Property         Example   Source
>   ==============   =======   ========================
> * Chip name        4378      Device ID
> * Chip revision    B1        OTP
> * Platform         shikoku   DT (ARM64) or ACPI (x86)
> * Module type      RASP      OTP
> * Module vendor    m         OTP
> * Module version   6.11      OTP
> * Antenna SKU      X3        DT (ARM64) or ACPI (x86)
> 
> In macOS, these firmwares are stored using filenames in this format
> under /usr/share/firmware/wifi:
> 
>     C-4378__s-B1/P-shikoku-X3_M-RASP_V-m__m-6.11.txt
> 
> To prepare firmwares for Linux, we rename these to a scheme following
> the existing brcmfmac convention:
> 
>     brcmfmac<chip><lower(rev)>-pcie.apple,<platform>-<mod_type>-\
> 	<mod_vendor>-<mod_version>-<antenna_sku>.txt
> 
> The NVRAM uses all the components, while the firmware and CLM blob only
> use the chip/revision/platform/antenna_sku:
> 
>     brcmfmac<chip><lower(rev)>-pcie.apple,<platform>-<antenna_sku>.bin
> 
> e.g.
> 
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m-6.11-X3.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-X3.bin
> 
> In addition, since there are over 1000 files in total, many of which are
> symlinks or outright duplicates, we deduplicate and prune the firmware
> tree to reduce firmware filenames to fewer dimensions. For example, the
> shikoku platform (MacBook Air M1 2020) simplifies to just 4 files:
> 
>     brcm/brcmfmac4378b1-pcie.apple,shikoku.clm_blob
>     brcm/brcmfmac4378b1-pcie.apple,shikoku.bin
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-u.txt
> 
> This reduces the total file count to around 170, of which 75 are
> symlinks and 95 are regular files: 7 firmware blobs, 27 CLM blobs, and
> 61 NVRAM config files. We also slightly process NVRAM files to correct
> some formatting issues.
> 
> To handle this, the driver must try the following path formats when
> looking for firmware files:
> 
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m-6.11-X3.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m-6.11.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-X3.txt *
>     brcm/brcmfmac4378b1-pcie.apple,shikoku.txt
> 
> * Not relevant for NVRAM, only for firmware/CLM.
> 
> The chip revision nominally comes from OTP on Apple platforms, but it
> can be mapped to the PCI revision number, so we ignore the OTP revision
> and continue to use the existing PCI revision mechanism to identify chip
> revisions, as the driver already does for other chips. Unfortunately,
> the mapping is not consistent between different chip types, so this has
> to be determined experimentally.
> 
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Hector Martin <marcan@marcan.st>
> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---

Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>

>  .../broadcom/brcm80211/brcmfmac/pcie.c        | 41 ++++++++++++++++++-
>  1 file changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> index 76ca835378bb..3fb590a6e03b 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> @@ -2068,8 +2068,45 @@ brcmf_pcie_prepare_fw_request(struct brcmf_pciedev_info *devinfo)
>  	fwreq->domain_nr = pci_domain_nr(devinfo->pdev->bus) + 1;
>  	fwreq->bus_nr = devinfo->pdev->bus->number;
>  
> -	brcmf_dbg(PCIE, "Board: %s\n", devinfo->settings->board_type);
> -	fwreq->board_types[0] = devinfo->settings->board_type;
> +	/* Apple platforms with fancy firmware/NVRAM selection */
> +	if (devinfo->settings->board_type &&
> +	    devinfo->settings->antenna_sku &&
> +	    devinfo->otp.valid) {
> +		const struct brcmf_otp_params *otp = &devinfo->otp;
> +		struct device *dev = &devinfo->pdev->dev;
> +		const char **bt = fwreq->board_types;
> +
> +		brcmf_dbg(PCIE, "Apple board: %s\n",
> +			  devinfo->settings->board_type);
> +
> +		/* Example: apple,shikoku-RASP-m-6.11-X3 */
> +		bt[0] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s-%s-%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module, otp->vendor, otp->version,
> +				       devinfo->settings->antenna_sku);
> +		bt[1] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s-%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module, otp->vendor, otp->version);
> +		bt[2] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module, otp->vendor);
> +		bt[3] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module);
> +		bt[4] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s",
> +				       devinfo->settings->board_type,
> +				       devinfo->settings->antenna_sku);
> +		bt[5] = devinfo->settings->board_type;
> +
> +		if (!bt[0] || !bt[1] || !bt[2] || !bt[3] || !bt[4]) {
> +			kfree(fwreq);
> +			return NULL;
> +		}
> +

Spurious newline?

> +	} else {
> +		brcmf_dbg(PCIE, "Board: %s\n", devinfo->settings->board_type);
> +		fwreq->board_types[0] = devinfo->settings->board_type;
> +	}
>  
>  	return fwreq;
>  }
> -- 
> 2.30.2
>

WARNING: multiple messages have this Message-ID (diff)
From: "Alvin Šipraga" <ALSI@bang-olufsen.dk>
To: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Arend van Spriel <aspriel@gmail.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Hante Meuleman <hante.meuleman@broadcom.com>,
	Alyssa Rosenzweig <alyssa@rosenzweig.io>,
	"asahi@lists.linux.dev" <asahi@lists.linux.dev>,
	"brcm80211-dev-list.pdl@broadcom.com"
	<brcm80211-dev-list.pdl@broadcom.com>,
	"David S. Miller" <davem@davemloft.net>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Hector Martin <marcan@marcan.st>,
	Jakub Kicinski <kuba@kernel.org>, Kalle Valo <kvalo@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Rafa__ Mi__ecki <zajec5@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	"SHA-cyfmac-dev-list@infineon.com"
	<SHA-cyfmac-dev-list@infineon.com>,
	Sven Peter <sven@svenpeter.dev>
Subject: Re: [PATCH wireless-next v2 07/12] brcmfmac: pcie: Perform firmware selection for Apple platforms
Date: Thu, 15 Sep 2022 15:34:26 +0000	[thread overview]
Message-ID: <20220915153425.6ugzqhvhtr55v25w@bang-olufsen.dk> (raw)
In-Reply-To: <E1oXg7s-0064vH-81@rmk-PC.armlinux.org.uk>

On Mon, Sep 12, 2022 at 10:53:12AM +0100, Russell King wrote:
> From: Hector Martin <marcan@marcan.st>
> 
> On Apple platforms, firmware selection uses the following elements:
> 
>   Property         Example   Source
>   ==============   =======   ========================
> * Chip name        4378      Device ID
> * Chip revision    B1        OTP
> * Platform         shikoku   DT (ARM64) or ACPI (x86)
> * Module type      RASP      OTP
> * Module vendor    m         OTP
> * Module version   6.11      OTP
> * Antenna SKU      X3        DT (ARM64) or ACPI (x86)
> 
> In macOS, these firmwares are stored using filenames in this format
> under /usr/share/firmware/wifi:
> 
>     C-4378__s-B1/P-shikoku-X3_M-RASP_V-m__m-6.11.txt
> 
> To prepare firmwares for Linux, we rename these to a scheme following
> the existing brcmfmac convention:
> 
>     brcmfmac<chip><lower(rev)>-pcie.apple,<platform>-<mod_type>-\
> 	<mod_vendor>-<mod_version>-<antenna_sku>.txt
> 
> The NVRAM uses all the components, while the firmware and CLM blob only
> use the chip/revision/platform/antenna_sku:
> 
>     brcmfmac<chip><lower(rev)>-pcie.apple,<platform>-<antenna_sku>.bin
> 
> e.g.
> 
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m-6.11-X3.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-X3.bin
> 
> In addition, since there are over 1000 files in total, many of which are
> symlinks or outright duplicates, we deduplicate and prune the firmware
> tree to reduce firmware filenames to fewer dimensions. For example, the
> shikoku platform (MacBook Air M1 2020) simplifies to just 4 files:
> 
>     brcm/brcmfmac4378b1-pcie.apple,shikoku.clm_blob
>     brcm/brcmfmac4378b1-pcie.apple,shikoku.bin
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-u.txt
> 
> This reduces the total file count to around 170, of which 75 are
> symlinks and 95 are regular files: 7 firmware blobs, 27 CLM blobs, and
> 61 NVRAM config files. We also slightly process NVRAM files to correct
> some formatting issues.
> 
> To handle this, the driver must try the following path formats when
> looking for firmware files:
> 
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m-6.11-X3.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m-6.11.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP-m.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-RASP.txt
>     brcm/brcmfmac4378b1-pcie.apple,shikoku-X3.txt *
>     brcm/brcmfmac4378b1-pcie.apple,shikoku.txt
> 
> * Not relevant for NVRAM, only for firmware/CLM.
> 
> The chip revision nominally comes from OTP on Apple platforms, but it
> can be mapped to the PCI revision number, so we ignore the OTP revision
> and continue to use the existing PCI revision mechanism to identify chip
> revisions, as the driver already does for other chips. Unfortunately,
> the mapping is not consistent between different chip types, so this has
> to be determined experimentally.
> 
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Hector Martin <marcan@marcan.st>
> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---

Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>

>  .../broadcom/brcm80211/brcmfmac/pcie.c        | 41 ++++++++++++++++++-
>  1 file changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> index 76ca835378bb..3fb590a6e03b 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> @@ -2068,8 +2068,45 @@ brcmf_pcie_prepare_fw_request(struct brcmf_pciedev_info *devinfo)
>  	fwreq->domain_nr = pci_domain_nr(devinfo->pdev->bus) + 1;
>  	fwreq->bus_nr = devinfo->pdev->bus->number;
>  
> -	brcmf_dbg(PCIE, "Board: %s\n", devinfo->settings->board_type);
> -	fwreq->board_types[0] = devinfo->settings->board_type;
> +	/* Apple platforms with fancy firmware/NVRAM selection */
> +	if (devinfo->settings->board_type &&
> +	    devinfo->settings->antenna_sku &&
> +	    devinfo->otp.valid) {
> +		const struct brcmf_otp_params *otp = &devinfo->otp;
> +		struct device *dev = &devinfo->pdev->dev;
> +		const char **bt = fwreq->board_types;
> +
> +		brcmf_dbg(PCIE, "Apple board: %s\n",
> +			  devinfo->settings->board_type);
> +
> +		/* Example: apple,shikoku-RASP-m-6.11-X3 */
> +		bt[0] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s-%s-%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module, otp->vendor, otp->version,
> +				       devinfo->settings->antenna_sku);
> +		bt[1] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s-%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module, otp->vendor, otp->version);
> +		bt[2] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module, otp->vendor);
> +		bt[3] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s",
> +				       devinfo->settings->board_type,
> +				       otp->module);
> +		bt[4] = devm_kasprintf(dev, GFP_KERNEL, "%s-%s",
> +				       devinfo->settings->board_type,
> +				       devinfo->settings->antenna_sku);
> +		bt[5] = devinfo->settings->board_type;
> +
> +		if (!bt[0] || !bt[1] || !bt[2] || !bt[3] || !bt[4]) {
> +			kfree(fwreq);
> +			return NULL;
> +		}
> +

Spurious newline?

> +	} else {
> +		brcmf_dbg(PCIE, "Board: %s\n", devinfo->settings->board_type);
> +		fwreq->board_types[0] = devinfo->settings->board_type;
> +	}
>  
>  	return fwreq;
>  }
> -- 
> 2.30.2
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-09-15 15:34 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-12  9:52 [PATCH wireless-next v2 0/12] Add support for bcm4378 on Apple platforms Russell King (Oracle)
2022-09-12  9:52 ` Russell King (Oracle)
2022-09-12  9:52 ` [PATCH wireless-next v2 01/12] dt-bindings: net: bcm4329-fmac: Add Apple properties & chips Russell King
2022-09-12  9:52   ` Russell King
2022-09-12 11:59   ` Alvin Šipraga
2022-09-12 11:59     ` Alvin Šipraga
2022-09-12 12:04     ` Russell King (Oracle)
2022-09-12 12:04       ` Russell King (Oracle)
2022-09-12 14:01       ` Russell King (Oracle)
2022-09-12 14:01         ` Russell King (Oracle)
2022-09-12 14:13         ` Mark Kettenis
2022-09-12 14:13           ` Mark Kettenis
2022-09-12 14:27           ` Alvin Šipraga
2022-09-12 14:27             ` Alvin Šipraga
2022-09-12 14:29             ` Russell King (Oracle)
2022-09-12 14:29               ` Russell King (Oracle)
2022-09-12  9:52 ` [PATCH wireless-next v2 02/12] brcmfmac: firmware: Handle per-board clm_blob files Russell King
2022-09-12  9:52   ` Russell King
2022-09-15 15:33   ` Alvin Šipraga
2022-09-15 15:33     ` Alvin Šipraga
2022-09-12  9:52 ` [PATCH wireless-next v2 03/12] brcmfmac: pcie/sdio/usb: Get CLM blob via standard firmware mechanism Russell King
2022-09-12  9:52   ` Russell King
2022-09-15 15:33   ` Alvin Šipraga
2022-09-15 15:33     ` Alvin Šipraga
2022-09-12  9:52 ` [PATCH wireless-next v2 04/12] brcmfmac: firmware: Support passing in multiple board_types Russell King
2022-09-12  9:52   ` Russell King
2022-09-15 15:34   ` Alvin Šipraga
2022-09-15 15:34     ` Alvin Šipraga
2022-09-12  9:53 ` [PATCH wireless-next v2 05/12] brcmfmac: pcie: Read Apple OTP information Russell King
2022-09-12  9:53   ` Russell King
2022-09-12  9:53 ` [PATCH wireless-next v2 06/12] brcmfmac: of: Fetch Apple properties Russell King
2022-09-12  9:53   ` Russell King
2022-09-15 15:34   ` Alvin Šipraga
2022-09-15 15:34     ` Alvin Šipraga
2022-09-12  9:53 ` [PATCH wireless-next v2 07/12] brcmfmac: pcie: Perform firmware selection for Apple platforms Russell King
2022-09-12  9:53   ` Russell King
2022-09-15 15:34   ` Alvin Šipraga [this message]
2022-09-15 15:34     ` Alvin Šipraga
2022-09-12  9:53 ` [PATCH wireless-next v2 08/12] brcmfmac: firmware: Allow platform to override macaddr Russell King
2022-09-12  9:53   ` Russell King
2022-09-15 15:34   ` Alvin Šipraga
2022-09-15 15:34     ` Alvin Šipraga
2022-09-12  9:53 ` [PATCH wireless-next v2 09/12] brcmfmac: msgbuf: Increase RX ring sizes to 1024 Russell King
2022-09-12  9:53   ` Russell King
2022-09-15 15:34   ` Alvin Šipraga
2022-09-15 15:34     ` Alvin Šipraga
2022-09-12  9:53 ` [PATCH wireless-next v2 10/12] brcmfmac: pcie: Support PCIe core revisions >= 64 Russell King
2022-09-12  9:53   ` Russell King
2022-09-12  9:53 ` [PATCH wireless-next v2 11/12] brcmfmac: pcie: Add IDs/properties for BCM4378 Russell King
2022-09-12  9:53   ` Russell King
2022-09-15 15:34   ` Alvin Šipraga
2022-09-15 15:34     ` Alvin Šipraga
2022-09-15 16:54     ` Russell King (Oracle)
2022-09-15 16:54       ` Russell King (Oracle)
2022-09-15 16:59       ` Alvin Šipraga
2022-09-15 16:59         ` Alvin Šipraga
2022-09-16  7:31         ` Kalle Valo
2022-09-16  7:31           ` Kalle Valo
2022-09-12  9:53 ` [PATCH wireless-next v2 12/12] arm64: dts: apple: Add WiFi module and antenna properties Russell King
2022-09-12  9:53   ` Russell King
2022-09-13  6:52   ` Kalle Valo
2022-09-13  6:52     ` Kalle Valo
2022-09-13 16:30     ` Hector Martin
2022-09-13 16:30       ` Hector Martin
2022-09-16  7:28       ` Kalle Valo
2022-09-16  7:28         ` Kalle Valo
2022-09-14 10:31 ` [PATCH wireless-next v2 0/12] Add support for bcm4378 on Apple platforms Arend Van Spriel
2022-09-14 10:31   ` Arend Van Spriel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220915153425.6ugzqhvhtr55v25w@bang-olufsen.dk \
    --to=alsi@bang-olufsen.dk \
    --cc=SHA-cyfmac-dev-list@infineon.com \
    --cc=alyssa@rosenzweig.io \
    --cc=asahi@lists.linux.dev \
    --cc=aspriel@gmail.com \
    --cc=brcm80211-dev-list.pdl@broadcom.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=franky.lin@broadcom.com \
    --cc=hante.meuleman@broadcom.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marcan@marcan.st \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=robh+dt@kernel.org \
    --cc=sven@svenpeter.dev \
    --cc=zajec5@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.