Commit 1e496391 authored by Joe Perches's avatar Joe Perches Committed by Michael Ellerman

powerpc/powernv/ioda2: Add __printf format/argument verification

Fix fallout too.
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 29b861ea
...@@ -847,11 +847,11 @@ static int pnv_ioda_deconfigure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe) ...@@ -847,11 +847,11 @@ static int pnv_ioda_deconfigure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe)
rc = opal_pci_set_peltv(phb->opal_id, pe->pe_number, rc = opal_pci_set_peltv(phb->opal_id, pe->pe_number,
pe->pe_number, OPAL_REMOVE_PE_FROM_DOMAIN); pe->pe_number, OPAL_REMOVE_PE_FROM_DOMAIN);
if (rc) if (rc)
pe_warn(pe, "OPAL error %ld remove self from PELTV\n", rc); pe_warn(pe, "OPAL error %lld remove self from PELTV\n", rc);
rc = opal_pci_set_pe(phb->opal_id, pe->pe_number, pe->rid, rc = opal_pci_set_pe(phb->opal_id, pe->pe_number, pe->rid,
bcomp, dcomp, fcomp, OPAL_UNMAP_PE); bcomp, dcomp, fcomp, OPAL_UNMAP_PE);
if (rc) if (rc)
pe_err(pe, "OPAL error %ld trying to setup PELT table\n", rc); pe_err(pe, "OPAL error %lld trying to setup PELT table\n", rc);
pe->pbus = NULL; pe->pbus = NULL;
pe->pdev = NULL; pe->pdev = NULL;
...@@ -1174,11 +1174,12 @@ static struct pnv_ioda_pe *pnv_ioda_setup_bus_PE(struct pci_bus *bus, bool all) ...@@ -1174,11 +1174,12 @@ static struct pnv_ioda_pe *pnv_ioda_setup_bus_PE(struct pci_bus *bus, bool all)
pe->rid = bus->busn_res.start << 8; pe->rid = bus->busn_res.start << 8;
if (all) if (all)
pe_info(pe, "Secondary bus %d..%d associated with PE#%x\n", pe_info(pe, "Secondary bus %pad..%pad associated with PE#%x\n",
bus->busn_res.start, bus->busn_res.end, pe->pe_number); &bus->busn_res.start, &bus->busn_res.end,
pe->pe_number);
else else
pe_info(pe, "Secondary bus %d associated with PE#%x\n", pe_info(pe, "Secondary bus %pad associated with PE#%x\n",
bus->busn_res.start, pe->pe_number); &bus->busn_res.start, pe->pe_number);
if (pnv_ioda_configure_pe(phb, pe)) { if (pnv_ioda_configure_pe(phb, pe)) {
/* XXX What do we do here ? */ /* XXX What do we do here ? */
...@@ -1448,7 +1449,7 @@ static void pnv_pci_ioda2_release_dma_pe(struct pci_dev *dev, struct pnv_ioda_pe ...@@ -1448,7 +1449,7 @@ static void pnv_pci_ioda2_release_dma_pe(struct pci_dev *dev, struct pnv_ioda_pe
tbl = pe->table_group.tables[0]; tbl = pe->table_group.tables[0];
rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0); rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0);
if (rc) if (rc)
pe_warn(pe, "OPAL error %ld release DMA window\n", rc); pe_warn(pe, "OPAL error %lld release DMA window\n", rc);
pnv_pci_ioda2_set_bypass(pe, false); pnv_pci_ioda2_set_bypass(pe, false);
if (pe->table_group.group) { if (pe->table_group.group) {
...@@ -2286,8 +2287,8 @@ static void pnv_pci_ioda1_setup_dma_pe(struct pnv_phb *phb, ...@@ -2286,8 +2287,8 @@ static void pnv_pci_ioda1_setup_dma_pe(struct pnv_phb *phb,
__pa(addr) + tce32_segsz * i, __pa(addr) + tce32_segsz * i,
tce32_segsz, IOMMU_PAGE_SIZE_4K); tce32_segsz, IOMMU_PAGE_SIZE_4K);
if (rc) { if (rc) {
pe_err(pe, " Failed to configure 32-bit TCE table," pe_err(pe, " Failed to configure 32-bit TCE table, err %lld\n",
" err %ld\n", rc); rc);
goto fail; goto fail;
} }
} }
...@@ -2332,8 +2333,8 @@ static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group, ...@@ -2332,8 +2333,8 @@ static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group,
const __u64 start_addr = tbl->it_offset << tbl->it_page_shift; const __u64 start_addr = tbl->it_offset << tbl->it_page_shift;
const __u64 win_size = tbl->it_size << tbl->it_page_shift; const __u64 win_size = tbl->it_size << tbl->it_page_shift;
pe_info(pe, "Setting up window#%d %llx..%llx pg=%x\n", num, pe_info(pe, "Setting up window#%d %llx..%llx pg=%lx\n",
start_addr, start_addr + win_size - 1, num, start_addr, start_addr + win_size - 1,
IOMMU_PAGE_SIZE(tbl)); IOMMU_PAGE_SIZE(tbl));
/* /*
...@@ -2348,7 +2349,7 @@ static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group, ...@@ -2348,7 +2349,7 @@ static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group,
size << 3, size << 3,
IOMMU_PAGE_SIZE(tbl)); IOMMU_PAGE_SIZE(tbl));
if (rc) { if (rc) {
pe_err(pe, "Failed to configure TCE table, err %ld\n", rc); pe_err(pe, "Failed to configure TCE table, err %lld\n", rc);
return rc; return rc;
} }
...@@ -3450,7 +3451,7 @@ static void pnv_pci_ioda2_release_pe_dma(struct pnv_ioda_pe *pe) ...@@ -3450,7 +3451,7 @@ static void pnv_pci_ioda2_release_pe_dma(struct pnv_ioda_pe *pe)
#ifdef CONFIG_IOMMU_API #ifdef CONFIG_IOMMU_API
rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0); rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0);
if (rc) if (rc)
pe_warn(pe, "OPAL error %ld release DMA window\n", rc); pe_warn(pe, "OPAL error %lld release DMA window\n", rc);
#endif #endif
pnv_pci_ioda2_set_bypass(pe, false); pnv_pci_ioda2_set_bypass(pe, false);
...@@ -3484,7 +3485,7 @@ static void pnv_ioda_free_pe_seg(struct pnv_ioda_pe *pe, ...@@ -3484,7 +3485,7 @@ static void pnv_ioda_free_pe_seg(struct pnv_ioda_pe *pe,
phb->ioda.reserved_pe_idx, win, 0, idx); phb->ioda.reserved_pe_idx, win, 0, idx);
if (rc != OPAL_SUCCESS) if (rc != OPAL_SUCCESS)
pe_warn(pe, "Error %ld unmapping (%d) segment#%d\n", pe_warn(pe, "Error %lld unmapping (%d) segment#%d\n",
rc, win, idx); rc, win, idx);
map[idx] = IODA_INVALID_PE; map[idx] = IODA_INVALID_PE;
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#ifndef __POWERNV_PCI_H #ifndef __POWERNV_PCI_H
#define __POWERNV_PCI_H #define __POWERNV_PCI_H
#include <linux/compiler.h> /* for __printf */
#include <linux/iommu.h> #include <linux/iommu.h>
#include <asm/iommu.h> #include <asm/iommu.h>
#include <asm/msi_bitmap.h> #include <asm/msi_bitmap.h>
...@@ -204,6 +205,7 @@ extern unsigned long pnv_pci_ioda2_get_table_size(__u32 page_shift, ...@@ -204,6 +205,7 @@ extern unsigned long pnv_pci_ioda2_get_table_size(__u32 page_shift,
__u64 window_size, __u32 levels); __u64 window_size, __u32 levels);
extern int pnv_eeh_post_init(void); extern int pnv_eeh_post_init(void);
__printf(3, 4)
extern void pe_level_printk(const struct pnv_ioda_pe *pe, const char *level, extern void pe_level_printk(const struct pnv_ioda_pe *pe, const char *level,
const char *fmt, ...); const char *fmt, ...);
#define pe_err(pe, fmt, ...) \ #define pe_err(pe, fmt, ...) \
......
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