Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965812AbbKFALz (ORCPT ); Thu, 5 Nov 2015 19:11:55 -0500 Received: from mga09.intel.com ([134.134.136.24]:42651 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965739AbbKFALv (ORCPT ); Thu, 5 Nov 2015 19:11:51 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,249,1444719600"; d="gz'50?scan'50,208,50";a="843687668" Date: Fri, 6 Nov 2015 08:11:09 +0800 From: kbuild test robot To: LABBE Corentin Cc: kbuild-all@01.org, minyard@acm.org, openipmi-developer@lists.sourceforge.net, LABBE Corentin , linux-kernel@vger.kernel.org Subject: Re: [PATCH] ipmi: constify some struct and char arrays Message-ID: <201511060850.q0jo7l98%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="k+w/mQv8wyuph6w0" Content-Disposition: inline In-Reply-To: <1446715864-11582-1-git-send-email-clabbe.montjoie@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 38010 Lines: 553 --k+w/mQv8wyuph6w0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi LABBE, [auto build test WARNING on: char-misc/char-misc-next] [also build test WARNING on: v4.3 next-20151105] url: https://github.com/0day-ci/linux/commits/LABBE-Corentin/ipmi-constify-some-struct-and-char-arrays/20151105-173339 config: parisc-generic-64bit_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=parisc All warnings (new ones prefixed by >>): drivers/char/ipmi/ipmi_si_intf.c: In function 'init_ipmi_si': >> drivers/char/ipmi/ipmi_si_intf.c:3809:2: warning: passing argument 1 of 'register_parisc_driver' discards 'const' qualifier from pointer target type register_parisc_driver(&ipmi_parisc_driver); ^ In file included from arch/parisc/include/asm/processor.h:15:0, from arch/parisc/include/asm/spinlock.h:6, from arch/parisc/include/asm/atomic.h:21, from include/linux/atomic.h:4, from arch/parisc/include/asm/bitops.h:12, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/char/ipmi/ipmi_si_intf.c:42: arch/parisc/include/asm/hardware.h:110:12: note: expected 'struct parisc_driver *' but argument is of type 'const struct parisc_driver *' extern int register_parisc_driver(struct parisc_driver *driver); ^ drivers/char/ipmi/ipmi_si_intf.c: In function 'cleanup_ipmi_si': >> drivers/char/ipmi/ipmi_si_intf.c:3951:3: warning: passing argument 1 of 'unregister_parisc_driver' discards 'const' qualifier from pointer target type unregister_parisc_driver(&ipmi_parisc_driver); ^ In file included from arch/parisc/include/asm/processor.h:15:0, from arch/parisc/include/asm/spinlock.h:6, from arch/parisc/include/asm/atomic.h:21, from include/linux/atomic.h:4, from arch/parisc/include/asm/bitops.h:12, from include/linux/bitops.h:36, from include/linux/kernel.h:10, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/char/ipmi/ipmi_si_intf.c:42: arch/parisc/include/asm/hardware.h:112:12: note: expected 'struct parisc_driver *' but argument is of type 'const struct parisc_driver *' extern int unregister_parisc_driver(struct parisc_driver *driver); ^ vim +3809 drivers/char/ipmi/ipmi_si_intf.c 754d45318 Matthew Garrett 2010-05-26 3803 #ifdef CONFIG_ACPI d941aeae4 Corey Minyard 2013-02-27 3804 if (si_tryacpi) 754d45318 Matthew Garrett 2010-05-26 3805 spmi_find_bmc(); 754d45318 Matthew Garrett 2010-05-26 3806 #endif 754d45318 Matthew Garrett 2010-05-26 3807 fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3808 #ifdef CONFIG_PARISC fdbeb7de7 Thomas Bogendoerfer 2013-09-05 @3809 register_parisc_driver(&ipmi_parisc_driver); 7aefac26f Corey Minyard 2014-04-14 3810 parisc_registered = true; fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3811 /* poking PC IO addresses will crash machine, don't do it */ fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3812 si_trydefaults = 0; fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3813 #endif fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3814 06ee45940 Matthew Garrett 2010-05-26 3815 /* We prefer devices with interrupts, but in the case of a machine 06ee45940 Matthew Garrett 2010-05-26 3816 with multiple BMCs we assume that there will be several instances 06ee45940 Matthew Garrett 2010-05-26 3817 of a given type so if we succeed in registering a type then also 06ee45940 Matthew Garrett 2010-05-26 3818 try to register everything else of the same type */ d8cc5267b Matthew Garrett 2010-05-26 3819 2407d77a1 Matthew Garrett 2010-05-26 3820 mutex_lock(&smi_infos_lock); 2407d77a1 Matthew Garrett 2010-05-26 3821 list_for_each_entry(e, &smi_infos, link) { 06ee45940 Matthew Garrett 2010-05-26 3822 /* Try to register a device if it has an IRQ and we either 06ee45940 Matthew Garrett 2010-05-26 3823 haven't successfully registered a device yet or this 06ee45940 Matthew Garrett 2010-05-26 3824 device has the same type as one we successfully registered */ 06ee45940 Matthew Garrett 2010-05-26 3825 if (e->irq && (!type || e->addr_source == type)) { d8cc5267b Matthew Garrett 2010-05-26 3826 if (!try_smi_init(e)) { 06ee45940 Matthew Garrett 2010-05-26 3827 type = e->addr_source; 06ee45940 Matthew Garrett 2010-05-26 3828 } d8cc5267b Matthew Garrett 2010-05-26 3829 } d8cc5267b Matthew Garrett 2010-05-26 3830 } 06ee45940 Matthew Garrett 2010-05-26 3831 06ee45940 Matthew Garrett 2010-05-26 3832 /* type will only have been set if we successfully registered an si */ 06ee45940 Matthew Garrett 2010-05-26 3833 if (type) { 06ee45940 Matthew Garrett 2010-05-26 3834 mutex_unlock(&smi_infos_lock); 06ee45940 Matthew Garrett 2010-05-26 3835 return 0; d8cc5267b Matthew Garrett 2010-05-26 3836 } d8cc5267b Matthew Garrett 2010-05-26 3837 d8cc5267b Matthew Garrett 2010-05-26 3838 /* Fall back to the preferred device */ d8cc5267b Matthew Garrett 2010-05-26 3839 d8cc5267b Matthew Garrett 2010-05-26 3840 list_for_each_entry(e, &smi_infos, link) { 06ee45940 Matthew Garrett 2010-05-26 3841 if (!e->irq && (!type || e->addr_source == type)) { d8cc5267b Matthew Garrett 2010-05-26 3842 if (!try_smi_init(e)) { 06ee45940 Matthew Garrett 2010-05-26 3843 type = e->addr_source; d8cc5267b Matthew Garrett 2010-05-26 3844 } d8cc5267b Matthew Garrett 2010-05-26 3845 } 2407d77a1 Matthew Garrett 2010-05-26 3846 } 2407d77a1 Matthew Garrett 2010-05-26 3847 mutex_unlock(&smi_infos_lock); 2407d77a1 Matthew Garrett 2010-05-26 3848 06ee45940 Matthew Garrett 2010-05-26 3849 if (type) 06ee45940 Matthew Garrett 2010-05-26 3850 return 0; 06ee45940 Matthew Garrett 2010-05-26 3851 b0defcdbd Corey Minyard 2006-03-26 3852 if (si_trydefaults) { d6dfd1310 Corey Minyard 2006-03-31 3853 mutex_lock(&smi_infos_lock); b0defcdbd Corey Minyard 2006-03-26 3854 if (list_empty(&smi_infos)) { b0defcdbd Corey Minyard 2006-03-26 3855 /* No BMC was found, try defaults. */ d6dfd1310 Corey Minyard 2006-03-31 3856 mutex_unlock(&smi_infos_lock); b0defcdbd Corey Minyard 2006-03-26 3857 default_find_bmc(); 2407d77a1 Matthew Garrett 2010-05-26 3858 } else d6dfd1310 Corey Minyard 2006-03-31 3859 mutex_unlock(&smi_infos_lock); b0defcdbd Corey Minyard 2006-03-26 3860 } ^1da177e4 Linus Torvalds 2005-04-16 3861 d6dfd1310 Corey Minyard 2006-03-31 3862 mutex_lock(&smi_infos_lock); b361e27bb Corey Minyard 2006-12-06 3863 if (unload_when_empty && list_empty(&smi_infos)) { d6dfd1310 Corey Minyard 2006-03-31 3864 mutex_unlock(&smi_infos_lock); d2478521a Corey Minyard 2011-02-10 3865 cleanup_ipmi_si(); 279fbd0c5 Myron Stowe 2010-05-26 3866 printk(KERN_WARNING PFX 279fbd0c5 Myron Stowe 2010-05-26 3867 "Unable to find any System Interface(s)\n"); ^1da177e4 Linus Torvalds 2005-04-16 3868 return -ENODEV; b0defcdbd Corey Minyard 2006-03-26 3869 } else { d6dfd1310 Corey Minyard 2006-03-31 3870 mutex_unlock(&smi_infos_lock); ^1da177e4 Linus Torvalds 2005-04-16 3871 return 0; ^1da177e4 Linus Torvalds 2005-04-16 3872 } b0defcdbd Corey Minyard 2006-03-26 3873 } ^1da177e4 Linus Torvalds 2005-04-16 3874 module_init(init_ipmi_si); ^1da177e4 Linus Torvalds 2005-04-16 3875 b361e27bb Corey Minyard 2006-12-06 3876 static void cleanup_one_si(struct smi_info *to_clean) ^1da177e4 Linus Torvalds 2005-04-16 3877 { 2407d77a1 Matthew Garrett 2010-05-26 3878 int rv = 0; ^1da177e4 Linus Torvalds 2005-04-16 3879 ^1da177e4 Linus Torvalds 2005-04-16 3880 if (!to_clean) ^1da177e4 Linus Torvalds 2005-04-16 3881 return; ^1da177e4 Linus Torvalds 2005-04-16 3882 b874b985c Corey Minyard 2014-11-06 3883 if (to_clean->intf) { b874b985c Corey Minyard 2014-11-06 3884 ipmi_smi_t intf = to_clean->intf; b874b985c Corey Minyard 2014-11-06 3885 b874b985c Corey Minyard 2014-11-06 3886 to_clean->intf = NULL; b874b985c Corey Minyard 2014-11-06 3887 rv = ipmi_unregister_smi(intf); b874b985c Corey Minyard 2014-11-06 3888 if (rv) { b874b985c Corey Minyard 2014-11-06 3889 pr_err(PFX "Unable to unregister device: errno=%d\n", b874b985c Corey Minyard 2014-11-06 3890 rv); b874b985c Corey Minyard 2014-11-06 3891 } b874b985c Corey Minyard 2014-11-06 3892 } b874b985c Corey Minyard 2014-11-06 3893 567eded96 Takao Indoh 2014-10-06 3894 if (to_clean->dev) 567eded96 Takao Indoh 2014-10-06 3895 dev_set_drvdata(to_clean->dev, NULL); 567eded96 Takao Indoh 2014-10-06 3896 b0defcdbd Corey Minyard 2006-03-26 3897 list_del(&to_clean->link); b0defcdbd Corey Minyard 2006-03-26 3898 c305e3d38 Corey Minyard 2008-04-29 3899 /* b874b985c Corey Minyard 2014-11-06 3900 * Make sure that interrupts, the timer and the thread are b874b985c Corey Minyard 2014-11-06 3901 * stopped and will not run again. c305e3d38 Corey Minyard 2008-04-29 3902 */ b874b985c Corey Minyard 2014-11-06 3903 if (to_clean->irq_cleanup) b874b985c Corey Minyard 2014-11-06 3904 to_clean->irq_cleanup(to_clean); a9a2c44ff Corey Minyard 2005-11-07 3905 wait_for_timer_and_thread(to_clean); ^1da177e4 Linus Torvalds 2005-04-16 3906 c305e3d38 Corey Minyard 2008-04-29 3907 /* c305e3d38 Corey Minyard 2008-04-29 3908 * Timeouts are stopped, now make sure the interrupts are off b874b985c Corey Minyard 2014-11-06 3909 * in the BMC. Note that timers and CPU interrupts are off, b874b985c Corey Minyard 2014-11-06 3910 * so no need for locks. c305e3d38 Corey Minyard 2008-04-29 3911 */ ee6cd5f8f Corey Minyard 2007-05-08 3912 while (to_clean->curr_msg || (to_clean->si_state != SI_NORMAL)) { ee6cd5f8f Corey Minyard 2007-05-08 3913 poll(to_clean); ee6cd5f8f Corey Minyard 2007-05-08 3914 schedule_timeout_uninterruptible(1); ee6cd5f8f Corey Minyard 2007-05-08 3915 } ee6cd5f8f Corey Minyard 2007-05-08 3916 disable_si_irq(to_clean); e8b336173 Corey Minyard 2005-09-06 3917 while (to_clean->curr_msg || (to_clean->si_state != SI_NORMAL)) { ^1da177e4 Linus Torvalds 2005-04-16 3918 poll(to_clean); da4cd8dfe Nishanth Aravamudan 2005-09-10 3919 schedule_timeout_uninterruptible(1); ^1da177e4 Linus Torvalds 2005-04-16 3920 } ^1da177e4 Linus Torvalds 2005-04-16 3921 2407d77a1 Matthew Garrett 2010-05-26 3922 if (to_clean->handlers) ^1da177e4 Linus Torvalds 2005-04-16 3923 to_clean->handlers->cleanup(to_clean->si_sm); ^1da177e4 Linus Torvalds 2005-04-16 3924 ^1da177e4 Linus Torvalds 2005-04-16 3925 kfree(to_clean->si_sm); ^1da177e4 Linus Torvalds 2005-04-16 3926 b0defcdbd Corey Minyard 2006-03-26 3927 if (to_clean->addr_source_cleanup) b0defcdbd Corey Minyard 2006-03-26 3928 to_clean->addr_source_cleanup(to_clean); 7767e126c Paolo Galtieri 2005-12-15 3929 if (to_clean->io_cleanup) ^1da177e4 Linus Torvalds 2005-04-16 3930 to_clean->io_cleanup(to_clean); 50c812b2b Corey Minyard 2006-03-26 3931 50c812b2b Corey Minyard 2006-03-26 3932 if (to_clean->dev_registered) 50c812b2b Corey Minyard 2006-03-26 3933 platform_device_unregister(to_clean->pdev); 50c812b2b Corey Minyard 2006-03-26 3934 50c812b2b Corey Minyard 2006-03-26 3935 kfree(to_clean); ^1da177e4 Linus Torvalds 2005-04-16 3936 } ^1da177e4 Linus Torvalds 2005-04-16 3937 0dcf334c4 Sergey Senozhatsky 2011-03-23 3938 static void cleanup_ipmi_si(void) ^1da177e4 Linus Torvalds 2005-04-16 3939 { b0defcdbd Corey Minyard 2006-03-26 3940 struct smi_info *e, *tmp_e; ^1da177e4 Linus Torvalds 2005-04-16 3941 ^1da177e4 Linus Torvalds 2005-04-16 3942 if (!initialized) ^1da177e4 Linus Torvalds 2005-04-16 3943 return; ^1da177e4 Linus Torvalds 2005-04-16 3944 b0defcdbd Corey Minyard 2006-03-26 3945 #ifdef CONFIG_PCI 56480287f Matthew Garrett 2010-06-29 3946 if (pci_registered) b0defcdbd Corey Minyard 2006-03-26 3947 pci_unregister_driver(&ipmi_pci_driver); b0defcdbd Corey Minyard 2006-03-26 3948 #endif fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3949 #ifdef CONFIG_PARISC fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3950 if (parisc_registered) fdbeb7de7 Thomas Bogendoerfer 2013-09-05 @3951 unregister_parisc_driver(&ipmi_parisc_driver); fdbeb7de7 Thomas Bogendoerfer 2013-09-05 3952 #endif b0defcdbd Corey Minyard 2006-03-26 3953 a1e9c9dd3 Rob Herring 2011-02-23 3954 platform_driver_unregister(&ipmi_driver); :::::: The code at line 3809 was first introduced by commit :::::: fdbeb7de700a3c8fc85d7e595a6bf1c92a27c0a1 BMC support for PARISC machines :::::: TO: Thomas Bogendoerfer :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --k+w/mQv8wyuph6w0 Content-Type: application/octet-stream Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --k+w/mQv8wyuph6w0-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/