Hi Qais, [auto build test ERROR on v4.3-rc5 -- if it's inappropriate base, please suggest rules for selecting the more suitable base] url: https://github.com/0day-ci/linux/commits/Qais-Yousef/Implement-generic-IPI-support-mechanism/20151013-182314 config: sh-titan_defconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sh All errors (new ones prefixed by >>): kernel/irq/irqdomain.c: In function 'irq_reserve_ipi': >> kernel/irq/irqdomain.c:791:2: error: implicit declaration of function '__irq_domain_alloc_irqs' [-Werror=implicit-function-declaration] kernel/irq/irqdomain.c:799:18: error: 'struct irq_data' has no member named 'ipi_mask' kernel/irq/irqdomain.c:800:6: error: 'struct irq_data' has no member named 'ipi_mask' kernel/irq/irqdomain.c: In function 'irq_destroy_ipi': >> kernel/irq/irqdomain.c:832:2: error: implicit declaration of function 'irq_domain_free_irqs' [-Werror=implicit-function-declaration] kernel/irq/irqdomain.c:833:21: error: 'struct irq_data' has no member named 'ipi_mask' kernel/irq/irqdomain.c:833:45: error: 'struct irq_data' has no member named 'ipi_mask' cc1: some warnings being treated as errors vim +/__irq_domain_alloc_irqs +791 kernel/irq/irqdomain.c 785 if (virq <= 0) { 786 pr_warn("Can't reserve IPI, failed to alloc descs\n"); 787 return 0; 788 } 789 790 /* we are reusing hierarchy alloc function, should we create another one? */ > 791 virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs, NUMA_NO_NODE, 792 (void *) dest, true); 793 if (virq <= 0) { 794 pr_warn("Can't reserve IPI, failed to alloc irqs\n"); 795 goto free_descs; 796 } 797 798 data = irq_get_irq_data(virq); 799 bitmap_copy(data->ipi_mask.cpumask, dest->cpumask, dest->nbits); 800 data->ipi_mask.nbits = dest->nbits; 801 802 return virq; 803 804 free_descs: 805 irq_free_descs(virq, nr_irqs); 806 return 0; 807 } 808 809 /** 810 * irq_destroy_ipi() - unreserve an IPI that was previously allocated 811 * @irq: linux irq number to be destroyed 812 * 813 * Return an IPI allocated with irq_reserve_ipi() to the system. 814 */ 815 void irq_destroy_ipi(unsigned int irq) 816 { 817 struct irq_data *data = irq_get_irq_data(irq); 818 struct irq_domain *domain; 819 820 if (!irq || !data) 821 return; 822 823 domain = data->domain; 824 if (WARN_ON(domain == NULL)) 825 return; 826 827 if (!irq_domain_is_ipi(domain)) { 828 pr_warn("Not an IPI domain!\n"); 829 return; 830 } 831 > 832 irq_domain_free_irqs(irq, 833 bitmap_weight(data->ipi_mask.cpumask, data->ipi_mask.nbits)); 834 } 835 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data