From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/ata/pata_pdc2027x.c:521:2: warning: Value stored to 'pll_ctl' is never read [clang-analyzer-deadcode.DeadStores]
Date: Wed, 13 Apr 2022 07:07:43 +0800 [thread overview]
Message-ID: <202204130658.3r2GuAb7-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 21979 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Hannes Reinecke <hare@suse.com>
CC: Damien Le Moal <damien.lemoal@opensource.wdc.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ce522ba9ef7e2d9fb22a39eb3371c0c64e2a433e
commit: b5a5fc8b0f8175e4b3aaf182c1b23de4ccdd3347 ata: pata_pdc2027x: Replace PDPRINTK() with standard ata logging
date: 3 months ago
:::::: branch date: 2 days ago
:::::: commit date: 3 months ago
config: riscv-randconfig-c006-20220411 (https://download.01.org/0day-ci/archive/20220413/202204130658.3r2GuAb7-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c6e83f560f06cdfe8aa47b248d8bdc58f947274b)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b5a5fc8b0f8175e4b3aaf182c1b23de4ccdd3347
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout b5a5fc8b0f8175e4b3aaf182c1b23de4ccdd3347
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
for (i = 0; i < rc_map->len; i++) {
^~~~~~~~~~~~~~~
drivers/media/rc/rc-main.c:388:2: note: Loop condition is true. Entering loop body
for (i = 0; i < rc_map->len; i++) {
^
drivers/media/rc/rc-main.c:389:32: note: The left operand of '==' is a garbage value
if (rc_map->scan[i].scancode == scancode)
~~~~~~~~~~~~~~~~~~~~~~~~ ^
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/regulator/core.c:1109:2: warning: Value stored to 'count' is never read [clang-analyzer-deadcode.DeadStores]
count += scnprintf(buf + count, len - count, ", %s",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/regulator/core.c:1109:2: note: Value stored to 'count' is never read
count += scnprintf(buf + count, len - count, ", %s",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/regulator/core.c:3792:3: warning: Value stored to 'possible_uV' is never read [clang-analyzer-deadcode.DeadStores]
possible_uV = desired_min_uV;
^ ~~~~~~~~~~~~~~
drivers/regulator/core.c:3792:3: note: Value stored to 'possible_uV' is never read
possible_uV = desired_min_uV;
^ ~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/input/misc/atmel_captouch.c:68:8: warning: Excessive padding in 'struct atmel_captouch_device' (75 padding bytes, where 11 is optimal).
Optimal fields order:
xfer_buf,
client,
input,
num_btn,
keycodes,
prev_btn,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct atmel_captouch_device {
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
drivers/input/misc/atmel_captouch.c:68:8: note: Excessive padding in 'struct atmel_captouch_device' (75 padding bytes, where 11 is optimal). Optimal fields order: xfer_buf, client, input, num_btn, keycodes, prev_btn, consider reordering the fields or adding explicit padding members
struct atmel_captouch_device {
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
>> drivers/ata/pata_pdc2027x.c:521:2: warning: Value stored to 'pll_ctl' is never read [clang-analyzer-deadcode.DeadStores]
pll_ctl = ioread16(mmio_base + PDC_PLL_CTL);
^
drivers/ata/pata_pdc2027x.c:521:2: note: Value stored to 'pll_ctl' is never read
drivers/ata/pata_pdc2027x.c:570:2: warning: Value stored to 'pll_ctl' is never read [clang-analyzer-deadcode.DeadStores]
pll_ctl = ioread16(mmio_base + PDC_PLL_CTL);
^
drivers/ata/pata_pdc2027x.c:570:2: note: Value stored to 'pll_ctl' is never read
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (6 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
5 warnings generated.
drivers/i2c/busses/i2c-rk3x.c:504:9: warning: Access to field 'flags' results in a dereference of a null pointer (loaded from field 'msg') [clang-analyzer-core.NullDereference]
if (!(i2c->msg->flags & I2C_M_IGNORE_NAK))
^
drivers/i2c/busses/i2c-rk3x.c:1140:9: note: Calling 'rk3x_i2c_xfer_common'
return rk3x_i2c_xfer_common(adap, msgs, num, true);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/i2c/busses/i2c-rk3x.c:1066:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&i2c->lock, flags);
^
include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave'
raw_spin_lock_irqsave(spinlock_check(lock), flags); \
^
include/linux/spinlock.h:264:3: note: expanded from macro 'raw_spin_lock_irqsave'
_raw_spin_lock_irqsave(lock, flags); \
^
include/linux/spinlock_api_up.h:68:45: note: expanded from macro '_raw_spin_lock_irqsave'
#define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
^
include/linux/spinlock_api_up.h:40:8: note: expanded from macro '__LOCK_IRQSAVE'
do { local_irq_save(flags); __LOCK(lock); } while (0)
^
include/linux/irqflags.h:237:36: note: expanded from macro 'local_irq_save'
#define local_irq_save(flags) do { raw_local_irq_save(flags); } while (0)
^
include/linux/irqflags.h:169:2: note: expanded from macro 'raw_local_irq_save'
do { \
^
drivers/i2c/busses/i2c-rk3x.c:1066:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&i2c->lock, flags);
^
include/linux/spinlock.h:379:2: note: expanded from macro 'spin_lock_irqsave'
raw_spin_lock_irqsave(spinlock_check(lock), flags); \
^
include/linux/spinlock.h:264:3: note: expanded from macro 'raw_spin_lock_irqsave'
_raw_spin_lock_irqsave(lock, flags); \
^
include/linux/spinlock_api_up.h:68:45: note: expanded from macro '_raw_spin_lock_irqsave'
#define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
^
include/linux/spinlock_api_up.h:40:8: note: expanded from macro '__LOCK_IRQSAVE'
do { local_irq_save(flags); __LOCK(lock); } while (0)
^
include/linux/irqflags.h:237:31: note: expanded from macro 'local_irq_save'
#define local_irq_save(flags) do { raw_local_irq_save(flags); } while (0)
^
drivers/i2c/busses/i2c-rk3x.c:1066:2: note: Loop condition is false. Exiting loop
spin_lock_irqsave(&i2c->lock, flags);
^
vim +/pll_ctl +521 drivers/ata/pata_pdc2027x.c
669a5db411d85a1 Jeff Garzik 2006-08-29 492
669a5db411d85a1 Jeff Garzik 2006-08-29 493 /**
1906cf27fcc0707 Lee Jones 2021-02-01 494 * pdc_adjust_pll - Adjust the PLL input clock in Hz.
669a5db411d85a1 Jeff Garzik 2006-08-29 495 *
5d728824efeda61 Tejun Heo 2007-04-17 496 * @host: target ATA host
669a5db411d85a1 Jeff Garzik 2006-08-29 497 * @pll_clock: The input of PLL in HZ
1906cf27fcc0707 Lee Jones 2021-02-01 498 * @board_idx: board identifier
669a5db411d85a1 Jeff Garzik 2006-08-29 499 */
5d728824efeda61 Tejun Heo 2007-04-17 500 static void pdc_adjust_pll(struct ata_host *host, long pll_clock, unsigned int board_idx)
669a5db411d85a1 Jeff Garzik 2006-08-29 501 {
5d728824efeda61 Tejun Heo 2007-04-17 502 void __iomem *mmio_base = host->iomap[PDC_MMIO_BAR];
669a5db411d85a1 Jeff Garzik 2006-08-29 503 u16 pll_ctl;
669a5db411d85a1 Jeff Garzik 2006-08-29 504 long pll_clock_khz = pll_clock / 1000;
669a5db411d85a1 Jeff Garzik 2006-08-29 505 long pout_required = board_idx? PDC_133_MHZ:PDC_100_MHZ;
669a5db411d85a1 Jeff Garzik 2006-08-29 506 long ratio = pout_required / pll_clock_khz;
669a5db411d85a1 Jeff Garzik 2006-08-29 507 int F, R;
669a5db411d85a1 Jeff Garzik 2006-08-29 508
669a5db411d85a1 Jeff Garzik 2006-08-29 509 /* Sanity check */
669a5db411d85a1 Jeff Garzik 2006-08-29 510 if (unlikely(pll_clock_khz < 5000L || pll_clock_khz > 70000L)) {
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 511 dev_err(host->dev, "Invalid PLL input clock %ldkHz, give up!\n",
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 512 pll_clock_khz);
669a5db411d85a1 Jeff Garzik 2006-08-29 513 return;
669a5db411d85a1 Jeff Garzik 2006-08-29 514 }
669a5db411d85a1 Jeff Garzik 2006-08-29 515
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 516 dev_dbg(host->dev, "pout_required is %ld\n", pout_required);
669a5db411d85a1 Jeff Garzik 2006-08-29 517
669a5db411d85a1 Jeff Garzik 2006-08-29 518 /* Show the current clock value of PLL control register
669a5db411d85a1 Jeff Garzik 2006-08-29 519 * (maybe already configured by the firmware)
669a5db411d85a1 Jeff Garzik 2006-08-29 520 */
d2a84f47899d1ef Alan Cox 2007-09-20 @521 pll_ctl = ioread16(mmio_base + PDC_PLL_CTL);
669a5db411d85a1 Jeff Garzik 2006-08-29 522
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 523 dev_dbg(host->dev, "pll_ctl[%X]\n", pll_ctl);
669a5db411d85a1 Jeff Garzik 2006-08-29 524
669a5db411d85a1 Jeff Garzik 2006-08-29 525 /*
669a5db411d85a1 Jeff Garzik 2006-08-29 526 * Calculate the ratio of F, R and OD
669a5db411d85a1 Jeff Garzik 2006-08-29 527 * POUT = (F + 2) / (( R + 2) * NO)
669a5db411d85a1 Jeff Garzik 2006-08-29 528 */
669a5db411d85a1 Jeff Garzik 2006-08-29 529 if (ratio < 8600L) { /* 8.6x */
669a5db411d85a1 Jeff Garzik 2006-08-29 530 /* Using NO = 0x01, R = 0x0D */
669a5db411d85a1 Jeff Garzik 2006-08-29 531 R = 0x0d;
669a5db411d85a1 Jeff Garzik 2006-08-29 532 } else if (ratio < 12900L) { /* 12.9x */
669a5db411d85a1 Jeff Garzik 2006-08-29 533 /* Using NO = 0x01, R = 0x08 */
669a5db411d85a1 Jeff Garzik 2006-08-29 534 R = 0x08;
669a5db411d85a1 Jeff Garzik 2006-08-29 535 } else if (ratio < 16100L) { /* 16.1x */
669a5db411d85a1 Jeff Garzik 2006-08-29 536 /* Using NO = 0x01, R = 0x06 */
669a5db411d85a1 Jeff Garzik 2006-08-29 537 R = 0x06;
669a5db411d85a1 Jeff Garzik 2006-08-29 538 } else if (ratio < 64000L) { /* 64x */
669a5db411d85a1 Jeff Garzik 2006-08-29 539 R = 0x00;
669a5db411d85a1 Jeff Garzik 2006-08-29 540 } else {
669a5db411d85a1 Jeff Garzik 2006-08-29 541 /* Invalid ratio */
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 542 dev_err(host->dev, "Invalid ratio %ld, give up!\n", ratio);
669a5db411d85a1 Jeff Garzik 2006-08-29 543 return;
669a5db411d85a1 Jeff Garzik 2006-08-29 544 }
669a5db411d85a1 Jeff Garzik 2006-08-29 545
669a5db411d85a1 Jeff Garzik 2006-08-29 546 F = (ratio * (R+2)) / 1000 - 2;
669a5db411d85a1 Jeff Garzik 2006-08-29 547
669a5db411d85a1 Jeff Garzik 2006-08-29 548 if (unlikely(F < 0 || F > 127)) {
669a5db411d85a1 Jeff Garzik 2006-08-29 549 /* Invalid F */
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 550 dev_err(host->dev, "F[%d] invalid!\n", F);
669a5db411d85a1 Jeff Garzik 2006-08-29 551 return;
669a5db411d85a1 Jeff Garzik 2006-08-29 552 }
669a5db411d85a1 Jeff Garzik 2006-08-29 553
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 554 dev_dbg(host->dev, "F[%d] R[%d] ratio*1000[%ld]\n", F, R, ratio);
669a5db411d85a1 Jeff Garzik 2006-08-29 555
669a5db411d85a1 Jeff Garzik 2006-08-29 556 pll_ctl = (R << 8) | F;
669a5db411d85a1 Jeff Garzik 2006-08-29 557
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 558 dev_dbg(host->dev, "Writing pll_ctl[%X]\n", pll_ctl);
669a5db411d85a1 Jeff Garzik 2006-08-29 559
d2a84f47899d1ef Alan Cox 2007-09-20 560 iowrite16(pll_ctl, mmio_base + PDC_PLL_CTL);
d2a84f47899d1ef Alan Cox 2007-09-20 561 ioread16(mmio_base + PDC_PLL_CTL); /* flush */
669a5db411d85a1 Jeff Garzik 2006-08-29 562
669a5db411d85a1 Jeff Garzik 2006-08-29 563 /* Wait the PLL circuit to be stable */
b3506c7ed216dd2 Jia-Ju Bai 2018-01-25 564 msleep(30);
669a5db411d85a1 Jeff Garzik 2006-08-29 565
669a5db411d85a1 Jeff Garzik 2006-08-29 566 /*
669a5db411d85a1 Jeff Garzik 2006-08-29 567 * Show the current clock value of PLL control register
669a5db411d85a1 Jeff Garzik 2006-08-29 568 * (maybe configured by the firmware)
669a5db411d85a1 Jeff Garzik 2006-08-29 569 */
d2a84f47899d1ef Alan Cox 2007-09-20 570 pll_ctl = ioread16(mmio_base + PDC_PLL_CTL);
669a5db411d85a1 Jeff Garzik 2006-08-29 571
b5a5fc8b0f8175e Hannes Reinecke 2021-12-21 572 dev_dbg(host->dev, "pll_ctl[%X]\n", pll_ctl);
669a5db411d85a1 Jeff Garzik 2006-08-29 573
669a5db411d85a1 Jeff Garzik 2006-08-29 574 return;
669a5db411d85a1 Jeff Garzik 2006-08-29 575 }
669a5db411d85a1 Jeff Garzik 2006-08-29 576
:::::: The code at line 521 was first introduced by commit
:::::: d2a84f47899d1efc24fa610696f7b793692279c7 pdc2027x: Switch properly to ioread/iowrite
:::::: TO: Alan Cox <alan@lxorguk.ukuu.org.uk>
:::::: CC: Jeff Garzik <jeff@garzik.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-04-12 23:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-12 23:07 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-02-27 18:39 drivers/ata/pata_pdc2027x.c:521:2: warning: Value stored to 'pll_ctl' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
2022-01-25 15:14 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=202204130658.3r2GuAb7-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.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.