[PATCH kernel v5 10/20] powerpc/iommu_api: Move IOMMU groups setup to a single place
Alexey Kardashevskiy
aik at ozlabs.ru
Wed Dec 19 17:17:23 AEDT 2018
On 19/12/2018 10:35, Michael Ellerman wrote:
> Alexey Kardashevskiy <aik at ozlabs.ru> writes:
>
>> diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
>> index b86a6e0..1168b185 100644
>> --- a/arch/powerpc/platforms/powernv/pci-ioda.c
>> +++ b/arch/powerpc/platforms/powernv/pci-ioda.c
>> @@ -2735,12 +2733,68 @@ static struct iommu_table_group_ops pnv_pci_ioda2_npu_ops = {
>> .release_ownership = pnv_ioda2_release_ownership,
>> };
>>
>> +static void pnv_ioda_setup_bus_iommu_group_add_devices(struct pnv_ioda_pe *pe,
>> + struct pci_bus *bus)
>> +{
>> + struct pci_dev *dev;
>> +
>> + list_for_each_entry(dev, &bus->devices, bus_list) {
>> + iommu_add_device(&pe->table_group, &dev->dev);
>> +
>> + if ((pe->flags & PNV_IODA_PE_BUS_ALL) && dev->subordinate)
>> + pnv_ioda_setup_bus_iommu_group_add_devices(pe,
>> + dev->subordinate);
>> + }
>> +}
>> +
>> +static void pnv_ioda_setup_bus_iommu_group(struct pnv_ioda_pe *pe)
>> +{
>> + if (!pnv_pci_ioda_pe_dma_weight(pe))
>> + return;
>> +
>> + iommu_register_group(&pe->table_group, pe->phb->hose->global_number,
>> + pe->pe_number);
>> +
>> + /*
>> + * set_iommu_table_base(&pe->pdev->dev, tbl) should have been called
>> + * by now
>> + */
>> + if (pe->flags & PNV_IODA_PE_DEV)
>> + iommu_add_device(&pe->table_group, &pe->pdev->dev);
>> + else if (pe->flags & (PNV_IODA_PE_BUS | PNV_IODA_PE_BUS_ALL))
>> + pnv_ioda_setup_bus_iommu_group_add_devices(pe, pe->pbus);
>> +}
>> +
>
> This breaks skiroot_defconfig with:
>
> arch/powerpc/platforms/powernv/pci-ioda.c:2731:13: error: 'pnv_ioda_setup_bus_iommu_group' defined but not used [-Werror=unused-function]
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/13623033/
How do you enable these warnings? I do not get them no matter what I do.
--
Alexey
More information about the Linuxppc-dev
mailing list