mirror of https://github.com/torvalds/linux.git
ACPI: RIMT: Fix unused function warnings when CONFIG_IOMMU_API is disabled
When CONFIG_IOMMU_API is disabled, some functions defined outside its
conditional scope become unused, triggering compiler warnings reported
by the kernel test robot.
Move these function definitions inside the #ifdef CONFIG_IOMMU_API block
to prevent unused function warnings when the configuration is disabled.
Fixes: 8f77295525 ("ACPI: RISC-V: Add support for RIMT")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202509280031.8Sjkr4bh-lkp@intel.com/
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Link: https://lore.kernel.org/r/20251013181947.261759-1-sunilvl@ventanamicro.com
This commit is contained in:
parent
ca525d53f9
commit
e7b969cbe3
|
|
@ -61,30 +61,6 @@ static int rimt_set_fwnode(struct acpi_rimt_node *rimt_node,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* rimt_get_fwnode() - Retrieve fwnode associated with an RIMT node
|
|
||||||
*
|
|
||||||
* @node: RIMT table node to be looked-up
|
|
||||||
*
|
|
||||||
* Returns: fwnode_handle pointer on success, NULL on failure
|
|
||||||
*/
|
|
||||||
static struct fwnode_handle *rimt_get_fwnode(struct acpi_rimt_node *node)
|
|
||||||
{
|
|
||||||
struct fwnode_handle *fwnode = NULL;
|
|
||||||
struct rimt_fwnode *curr;
|
|
||||||
|
|
||||||
spin_lock(&rimt_fwnode_lock);
|
|
||||||
list_for_each_entry(curr, &rimt_fwnode_list, list) {
|
|
||||||
if (curr->rimt_node == node) {
|
|
||||||
fwnode = curr->fwnode;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
spin_unlock(&rimt_fwnode_lock);
|
|
||||||
|
|
||||||
return fwnode;
|
|
||||||
}
|
|
||||||
|
|
||||||
static acpi_status rimt_match_node_callback(struct acpi_rimt_node *node,
|
static acpi_status rimt_match_node_callback(struct acpi_rimt_node *node,
|
||||||
void *context)
|
void *context)
|
||||||
{
|
{
|
||||||
|
|
@ -202,6 +178,67 @@ static struct acpi_rimt_node *rimt_scan_node(enum acpi_rimt_node_type type,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* RISC-V supports IOMMU as a PCI device or a platform device.
|
||||||
|
* When it is a platform device, there should be a namespace device as
|
||||||
|
* well along with RIMT. To create the link between RIMT information and
|
||||||
|
* the platform device, the IOMMU driver should register itself with the
|
||||||
|
* RIMT module. This is true for PCI based IOMMU as well.
|
||||||
|
*/
|
||||||
|
int rimt_iommu_register(struct device *dev)
|
||||||
|
{
|
||||||
|
struct fwnode_handle *rimt_fwnode;
|
||||||
|
struct acpi_rimt_node *node;
|
||||||
|
|
||||||
|
node = rimt_scan_node(ACPI_RIMT_NODE_TYPE_IOMMU, dev);
|
||||||
|
if (!node) {
|
||||||
|
pr_err("Could not find IOMMU node in RIMT\n");
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dev_is_pci(dev)) {
|
||||||
|
rimt_fwnode = acpi_alloc_fwnode_static();
|
||||||
|
if (!rimt_fwnode)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
rimt_fwnode->dev = dev;
|
||||||
|
if (!dev->fwnode)
|
||||||
|
dev->fwnode = rimt_fwnode;
|
||||||
|
|
||||||
|
rimt_set_fwnode(node, rimt_fwnode);
|
||||||
|
} else {
|
||||||
|
rimt_set_fwnode(node, dev->fwnode);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_IOMMU_API
|
||||||
|
|
||||||
|
/**
|
||||||
|
* rimt_get_fwnode() - Retrieve fwnode associated with an RIMT node
|
||||||
|
*
|
||||||
|
* @node: RIMT table node to be looked-up
|
||||||
|
*
|
||||||
|
* Returns: fwnode_handle pointer on success, NULL on failure
|
||||||
|
*/
|
||||||
|
static struct fwnode_handle *rimt_get_fwnode(struct acpi_rimt_node *node)
|
||||||
|
{
|
||||||
|
struct fwnode_handle *fwnode = NULL;
|
||||||
|
struct rimt_fwnode *curr;
|
||||||
|
|
||||||
|
spin_lock(&rimt_fwnode_lock);
|
||||||
|
list_for_each_entry(curr, &rimt_fwnode_list, list) {
|
||||||
|
if (curr->rimt_node == node) {
|
||||||
|
fwnode = curr->fwnode;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spin_unlock(&rimt_fwnode_lock);
|
||||||
|
|
||||||
|
return fwnode;
|
||||||
|
}
|
||||||
|
|
||||||
static bool rimt_pcie_rc_supports_ats(struct acpi_rimt_node *node)
|
static bool rimt_pcie_rc_supports_ats(struct acpi_rimt_node *node)
|
||||||
{
|
{
|
||||||
struct acpi_rimt_pcie_rc *pci_rc;
|
struct acpi_rimt_pcie_rc *pci_rc;
|
||||||
|
|
@ -290,43 +327,6 @@ static struct acpi_rimt_node *rimt_node_get_id(struct acpi_rimt_node *node,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* RISC-V supports IOMMU as a PCI device or a platform device.
|
|
||||||
* When it is a platform device, there should be a namespace device as
|
|
||||||
* well along with RIMT. To create the link between RIMT information and
|
|
||||||
* the platform device, the IOMMU driver should register itself with the
|
|
||||||
* RIMT module. This is true for PCI based IOMMU as well.
|
|
||||||
*/
|
|
||||||
int rimt_iommu_register(struct device *dev)
|
|
||||||
{
|
|
||||||
struct fwnode_handle *rimt_fwnode;
|
|
||||||
struct acpi_rimt_node *node;
|
|
||||||
|
|
||||||
node = rimt_scan_node(ACPI_RIMT_NODE_TYPE_IOMMU, dev);
|
|
||||||
if (!node) {
|
|
||||||
pr_err("Could not find IOMMU node in RIMT\n");
|
|
||||||
return -ENODEV;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dev_is_pci(dev)) {
|
|
||||||
rimt_fwnode = acpi_alloc_fwnode_static();
|
|
||||||
if (!rimt_fwnode)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
rimt_fwnode->dev = dev;
|
|
||||||
if (!dev->fwnode)
|
|
||||||
dev->fwnode = rimt_fwnode;
|
|
||||||
|
|
||||||
rimt_set_fwnode(node, rimt_fwnode);
|
|
||||||
} else {
|
|
||||||
rimt_set_fwnode(node, dev->fwnode);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_IOMMU_API
|
|
||||||
|
|
||||||
static struct acpi_rimt_node *rimt_node_map_id(struct acpi_rimt_node *node,
|
static struct acpi_rimt_node *rimt_node_map_id(struct acpi_rimt_node *node,
|
||||||
u32 id_in, u32 *id_out,
|
u32 id_in, u32 *id_out,
|
||||||
u8 type_mask)
|
u8 type_mask)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue