From: kernel test robot <lkp@intel.com>
To: Martin Kepplinger <martin.kepplinger@puri.sm>,
laurent.pinchart@ideasonboard.com, mchehab@kernel.org
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
devicetree@vger.kernel.org, kernel@pengutronix.de,
kernel@puri.sm, linux-arm-kernel@lists.infradead.org,
linux-imx@nxp.com, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org
Subject: Re: [PATCH v2 1/2] media: imx: imx7-media-csi: add support for imx8mq
Date: Sat, 20 Nov 2021 09:30:13 +0800 [thread overview]
Message-ID: <202111200934.OSVpdlff-lkp@intel.com> (raw)
In-Reply-To: <20211118063347.3370678-1-martin.kepplinger@puri.sm>
[-- Attachment #1: Type: text/plain, Size: 5316 bytes --]
Hi Martin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc1 next-20211118]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
base: git://linuxtv.org/media_tree.git master
config: arm64-randconfig-r003-20211118 (attached as .config)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/053ee9aefb4758625038e03df68bb468abf0cd4a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
git checkout 053ee9aefb4758625038e03df68bb468abf0cd4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/staging/media/imx/imx7-media-csi.c:1183:15: warning: cast to smaller integer type 'enum imx_csi_model' from 'const void *' [-Wvoid-pointer-to-enum-cast]
csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1183 drivers/staging/media/imx/imx7-media-csi.c
1153
1154 static int imx7_csi_probe(struct platform_device *pdev)
1155 {
1156 struct device *dev = &pdev->dev;
1157 struct device_node *node = dev->of_node;
1158 struct imx_media_dev *imxmd;
1159 struct imx7_csi *csi;
1160 int i, ret;
1161
1162 csi = devm_kzalloc(&pdev->dev, sizeof(*csi), GFP_KERNEL);
1163 if (!csi)
1164 return -ENOMEM;
1165
1166 csi->dev = dev;
1167
1168 csi->mclk = devm_clk_get(&pdev->dev, "mclk");
1169 if (IS_ERR(csi->mclk)) {
1170 ret = PTR_ERR(csi->mclk);
1171 dev_err(dev, "Failed to get mclk: %d", ret);
1172 return ret;
1173 }
1174
1175 csi->irq = platform_get_irq(pdev, 0);
1176 if (csi->irq < 0)
1177 return csi->irq;
1178
1179 csi->regbase = devm_platform_ioremap_resource(pdev, 0);
1180 if (IS_ERR(csi->regbase))
1181 return PTR_ERR(csi->regbase);
1182
> 1183 csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
1184
1185 spin_lock_init(&csi->irqlock);
1186 mutex_init(&csi->lock);
1187
1188 /* install interrupt handler */
1189 ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
1190 (void *)csi);
1191 if (ret < 0) {
1192 dev_err(dev, "Request CSI IRQ failed.\n");
1193 goto destroy_mutex;
1194 }
1195
1196 /* add media device */
1197 imxmd = imx_media_dev_init(dev, NULL);
1198 if (IS_ERR(imxmd)) {
1199 ret = PTR_ERR(imxmd);
1200 goto destroy_mutex;
1201 }
1202 platform_set_drvdata(pdev, &csi->sd);
1203
1204 ret = imx_media_of_add_csi(imxmd, node);
1205 if (ret < 0 && ret != -ENODEV && ret != -EEXIST)
1206 goto cleanup;
1207
1208 ret = imx_media_dev_notifier_register(imxmd, NULL);
1209 if (ret < 0)
1210 goto cleanup;
1211
1212 csi->imxmd = imxmd;
1213 v4l2_subdev_init(&csi->sd, &imx7_csi_subdev_ops);
1214 v4l2_set_subdevdata(&csi->sd, csi);
1215 csi->sd.internal_ops = &imx7_csi_internal_ops;
1216 csi->sd.entity.ops = &imx7_csi_entity_ops;
1217 csi->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
1218 csi->sd.dev = &pdev->dev;
1219 csi->sd.owner = THIS_MODULE;
1220 csi->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
1221 csi->sd.grp_id = IMX_MEDIA_GRP_ID_CSI;
1222 snprintf(csi->sd.name, sizeof(csi->sd.name), "csi");
1223
1224 for (i = 0; i < IMX7_CSI_PADS_NUM; i++)
1225 csi->pad[i].flags = (i == IMX7_CSI_PAD_SINK) ?
1226 MEDIA_PAD_FL_SINK : MEDIA_PAD_FL_SOURCE;
1227
1228 ret = media_entity_pads_init(&csi->sd.entity, IMX7_CSI_PADS_NUM,
1229 csi->pad);
1230 if (ret < 0)
1231 goto cleanup;
1232
1233 ret = imx7_csi_async_register(csi);
1234 if (ret)
1235 goto subdev_notifier_cleanup;
1236
1237 return 0;
1238
1239 subdev_notifier_cleanup:
1240 v4l2_async_nf_unregister(&csi->notifier);
1241 v4l2_async_nf_cleanup(&csi->notifier);
1242
1243 cleanup:
1244 v4l2_async_nf_unregister(&imxmd->notifier);
1245 v4l2_async_nf_cleanup(&imxmd->notifier);
1246 v4l2_device_unregister(&imxmd->v4l2_dev);
1247 media_device_unregister(&imxmd->md);
1248 media_device_cleanup(&imxmd->md);
1249
1250 destroy_mutex:
1251 mutex_destroy(&csi->lock);
1252
1253 return ret;
1254 }
1255
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 42207 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Martin Kepplinger <martin.kepplinger@puri.sm>,
laurent.pinchart@ideasonboard.com, mchehab@kernel.org
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
devicetree@vger.kernel.org, kernel@pengutronix.de,
kernel@puri.sm, linux-arm-kernel@lists.infradead.org,
linux-imx@nxp.com, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org
Subject: Re: [PATCH v2 1/2] media: imx: imx7-media-csi: add support for imx8mq
Date: Sat, 20 Nov 2021 09:30:13 +0800 [thread overview]
Message-ID: <202111200934.OSVpdlff-lkp@intel.com> (raw)
In-Reply-To: <20211118063347.3370678-1-martin.kepplinger@puri.sm>
[-- Attachment #1: Type: text/plain, Size: 5316 bytes --]
Hi Martin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc1 next-20211118]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
base: git://linuxtv.org/media_tree.git master
config: arm64-randconfig-r003-20211118 (attached as .config)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/053ee9aefb4758625038e03df68bb468abf0cd4a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
git checkout 053ee9aefb4758625038e03df68bb468abf0cd4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/staging/media/imx/imx7-media-csi.c:1183:15: warning: cast to smaller integer type 'enum imx_csi_model' from 'const void *' [-Wvoid-pointer-to-enum-cast]
csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1183 drivers/staging/media/imx/imx7-media-csi.c
1153
1154 static int imx7_csi_probe(struct platform_device *pdev)
1155 {
1156 struct device *dev = &pdev->dev;
1157 struct device_node *node = dev->of_node;
1158 struct imx_media_dev *imxmd;
1159 struct imx7_csi *csi;
1160 int i, ret;
1161
1162 csi = devm_kzalloc(&pdev->dev, sizeof(*csi), GFP_KERNEL);
1163 if (!csi)
1164 return -ENOMEM;
1165
1166 csi->dev = dev;
1167
1168 csi->mclk = devm_clk_get(&pdev->dev, "mclk");
1169 if (IS_ERR(csi->mclk)) {
1170 ret = PTR_ERR(csi->mclk);
1171 dev_err(dev, "Failed to get mclk: %d", ret);
1172 return ret;
1173 }
1174
1175 csi->irq = platform_get_irq(pdev, 0);
1176 if (csi->irq < 0)
1177 return csi->irq;
1178
1179 csi->regbase = devm_platform_ioremap_resource(pdev, 0);
1180 if (IS_ERR(csi->regbase))
1181 return PTR_ERR(csi->regbase);
1182
> 1183 csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
1184
1185 spin_lock_init(&csi->irqlock);
1186 mutex_init(&csi->lock);
1187
1188 /* install interrupt handler */
1189 ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
1190 (void *)csi);
1191 if (ret < 0) {
1192 dev_err(dev, "Request CSI IRQ failed.\n");
1193 goto destroy_mutex;
1194 }
1195
1196 /* add media device */
1197 imxmd = imx_media_dev_init(dev, NULL);
1198 if (IS_ERR(imxmd)) {
1199 ret = PTR_ERR(imxmd);
1200 goto destroy_mutex;
1201 }
1202 platform_set_drvdata(pdev, &csi->sd);
1203
1204 ret = imx_media_of_add_csi(imxmd, node);
1205 if (ret < 0 && ret != -ENODEV && ret != -EEXIST)
1206 goto cleanup;
1207
1208 ret = imx_media_dev_notifier_register(imxmd, NULL);
1209 if (ret < 0)
1210 goto cleanup;
1211
1212 csi->imxmd = imxmd;
1213 v4l2_subdev_init(&csi->sd, &imx7_csi_subdev_ops);
1214 v4l2_set_subdevdata(&csi->sd, csi);
1215 csi->sd.internal_ops = &imx7_csi_internal_ops;
1216 csi->sd.entity.ops = &imx7_csi_entity_ops;
1217 csi->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
1218 csi->sd.dev = &pdev->dev;
1219 csi->sd.owner = THIS_MODULE;
1220 csi->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
1221 csi->sd.grp_id = IMX_MEDIA_GRP_ID_CSI;
1222 snprintf(csi->sd.name, sizeof(csi->sd.name), "csi");
1223
1224 for (i = 0; i < IMX7_CSI_PADS_NUM; i++)
1225 csi->pad[i].flags = (i == IMX7_CSI_PAD_SINK) ?
1226 MEDIA_PAD_FL_SINK : MEDIA_PAD_FL_SOURCE;
1227
1228 ret = media_entity_pads_init(&csi->sd.entity, IMX7_CSI_PADS_NUM,
1229 csi->pad);
1230 if (ret < 0)
1231 goto cleanup;
1232
1233 ret = imx7_csi_async_register(csi);
1234 if (ret)
1235 goto subdev_notifier_cleanup;
1236
1237 return 0;
1238
1239 subdev_notifier_cleanup:
1240 v4l2_async_nf_unregister(&csi->notifier);
1241 v4l2_async_nf_cleanup(&csi->notifier);
1242
1243 cleanup:
1244 v4l2_async_nf_unregister(&imxmd->notifier);
1245 v4l2_async_nf_cleanup(&imxmd->notifier);
1246 v4l2_device_unregister(&imxmd->v4l2_dev);
1247 media_device_unregister(&imxmd->md);
1248 media_device_cleanup(&imxmd->md);
1249
1250 destroy_mutex:
1251 mutex_destroy(&csi->lock);
1252
1253 return ret;
1254 }
1255
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 42207 bytes --]
[-- Attachment #3: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 1/2] media: imx: imx7-media-csi: add support for imx8mq
Date: Sat, 20 Nov 2021 09:30:13 +0800 [thread overview]
Message-ID: <202111200934.OSVpdlff-lkp@intel.com> (raw)
In-Reply-To: <20211118063347.3370678-1-martin.kepplinger@puri.sm>
[-- Attachment #1: Type: text/plain, Size: 5463 bytes --]
Hi Martin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc1 next-20211118]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
base: git://linuxtv.org/media_tree.git master
config: arm64-randconfig-r003-20211118 (attached as .config)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/053ee9aefb4758625038e03df68bb468abf0cd4a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kepplinger/media-imx-imx7-media-csi-add-support-for-imx8mq/20211118-143635
git checkout 053ee9aefb4758625038e03df68bb468abf0cd4a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/staging/media/imx/imx7-media-csi.c:1183:15: warning: cast to smaller integer type 'enum imx_csi_model' from 'const void *' [-Wvoid-pointer-to-enum-cast]
csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +1183 drivers/staging/media/imx/imx7-media-csi.c
1153
1154 static int imx7_csi_probe(struct platform_device *pdev)
1155 {
1156 struct device *dev = &pdev->dev;
1157 struct device_node *node = dev->of_node;
1158 struct imx_media_dev *imxmd;
1159 struct imx7_csi *csi;
1160 int i, ret;
1161
1162 csi = devm_kzalloc(&pdev->dev, sizeof(*csi), GFP_KERNEL);
1163 if (!csi)
1164 return -ENOMEM;
1165
1166 csi->dev = dev;
1167
1168 csi->mclk = devm_clk_get(&pdev->dev, "mclk");
1169 if (IS_ERR(csi->mclk)) {
1170 ret = PTR_ERR(csi->mclk);
1171 dev_err(dev, "Failed to get mclk: %d", ret);
1172 return ret;
1173 }
1174
1175 csi->irq = platform_get_irq(pdev, 0);
1176 if (csi->irq < 0)
1177 return csi->irq;
1178
1179 csi->regbase = devm_platform_ioremap_resource(pdev, 0);
1180 if (IS_ERR(csi->regbase))
1181 return PTR_ERR(csi->regbase);
1182
> 1183 csi->model = (enum imx_csi_model)of_device_get_match_data(&pdev->dev);
1184
1185 spin_lock_init(&csi->irqlock);
1186 mutex_init(&csi->lock);
1187
1188 /* install interrupt handler */
1189 ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
1190 (void *)csi);
1191 if (ret < 0) {
1192 dev_err(dev, "Request CSI IRQ failed.\n");
1193 goto destroy_mutex;
1194 }
1195
1196 /* add media device */
1197 imxmd = imx_media_dev_init(dev, NULL);
1198 if (IS_ERR(imxmd)) {
1199 ret = PTR_ERR(imxmd);
1200 goto destroy_mutex;
1201 }
1202 platform_set_drvdata(pdev, &csi->sd);
1203
1204 ret = imx_media_of_add_csi(imxmd, node);
1205 if (ret < 0 && ret != -ENODEV && ret != -EEXIST)
1206 goto cleanup;
1207
1208 ret = imx_media_dev_notifier_register(imxmd, NULL);
1209 if (ret < 0)
1210 goto cleanup;
1211
1212 csi->imxmd = imxmd;
1213 v4l2_subdev_init(&csi->sd, &imx7_csi_subdev_ops);
1214 v4l2_set_subdevdata(&csi->sd, csi);
1215 csi->sd.internal_ops = &imx7_csi_internal_ops;
1216 csi->sd.entity.ops = &imx7_csi_entity_ops;
1217 csi->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
1218 csi->sd.dev = &pdev->dev;
1219 csi->sd.owner = THIS_MODULE;
1220 csi->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
1221 csi->sd.grp_id = IMX_MEDIA_GRP_ID_CSI;
1222 snprintf(csi->sd.name, sizeof(csi->sd.name), "csi");
1223
1224 for (i = 0; i < IMX7_CSI_PADS_NUM; i++)
1225 csi->pad[i].flags = (i == IMX7_CSI_PAD_SINK) ?
1226 MEDIA_PAD_FL_SINK : MEDIA_PAD_FL_SOURCE;
1227
1228 ret = media_entity_pads_init(&csi->sd.entity, IMX7_CSI_PADS_NUM,
1229 csi->pad);
1230 if (ret < 0)
1231 goto cleanup;
1232
1233 ret = imx7_csi_async_register(csi);
1234 if (ret)
1235 goto subdev_notifier_cleanup;
1236
1237 return 0;
1238
1239 subdev_notifier_cleanup:
1240 v4l2_async_nf_unregister(&csi->notifier);
1241 v4l2_async_nf_cleanup(&csi->notifier);
1242
1243 cleanup:
1244 v4l2_async_nf_unregister(&imxmd->notifier);
1245 v4l2_async_nf_cleanup(&imxmd->notifier);
1246 v4l2_device_unregister(&imxmd->v4l2_dev);
1247 media_device_unregister(&imxmd->md);
1248 media_device_cleanup(&imxmd->md);
1249
1250 destroy_mutex:
1251 mutex_destroy(&csi->lock);
1252
1253 return ret;
1254 }
1255
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 42207 bytes --]
next prev parent reply other threads:[~2021-11-20 1:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-18 6:33 [PATCH v2 1/2] media: imx: imx7-media-csi: add support for imx8mq Martin Kepplinger
2021-11-18 6:33 ` Martin Kepplinger
2021-11-18 6:33 ` [PATCH v2 2/2] dt-bindings: media: document imx8mq support for imx7-csi Martin Kepplinger
2021-11-18 6:33 ` Martin Kepplinger
2021-11-18 9:01 ` [PATCH v2 1/2] media: imx: imx7-media-csi: add support for imx8mq Rui Miguel Silva
2021-11-18 9:01 ` Rui Miguel Silva
2021-11-20 1:30 ` kernel test robot [this message]
2021-11-20 1:30 ` kernel test robot
2021-11-20 1:30 ` kernel test robot
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=202111200934.OSVpdlff-lkp@intel.com \
--to=lkp@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=kbuild-all@lists.01.org \
--cc=kernel@pengutronix.de \
--cc=kernel@puri.sm \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=martin.kepplinger@puri.sm \
--cc=mchehab@kernel.org \
/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.