Commit 6db645f9 authored by Bjorn Helgaas's avatar Bjorn Helgaas

Merge branch 'pci/misc'

- Update kernel-doc to match function prototypes (Mauro Carvalho Chehab)

- Bounds-check "pci=resource_alignment=" requests (Bjorn Helgaas)

- Fix integer overflow in "pci=resource_alignment=" requests (Colin Ian
  King)

- Remove unused HAVE_PCI_SET_MWI definition (Heiner Kallweit)

- Reduce pci_set_cacheline_size() message to debug level (Heiner Kallweit)

* pci/misc:
  PCI: Reduce pci_set_cacheline_size() message to debug level
  PCI: Remove unused HAVE_PCI_SET_MWI
  PCI: Fix overflow in command-line resource alignment requests
  PCI: Bounds-check command-line resource alignment requests
  PCI: Fix kernel-doc markup

# Conflicts:
#	drivers/pci/pci-driver.c
parents 1a76dcea 0aec75a5
...@@ -609,7 +609,7 @@ bool pci_has_p2pmem(struct pci_dev *pdev) ...@@ -609,7 +609,7 @@ bool pci_has_p2pmem(struct pci_dev *pdev)
EXPORT_SYMBOL_GPL(pci_has_p2pmem); EXPORT_SYMBOL_GPL(pci_has_p2pmem);
/** /**
* pci_p2pmem_find - find a peer-to-peer DMA memory device compatible with * pci_p2pmem_find_many - find a peer-to-peer DMA memory device compatible with
* the specified list of clients and shortest distance (as determined * the specified list of clients and shortest distance (as determined
* by pci_p2pmem_dma()) * by pci_p2pmem_dma())
* @clients: array of devices to check (NULL-terminated) * @clients: array of devices to check (NULL-terminated)
...@@ -674,7 +674,7 @@ struct pci_dev *pci_p2pmem_find_many(struct device **clients, int num_clients) ...@@ -674,7 +674,7 @@ struct pci_dev *pci_p2pmem_find_many(struct device **clients, int num_clients)
EXPORT_SYMBOL_GPL(pci_p2pmem_find_many); EXPORT_SYMBOL_GPL(pci_p2pmem_find_many);
/** /**
* pci_alloc_p2p_mem - allocate peer-to-peer DMA memory * pci_alloc_p2pmem - allocate peer-to-peer DMA memory
* @pdev: the device to allocate memory from * @pdev: the device to allocate memory from
* @size: number of bytes to allocate * @size: number of bytes to allocate
* *
...@@ -727,7 +727,7 @@ void pci_free_p2pmem(struct pci_dev *pdev, void *addr, size_t size) ...@@ -727,7 +727,7 @@ void pci_free_p2pmem(struct pci_dev *pdev, void *addr, size_t size)
EXPORT_SYMBOL_GPL(pci_free_p2pmem); EXPORT_SYMBOL_GPL(pci_free_p2pmem);
/** /**
* pci_virt_to_bus - return the PCI bus address for a given virtual * pci_p2pmem_virt_to_bus - return the PCI bus address for a given virtual
* address obtained with pci_alloc_p2pmem() * address obtained with pci_alloc_p2pmem()
* @pdev: the device the memory was allocated from * @pdev: the device the memory was allocated from
* @addr: address of the memory that was allocated * @addr: address of the memory that was allocated
...@@ -859,7 +859,7 @@ static int __pci_p2pdma_map_sg(struct pci_p2pdma_pagemap *p2p_pgmap, ...@@ -859,7 +859,7 @@ static int __pci_p2pdma_map_sg(struct pci_p2pdma_pagemap *p2p_pgmap,
} }
/** /**
* pci_p2pdma_map_sg - map a PCI peer-to-peer scatterlist for DMA * pci_p2pdma_map_sg_attrs - map a PCI peer-to-peer scatterlist for DMA
* @dev: device doing the DMA request * @dev: device doing the DMA request
* @sg: scatter list to map * @sg: scatter list to map
* @nents: elements in the scatterlist * @nents: elements in the scatterlist
...@@ -896,7 +896,7 @@ int pci_p2pdma_map_sg_attrs(struct device *dev, struct scatterlist *sg, ...@@ -896,7 +896,7 @@ int pci_p2pdma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
EXPORT_SYMBOL_GPL(pci_p2pdma_map_sg_attrs); EXPORT_SYMBOL_GPL(pci_p2pdma_map_sg_attrs);
/** /**
* pci_p2pdma_unmap_sg - unmap a PCI peer-to-peer scatterlist that was * pci_p2pdma_unmap_sg_attrs - unmap a PCI peer-to-peer scatterlist that was
* mapped with pci_p2pdma_map_sg() * mapped with pci_p2pdma_map_sg()
* @dev: device doing the DMA request * @dev: device doing the DMA request
* @sg: scatter list to map * @sg: scatter list to map
......
...@@ -163,7 +163,7 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv, ...@@ -163,7 +163,7 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv,
} }
/** /**
* store_new_id - sysfs frontend to pci_add_dynid() * new_id_store - sysfs frontend to pci_add_dynid()
* @driver: target device driver * @driver: target device driver
* @buf: buffer for scanning device ID data * @buf: buffer for scanning device ID data
* @count: input size * @count: input size
...@@ -231,7 +231,7 @@ static ssize_t new_id_store(struct device_driver *driver, const char *buf, ...@@ -231,7 +231,7 @@ static ssize_t new_id_store(struct device_driver *driver, const char *buf,
static DRIVER_ATTR_WO(new_id); static DRIVER_ATTR_WO(new_id);
/** /**
* store_remove_id - remove a PCI device ID from this driver * remove_id_store - remove a PCI device ID from this driver
* @driver: target device driver * @driver: target device driver
* @buf: buffer for scanning device ID data * @buf: buffer for scanning device ID data
* @count: input size * @count: input size
......
...@@ -3487,7 +3487,7 @@ bool pci_acs_enabled(struct pci_dev *pdev, u16 acs_flags) ...@@ -3487,7 +3487,7 @@ bool pci_acs_enabled(struct pci_dev *pdev, u16 acs_flags)
} }
/** /**
* pci_acs_path_enable - test ACS flags from start to end in a hierarchy * pci_acs_path_enabled - test ACS flags from start to end in a hierarchy
* @start: starting downstream device * @start: starting downstream device
* @end: ending upstream device or NULL to search to the root bus * @end: ending upstream device or NULL to search to the root bus
* @acs_flags: required flags * @acs_flags: required flags
...@@ -4331,7 +4331,7 @@ int pci_set_cacheline_size(struct pci_dev *dev) ...@@ -4331,7 +4331,7 @@ int pci_set_cacheline_size(struct pci_dev *dev)
if (cacheline_size == pci_cache_line_size) if (cacheline_size == pci_cache_line_size)
return 0; return 0;
pci_info(dev, "cache line size of %d is not supported\n", pci_dbg(dev, "cache line size of %d is not supported\n",
pci_cache_line_size << 2); pci_cache_line_size << 2);
return -EINVAL; return -EINVAL;
...@@ -6216,19 +6216,21 @@ static resource_size_t pci_specified_resource_alignment(struct pci_dev *dev, ...@@ -6216,19 +6216,21 @@ static resource_size_t pci_specified_resource_alignment(struct pci_dev *dev,
while (*p) { while (*p) {
count = 0; count = 0;
if (sscanf(p, "%d%n", &align_order, &count) == 1 && if (sscanf(p, "%d%n", &align_order, &count) == 1 &&
p[count] == '@') { p[count] == '@') {
p += count + 1; p += count + 1;
if (align_order > 63) {
pr_err("PCI: Invalid requested alignment (order %d)\n",
align_order);
align_order = PAGE_SHIFT;
}
} else { } else {
align_order = -1; align_order = PAGE_SHIFT;
} }
ret = pci_dev_str_match(dev, p, &p); ret = pci_dev_str_match(dev, p, &p);
if (ret == 1) { if (ret == 1) {
*resize = true; *resize = true;
if (align_order == -1) align = 1ULL << align_order;
align = PAGE_SIZE;
else
align = 1 << align_order;
break; break;
} else if (ret < 0) { } else if (ret < 0) {
pr_err("PCI: Can't parse resource_alignment parameter: %s\n", pr_err("PCI: Can't parse resource_alignment parameter: %s\n",
......
...@@ -165,7 +165,7 @@ static inline unsigned long decode_bar(struct pci_dev *dev, u32 bar) ...@@ -165,7 +165,7 @@ static inline unsigned long decode_bar(struct pci_dev *dev, u32 bar)
#define PCI_COMMAND_DECODE_ENABLE (PCI_COMMAND_MEMORY | PCI_COMMAND_IO) #define PCI_COMMAND_DECODE_ENABLE (PCI_COMMAND_MEMORY | PCI_COMMAND_IO)
/** /**
* pci_read_base - Read a PCI BAR * __pci_read_base - Read a PCI BAR
* @dev: the PCI device * @dev: the PCI device
* @type: type of the BAR * @type: type of the BAR
* @res: resource buffer to be filled in * @res: resource buffer to be filled in
...@@ -1613,7 +1613,7 @@ static bool pci_ext_cfg_is_aliased(struct pci_dev *dev) ...@@ -1613,7 +1613,7 @@ static bool pci_ext_cfg_is_aliased(struct pci_dev *dev)
} }
/** /**
* pci_cfg_space_size - Get the configuration space size of the PCI device * pci_cfg_space_size_ext - Get the configuration space size of the PCI device
* @dev: PCI device * @dev: PCI device
* *
* Regular PCI devices have 256 bytes, but PCI-X 2 and PCI Express devices * Regular PCI devices have 256 bytes, but PCI-X 2 and PCI Express devices
......
...@@ -323,7 +323,7 @@ EXPORT_SYMBOL_GPL(pci_destroy_slot); ...@@ -323,7 +323,7 @@ EXPORT_SYMBOL_GPL(pci_destroy_slot);
#if defined(CONFIG_HOTPLUG_PCI) || defined(CONFIG_HOTPLUG_PCI_MODULE) #if defined(CONFIG_HOTPLUG_PCI) || defined(CONFIG_HOTPLUG_PCI_MODULE)
#include <linux/pci_hotplug.h> #include <linux/pci_hotplug.h>
/** /**
* pci_hp_create_link - create symbolic link to the hotplug driver module. * pci_hp_create_module_link - create symbolic link to hotplug driver module
* @pci_slot: struct pci_slot * @pci_slot: struct pci_slot
* *
* Helper function for pci_hotplug_core.c to create symbolic link to * Helper function for pci_hotplug_core.c to create symbolic link to
...@@ -349,7 +349,8 @@ void pci_hp_create_module_link(struct pci_slot *pci_slot) ...@@ -349,7 +349,8 @@ void pci_hp_create_module_link(struct pci_slot *pci_slot)
EXPORT_SYMBOL_GPL(pci_hp_create_module_link); EXPORT_SYMBOL_GPL(pci_hp_create_module_link);
/** /**
* pci_hp_remove_link - remove symbolic link to the hotplug driver module. * pci_hp_remove_module_link - remove symbolic link to the hotplug driver
* module.
* @pci_slot: struct pci_slot * @pci_slot: struct pci_slot
* *
* Helper function for pci_hotplug_core.c to remove symbolic link to * Helper function for pci_hotplug_core.c to remove symbolic link to
......
...@@ -1197,7 +1197,6 @@ void pci_clear_master(struct pci_dev *dev); ...@@ -1197,7 +1197,6 @@ void pci_clear_master(struct pci_dev *dev);
int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state); int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state);
int pci_set_cacheline_size(struct pci_dev *dev); int pci_set_cacheline_size(struct pci_dev *dev);
#define HAVE_PCI_SET_MWI
int __must_check pci_set_mwi(struct pci_dev *dev); int __must_check pci_set_mwi(struct pci_dev *dev);
int __must_check pcim_set_mwi(struct pci_dev *dev); int __must_check pcim_set_mwi(struct pci_dev *dev);
int pci_try_set_mwi(struct pci_dev *dev); int pci_try_set_mwi(struct pci_dev *dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment