summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/osl.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-01-02 03:10:29 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-01-03 01:01:44 +0100
commit9d128ed17c672b1dffde4a328e9b3ee26d87a8f0 (patch)
treea7f72e5a2e2efbb2a4b7a011ed487e65ecba75db /drivers/acpi/osl.c
parent74bf8efb5fa6e958d2d7c7917b8bb672085ec0c6 (diff)
downloadop-kernel-dev-9d128ed17c672b1dffde4a328e9b3ee26d87a8f0.zip
op-kernel-dev-9d128ed17c672b1dffde4a328e9b3ee26d87a8f0.tar.gz
ACPI / OSL: Add kerneldoc comments to memory mapping functions
Add kerneldoc comments to acpi_os_map_iomem() and acpi_os_unmap_iomem() and explain why the latter needs the __ref annotation in one of them (as suggested by Mathias Krause). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Mathias Krause <minipli@googlemail.com>
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r--drivers/acpi/osl.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 32d684a..d0ecf4ef 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -364,6 +364,19 @@ static void acpi_unmap(acpi_physical_address pg_off, void __iomem *vaddr)
iounmap(vaddr);
}
+/**
+ * acpi_os_map_iomem - Get a virtual address for a given physical address range.
+ * @phys: Start of the physical address range to map.
+ * @size: Size of the physical address range to map.
+ *
+ * Look up the given physical address range in the list of existing ACPI memory
+ * mappings. If found, get a reference to it and return a pointer to it (its
+ * virtual address). If not found, map it, add it to that list and return a
+ * pointer to it.
+ *
+ * During early init (when acpi_gbl_permanent_mmap has not been set yet) this
+ * routine simply calls __acpi_map_table() to get the job done.
+ */
void __iomem *__init_refok
acpi_os_map_iomem(acpi_physical_address phys, acpi_size size)
{
@@ -439,6 +452,20 @@ static void acpi_os_map_cleanup(struct acpi_ioremap *map)
}
}
+/**
+ * acpi_os_unmap_iomem - Drop a memory mapping reference.
+ * @virt: Start of the address range to drop a reference to.
+ * @size: Size of the address range to drop a reference to.
+ *
+ * Look up the given virtual address range in the list of existing ACPI memory
+ * mappings, drop a reference to it and unmap it if there are no more active
+ * references to it.
+ *
+ * During early init (when acpi_gbl_permanent_mmap has not been set yet) this
+ * routine simply calls __acpi_unmap_table() to get the job done. Since
+ * __acpi_unmap_table() is an __init function, the __ref annotation is needed
+ * here.
+ */
void __ref acpi_os_unmap_iomem(void __iomem *virt, acpi_size size)
{
struct acpi_ioremap *map;
OpenPOWER on IntegriCloud