lkml.org 
[lkml]   [2020]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/firmware/broadcom/bcm47xx_sprom.c:563:6: warning: no previous prototype for 'bcm47xx_fill_sprom'
Hi Florian,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b791d1bdf9212d944d749a5c7ff6febdba241771
commit: 5699ad0aaf1091824f22492a708478912c38c7d2 firmware: bcm47xx_nvram: Allow COMPILE_TEST
date: 10 months ago
config: i386-randconfig-r011-20200612 (attached as .config)
compiler: gcc-4.9 (Ubuntu 4.9.3-13ubuntu2) 4.9.3
reproduce (this is a W=1 build):
git checkout 5699ad0aaf1091824f22492a708478912c38c7d2
# save the attached .config to linux build tree
make W=1 ARCH=i386

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 >>, old ones prefixed by <<):

>> drivers/firmware/broadcom/bcm47xx_sprom.c:563:6: warning: no previous prototype for 'bcm47xx_fill_sprom' [-Wmissing-prototypes]
void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
^
>> drivers/firmware/broadcom/bcm47xx_sprom.c:705:5: warning: no previous prototype for 'bcm47xx_sprom_register_fallbacks' [-Wmissing-prototypes]
int bcm47xx_sprom_register_fallbacks(void)
^

vim +/bcm47xx_fill_sprom +563 drivers/firmware/broadcom/bcm47xx_sprom.c

5d24ceab4eaf0d arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 562
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 @563 void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 564 bool fallback)
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 565 {
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 566 bcm47xx_fill_sprom_ethernet(sprom, prefix, fallback);
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 567 bcm47xx_fill_board_data(sprom, prefix, fallback);
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 568
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 569 nvram_read_u8(prefix, NULL, "sromrev", &sprom->revision, 0, fallback);
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 570
590605c6bc31d5 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-06-21 571 /* Entries requiring custom functions */
590605c6bc31d5 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-06-21 572 nvram_read_alpha2(prefix, "ccode", sprom->alpha2, fallback);
590605c6bc31d5 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-06-21 573 if (sprom->revision >= 3)
590605c6bc31d5 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-06-21 574 nvram_read_leddc(prefix, "leddc", &sprom->leddc_on_time,
590605c6bc31d5 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-06-21 575 &sprom->leddc_off_time, fallback);
590605c6bc31d5 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-06-21 576
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 577 switch (sprom->revision) {
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 578 case 4:
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 579 case 5:
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 580 bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 581 bcm47xx_fill_sprom_path_r45(sprom, prefix, fallback);
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 582 break;
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 583 case 8:
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 584 case 9:
b8ebbaff037981 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-10-03 585 bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 586 break;
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 587 }
d55a52ccf8f80c arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-04-02 588
d55a52ccf8f80c arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-04-02 589 bcm47xx_sprom_fill_auto(sprom, prefix, fallback);
019eee2e34e2d1 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-02-28 590 }
a9bba182a1f3f3 arch/mips/bcm47xx/sprom.c Hauke Mehrtens 2012-04-29 591
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 592 #if IS_BUILTIN(CONFIG_SSB) && IS_ENABLED(CONFIG_SSB_SPROM)
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 593 static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 594 {
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 595 char prefix[10];
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 596
daa7ce02513d21 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-10-25 597 switch (bus->bustype) {
daa7ce02513d21 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-10-25 598 case SSB_BUSTYPE_SSB:
daa7ce02513d21 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-10-25 599 bcm47xx_fill_sprom(out, NULL, false);
daa7ce02513d21 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-10-25 600 return 0;
daa7ce02513d21 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-10-25 601 case SSB_BUSTYPE_PCI:
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 602 memset(out, 0, sizeof(struct ssb_sprom));
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 603 snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 604 bus->host_pci->bus->number + 1,
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 605 PCI_SLOT(bus->host_pci->devfn));
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 606 bcm47xx_fill_sprom(out, prefix, false);
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 607 return 0;
daa7ce02513d21 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-10-25 608 default:
d548ca6b0784a9 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-12-10 609 pr_warn("Unable to fill SPROM for given bustype.\n");
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 610 return -EINVAL;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 611 }
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 612 }
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 613 #endif
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 614
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 615 #if IS_BUILTIN(CONFIG_BCMA)
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 616 /*
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 617 * Having many NVRAM entries for PCI devices led to repeating prefixes like
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 618 * pci/1/1/ all the time and wasting flash space. So at some point Broadcom
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 619 * decided to introduce prefixes like 0: 1: 2: etc.
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 620 * If we find e.g. devpath0=pci/2/1 or devpath0=pci/2/1/ we should use 0:
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 621 * instead of pci/2/1/.
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 622 */
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 623 static void bcm47xx_sprom_apply_prefix_alias(char *prefix, size_t prefix_size)
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 624 {
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 625 size_t prefix_len = strlen(prefix);
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 626 size_t short_len = prefix_len - 1;
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 627 char nvram_var[10];
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 628 char buf[20];
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 629 int i;
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 630
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 631 /* Passed prefix has to end with a slash */
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 632 if (prefix_len <= 0 || prefix[prefix_len - 1] != '/')
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 633 return;
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 634
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 635 for (i = 0; i < 3; i++) {
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 636 if (snprintf(nvram_var, sizeof(nvram_var), "devpath%d", i) <= 0)
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 637 continue;
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 638 if (bcm47xx_nvram_getenv(nvram_var, buf, sizeof(buf)) < 0)
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 639 continue;
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 640 if (!strcmp(buf, prefix) ||
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 641 (short_len && strlen(buf) == short_len && !strncmp(buf, prefix, short_len))) {
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 642 snprintf(prefix, prefix_size, "%d:", i);
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 643 return;
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 644 }
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 645 }
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 646 }
9a6a2b96dfd8b0 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-03-14 647
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 648 static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 649 {
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 650 struct bcma_boardinfo *binfo = &bus->boardinfo;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 651 struct bcma_device *core;
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 652 char buf[10];
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 653 char *prefix;
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 654 bool fallback = false;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 655
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 656 switch (bus->hosttype) {
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 657 case BCMA_HOSTTYPE_PCI:
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 658 memset(out, 0, sizeof(struct ssb_sprom));
3d1f664ab94038 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2016-01-01 659 /* On BCM47XX all PCI buses share the same domain */
97f2645f358b41 drivers/firmware/broadcom/bcm47xx_sprom.c Masahiro Yamada 2016-08-03 660 if (IS_ENABLED(CONFIG_BCM47XX))
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 661 snprintf(buf, sizeof(buf), "pci/%u/%u/",
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 662 bus->host_pci->bus->number + 1,
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 663 PCI_SLOT(bus->host_pci->devfn));
3d1f664ab94038 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2016-01-01 664 else
3d1f664ab94038 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2016-01-01 665 snprintf(buf, sizeof(buf), "pci/%u/%u/",
3d1f664ab94038 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2016-01-01 666 pci_domain_nr(bus->host_pci->bus) + 1,
3d1f664ab94038 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2016-01-01 667 bus->host_pci->bus->number);
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 668 bcm47xx_sprom_apply_prefix_alias(buf, sizeof(buf));
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 669 prefix = buf;
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 670 break;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 671 case BCMA_HOSTTYPE_SOC:
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 672 memset(out, 0, sizeof(struct ssb_sprom));
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 673 core = bcma_find_core(bus, BCMA_CORE_80211);
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 674 if (core) {
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 675 snprintf(buf, sizeof(buf), "sb/%u/",
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 676 core->core_index);
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 677 prefix = buf;
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 678 fallback = true;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 679 } else {
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 680 prefix = NULL;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 681 }
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 682 break;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 683 default:
d548ca6b0784a9 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-12-10 684 pr_warn("Unable to fill SPROM for given bustype.\n");
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 685 return -EINVAL;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 686 }
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 687
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 688 nvram_read_u16(prefix, NULL, "boardvendor", &binfo->vendor, 0, true);
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 689 if (!binfo->vendor)
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 690 binfo->vendor = SSB_BOARDVENDOR_BCM;
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 691 nvram_read_u16(prefix, NULL, "boardtype", &binfo->type, 0, true);
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 692
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 693 bcm47xx_fill_sprom(out, prefix, fallback);
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 694
2623899459da55 arch/mips/bcm47xx/sprom.c Rafał Miłecki 2015-05-12 695 return 0;
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 696 }
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 697 #endif
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 698
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 699 static unsigned int bcm47xx_sprom_registered;
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 700
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 701 /*
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 702 * On bcm47xx we need to register SPROM fallback handler very early, so we can't
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 703 * use anything like platform device / driver for this.
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 704 */
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 @705 int bcm47xx_sprom_register_fallbacks(void)
a59da8fb3b2a1f arch/mips/bcm47xx/sprom.c Rafał Miłecki 2014-10-28 706 {
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 707 if (bcm47xx_sprom_registered)
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 708 return 0;
2ab71a02c56f82 drivers/firmware/broadcom/bcm47xx_sprom.c Rafał Miłecki 2016-01-25 709

:::::: The code at line 563 was first introduced by commit
:::::: b8ebbaff03798180c4d9661105670e03276afe83 MIPS: BCM47xx: sprom: read values without prefix as fallback

:::::: TO: Hauke Mehrtens <hauke@hauke-m.de>
:::::: CC: John Crispin <blogic@openwrt.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-06-12 08:48    [W:0.077 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site