All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-goldfish:android-goldfish-4.14-dev 14/17] drivers/misc/goldfish_address_space.c:792:8: error: implicit declaration of function 'pci_request_region'; did you mean 'pci_request_regions'?
@ 2020-04-09  4:40 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-04-09  4:40 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 7097 bytes --]

tree:   https://android.googlesource.com/kernel/goldfish android-goldfish-4.14-dev
head:   6f3fc9538452ba8c921ae52bb858c116bdedf43a
commit: e72b1d8f87f12eaf34b01050e86583c6e22ea473 [14/17] goldfish_address_space: add a driver
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout e72b1d8f87f12eaf34b01050e86583c6e22ea473
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

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

   drivers/misc/goldfish_address_space.c: In function 'create_as_device':
>> drivers/misc/goldfish_address_space.c:792:8: error: implicit declaration of function 'pci_request_region'; did you mean 'pci_request_regions'? [-Werror=implicit-function-declaration]
     res = pci_request_region(dev,
           ^~~~~~~~~~~~~~~~~~
           pci_request_regions
>> drivers/misc/goldfish_address_space.c:858:2: error: implicit declaration of function 'pci_release_region'; did you mean 'pci_release_regions'? [-Werror=implicit-function-declaration]
     pci_release_region(dev, AS_PCI_AREA_BAR_ID);
     ^~~~~~~~~~~~~~~~~~
     pci_release_regions
   drivers/misc/goldfish_address_space.c: At top level:
>> drivers/misc/goldfish_address_space.c:930:1: warning: data definition has no type or storage class
    module_pci_driver(goldfish_address_space_driver);
    ^~~~~~~~~~~~~~~~~
>> drivers/misc/goldfish_address_space.c:930:1: error: type defaults to 'int' in declaration of 'module_pci_driver' [-Werror=implicit-int]
>> drivers/misc/goldfish_address_space.c:930:1: warning: parameter names (without types) in function declaration
   drivers/misc/goldfish_address_space.c:923:26: warning: 'goldfish_address_space_driver' defined but not used [-Wunused-variable]
    static struct pci_driver goldfish_address_space_driver = {
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +792 drivers/misc/goldfish_address_space.c

   781	
   782	static int __must_check
   783	create_as_device(struct pci_dev *dev, const struct pci_device_id *id)
   784	{
   785		int res;
   786		struct as_device_state *state;
   787	
   788		state = kzalloc(sizeof(*state), GFP_KERNEL);
   789		if (!state)
   790			return -ENOMEM;
   791	
 > 792		res = pci_request_region(dev,
   793					 AS_PCI_CONTROL_BAR_ID,
   794					 "Address space control");
   795		if (res) {
   796			pr_err("(bn 0x%X, sn 0x%X) failed to allocate PCI resource for BAR%d",
   797			       dev->bus->number,
   798			       dev->devfn,
   799			       AS_PCI_CONTROL_BAR_ID);
   800			goto out_free_device_state;
   801		}
   802	
   803		res = pci_request_region(dev,
   804					 AS_PCI_AREA_BAR_ID,
   805					 "Address space area");
   806		if (res) {
   807			pr_err("(bn 0x%X, sn 0x%X) failed to allocate PCI resource for BAR%d",
   808			       dev->bus->number,
   809			       dev->devfn,
   810			       AS_PCI_AREA_BAR_ID);
   811			goto out_release_control_bar;
   812		}
   813	
   814		fill_miscdevice(&state->miscdevice);
   815		res = misc_register(&state->miscdevice);
   816		if (res)
   817			goto out_release_area_bar;
   818	
   819		state->io_registers = ioremap_pci_bar(dev,
   820						      AS_PCI_CONTROL_BAR_ID);
   821		if (IS_ERR(state->io_registers)) {
   822			res = PTR_ERR(state->io_registers);
   823			goto out_misc_deregister;
   824		}
   825	
   826		state->address_area = memremap_pci_bar(dev,
   827						       AS_PCI_AREA_BAR_ID,
   828						       MEMREMAP_WB);
   829		if (IS_ERR(state->address_area)) {
   830			res = PTR_ERR(state->address_area);
   831			goto out_iounmap;
   832		}
   833	
   834		state->address_area_phys_address =
   835			pci_resource_start(dev, AS_PCI_AREA_BAR_ID);
   836	
   837		as_write_register(state->io_registers,
   838				  AS_REGISTER_GUEST_PAGE_SIZE,
   839				  PAGE_SIZE);
   840		as_write_register(state->io_registers,
   841				  AS_REGISTER_PHYS_START_LOW,
   842				  lower_32_bits(state->address_area_phys_address));
   843		as_write_register(state->io_registers,
   844				  AS_REGISTER_PHYS_START_HIGH,
   845				  upper_32_bits(state->address_area_phys_address));
   846	
   847		state->dev = dev;
   848		mutex_init(&state->registers_lock);
   849	
   850		pci_set_drvdata(dev, state);
   851		return 0;
   852	
   853	out_iounmap:
   854		iounmap(state->io_registers);
   855	out_misc_deregister:
   856		misc_deregister(&state->miscdevice);
   857	out_release_area_bar:
 > 858		pci_release_region(dev, AS_PCI_AREA_BAR_ID);
   859	out_release_control_bar:
   860		pci_release_region(dev, AS_PCI_CONTROL_BAR_ID);
   861	out_free_device_state:
   862		kzfree(state);
   863	
   864		return res;
   865	}
   866	
   867	static void as_pci_destroy_device(struct as_device_state *state)
   868	{
   869		memunmap(state->address_area);
   870		iounmap(state->io_registers);
   871		misc_deregister(&state->miscdevice);
   872		pci_release_region(state->dev, AS_PCI_AREA_BAR_ID);
   873		pci_release_region(state->dev, AS_PCI_CONTROL_BAR_ID);
   874		kfree(state);
   875	}
   876	
   877	static int __must_check
   878	as_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
   879	{
   880		int res;
   881		u8 hardware_revision;
   882	
   883		res = pci_enable_device(dev);
   884		if (res)
   885			return res;
   886	
   887		res = pci_read_config_byte(dev, PCI_REVISION_ID, &hardware_revision);
   888		if (res)
   889			goto out_disable_pci;
   890	
   891		switch (hardware_revision) {
   892		case 1:
   893			res = create_as_device(dev, id);
   894			break;
   895	
   896		default:
   897			res = -ENODEV;
   898			goto out_disable_pci;
   899		}
   900	
   901		return 0;
   902	
   903	out_disable_pci:
   904		pci_disable_device(dev);
   905	
   906		return res;
   907	}
   908	
   909	static void as_pci_remove(struct pci_dev *dev)
   910	{
   911		struct as_device_state *state = pci_get_drvdata(dev);
   912	
   913		as_pci_destroy_device(state);
   914		pci_disable_device(dev);
   915	}
   916	
   917	static const struct pci_device_id as_pci_tbl[] = {
   918		{ PCI_DEVICE(AS_PCI_VENDOR_ID, AS_PCI_DEVICE_ID), },
   919		{ }
   920	};
   921	MODULE_DEVICE_TABLE(pci, as_pci_tbl);
   922	
   923	static struct pci_driver goldfish_address_space_driver = {
   924		.name		= GOLDFISH_ADDRESS_SPACE_DEVICE_NAME,
   925		.id_table	= as_pci_tbl,
   926		.probe		= as_pci_probe,
   927		.remove		= as_pci_remove,
   928	};
   929	
 > 930	module_pci_driver(goldfish_address_space_driver);

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 47784 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-09  4:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-09  4:40 [android-goldfish:android-goldfish-4.14-dev 14/17] drivers/misc/goldfish_address_space.c:792:8: error: implicit declaration of function 'pci_request_region'; did you mean 'pci_request_regions'? kbuild test robot

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.