Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: lkp@intel.com (kbuild test robot)
Subject: [PATCH 1/1] MicroSemi Switchtec management interface driver
Date: Wed, 1 Feb 2017 02:21:31 +0800	[thread overview]
Message-ID: <201702010207.GxRatpeu%fengguang.wu@intel.com> (raw)
In-Reply-To: <1485882204-26947-2-git-send-email-logang@deltatee.com>

Hi Logan,

[auto build test ERROR on pci/next]
[also build test ERROR on v4.10-rc6 next-20170130]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Logan-Gunthorpe/MicroSemi-Switchtec-management-interface-driver/20170201-011235
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   drivers/pci/switch/switchtec.c: In function 'stdev_is_alive':
>> drivers/pci/switch/switchtec.c:120:14: warning: return makes integer from pointer without a cast [-Wint-conversion]
     return stdev->mmio;
            ~~~~~^~~~~~
   drivers/pci/switch/switchtec.c: In function 'switchtec_init_msi_isr':
>> drivers/pci/switch/switchtec.c:1075:7: error: implicit declaration of function 'pci_enable_msi_range' [-Werror=implicit-function-declaration]
     rc = pci_enable_msi_range(pdev, 1, 4);
          ^~~~~~~~~~~~~~~~~~~~
   drivers/pci/switch/switchtec.c: In function 'switchtec_dev_ioctl':
>> drivers/pci/switch/switchtec.c:758:3: warning: 'nr_idxs' may be used uninitialized in this function [-Wmaybe-uninitialized]
      for (ctl.index = 0; ctl.index < nr_idxs; ctl.index++) {
      ^~~
   drivers/pci/switch/switchtec.c:741:6: note: 'nr_idxs' was declared here
     int nr_idxs;
         ^~~~~~~
   drivers/pci/switch/switchtec.c: In function 'switchtec_pci_probe':
>> drivers/pci/switch/switchtec.c:1174:50: warning: 'partition' may be used uninitialized in this function [-Wmaybe-uninitialized]
     stdev->mmio_part_cfg = &stdev->mmio_part_cfg_all[partition];
                                                     ^
   drivers/pci/switch/switchtec.c:1153:6: note: 'partition' was declared here
     int partition;
         ^~~~~~~~~
   cc1: some warnings being treated as errors

vim +/pci_enable_msi_range +1075 drivers/pci/switch/switchtec.c

  1069	static int switchtec_init_msi_isr(struct switchtec_dev *stdev)
  1070	{
  1071		int rc;
  1072		struct pci_dev *pdev = stdev->pdev;
  1073	
  1074		/* Try to set up msi irq */
> 1075		rc = pci_enable_msi_range(pdev, 1, 4);
  1076		if (rc < 0)
  1077			return rc;
  1078	
  1079		stdev->event_irq = ioread32(&stdev->mmio_part_cfg->vep_vector_number);
  1080		if (stdev->event_irq < 0 || stdev->event_irq >= 4) {
  1081			rc = -EFAULT;
  1082			goto err_msi_request;
  1083		}
  1084	
  1085		stdev->event_irq = pdev->irq + stdev->event_irq;
  1086		dev_dbg(&stdev->dev, "Using msi interrupts: event_irq=%d\n",
  1087			stdev->event_irq);
  1088	
  1089		return 0;
  1090	
  1091	err_msi_request:
  1092		pci_disable_msi(pdev);
  1093		return rc;
  1094	}
  1095	
  1096	static int switchtec_init_isr(struct switchtec_dev *stdev)
  1097	{
  1098		int rc;
  1099	
  1100		rc = switchtec_init_msix_isr(stdev);
  1101		if (rc)
  1102			rc = switchtec_init_msi_isr(stdev);
  1103	
  1104		if (rc)
  1105			return rc;
  1106	
  1107		rc = devm_request_irq(&stdev->pdev->dev, stdev->event_irq,
  1108				      switchtec_event_isr, 0, KBUILD_MODNAME, stdev);
  1109	
  1110		return rc;
  1111	}
  1112	
  1113	static void switchtec_deinit_isr(struct switchtec_dev *stdev)
  1114	{
  1115		devm_free_irq(&stdev->pdev->dev, stdev->event_irq, stdev);
  1116		pci_disable_msix(stdev->pdev);
  1117		pci_disable_msi(stdev->pdev);
  1118	}
  1119	
  1120	static void init_pff(struct switchtec_dev *stdev)
  1121	{
  1122		int i;
  1123		u32 reg;
  1124		struct part_cfg_regs *pcfg = stdev->mmio_part_cfg;
  1125	
  1126		for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) {
  1127			reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id);
  1128			if (reg != MICROSEMI_VENDOR_ID)
  1129				break;
  1130		}
  1131	
  1132		stdev->pff_csr_count = i;
  1133	
  1134		reg = ioread32(&pcfg->usp_pff_inst_id);
  1135		if (reg < SWITCHTEC_MAX_PFF_CSR)
  1136			stdev->pff_local[reg] = 1;
  1137	
  1138		reg = ioread32(&pcfg->vep_pff_inst_id);
  1139		if (reg < SWITCHTEC_MAX_PFF_CSR)
  1140			stdev->pff_local[reg] = 1;
  1141	
  1142		for (i = 0; i < ARRAY_SIZE(pcfg->dsp_pff_inst_id); i++) {
  1143			reg = ioread32(&pcfg->dsp_pff_inst_id[i]);
  1144			if (reg < SWITCHTEC_MAX_PFF_CSR)
  1145				stdev->pff_local[reg] = 1;
  1146		}
  1147	}
  1148	
  1149	static int switchtec_init_pci(struct switchtec_dev *stdev,
  1150				      struct pci_dev *pdev)
  1151	{
  1152		int rc;
  1153		int partition;
  1154	
  1155		rc = pcim_enable_device(pdev);
  1156		if (rc)
  1157			return rc;
  1158	
  1159		rc = pcim_iomap_regions(pdev, 0x1, KBUILD_MODNAME);
  1160		if (rc)
  1161			return rc;
  1162	
  1163		pci_set_master(pdev);
  1164	
  1165		stdev->mmio = pcim_iomap_table(pdev)[0];
  1166		stdev->mmio_mrpc = stdev->mmio + SWITCHTEC_GAS_MRPC_OFFSET;
  1167		stdev->mmio_sw_event = stdev->mmio + SWITCHTEC_GAS_SW_EVENT_OFFSET;
  1168		stdev->mmio_sys_info = stdev->mmio + SWITCHTEC_GAS_SYS_INFO_OFFSET;
  1169		stdev->mmio_flash_info = stdev->mmio + SWITCHTEC_GAS_FLASH_INFO_OFFSET;
  1170		stdev->mmio_ntb = stdev->mmio + SWITCHTEC_GAS_NTB_OFFSET;
  1171		stdev->partition = ioread8(&stdev->mmio_ntb->partition_id);
  1172		stdev->partition_count = ioread8(&stdev->mmio_ntb->partition_count);
  1173		stdev->mmio_part_cfg_all = stdev->mmio + SWITCHTEC_GAS_PART_CFG_OFFSET;
> 1174		stdev->mmio_part_cfg = &stdev->mmio_part_cfg_all[partition];
  1175		stdev->mmio_pff_csr = stdev->mmio + SWITCHTEC_GAS_PFF_CSR_OFFSET;
  1176	
  1177		init_pff(stdev);

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 57993 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-nvme/attachments/20170201/1791c455/attachment-0001.gz>

  parent reply	other threads:[~2017-01-31 18:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-31 17:03 [PATCH 0/1] DRAFT: New Microsemi PCI Switch Management Driver Logan Gunthorpe
2017-01-31 17:03 ` [PATCH 1/1] MicroSemi Switchtec management interface driver Logan Gunthorpe
2017-01-31 17:26   ` Greg Kroah-Hartman
2017-01-31 17:35     ` Logan Gunthorpe
2017-01-31 17:49       ` Jonathan Corbet
2017-01-31 18:32         ` Logan Gunthorpe
2017-01-31 18:57       ` Greg Kroah-Hartman
2017-01-31 19:04         ` Logan Gunthorpe
2017-01-31 17:27   ` Greg Kroah-Hartman
2017-01-31 18:21   ` kbuild test robot [this message]
2017-01-31 20:48   ` Emil Velikov
2017-01-31 23:13     ` Logan Gunthorpe
2017-02-01 12:10       ` Emil Velikov
2017-02-02 16:37         ` Logan Gunthorpe
2017-02-03 13:49           ` Emil Velikov

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=201702010207.GxRatpeu%fengguang.wu@intel.com \
    --to=lkp@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox