diff --git a/doc/fmc-bus.in b/doc/fmc-bus.in
index ae6d39331d26945125fbb8957a9b18db4b2f1e45..5cbc320a6e911758b9919983c9b78f7143646966 100644
--- a/doc/fmc-bus.in
+++ b/doc/fmc-bus.in
@@ -202,11 +202,11 @@ The individual methods perform the following tasks:
 
 	These functions access FPGA registers by whatever means the
         carrier offers. They are not expected to fail, as most of the time
-        they will just make a memory access to the host bus. While
-        calling a function is slower than making direct access with macros,
-        flexibility requires this approach. Drivers may use the @code{base}
-        pointer at their own risk, or maybe later specifications will mandate
-        @code{base} to be equivalent to @i{readl}/@i{writel} if not NULL.
+        they will just make a memory access to the host bus. If the
+        carrier provided a @i{base} pointer, the driver may use direct
+        access through it instead. For this reason the header offers
+        the inline functions @i{fmc_readl} and @i{fmc_writel} that
+        access @i{base} if respective method is NULL.
         For Etherbone, or other non-local carriers,
         error-management is still to be defined.
 
diff --git a/kernel/spec-fmc.c b/kernel/spec-fmc.c
index e827e354e7d31f90291df038d76f61fcfb9db9b5..239d94b90afd0918f0e5c5e815e7298dc11dfefe 100644
--- a/kernel/spec-fmc.c
+++ b/kernel/spec-fmc.c
@@ -73,7 +73,7 @@ static int spec_irq_free(struct fmc_device *fmc)
 }
 
 static struct fmc_operations spec_fmc_operations = {
-	/* FIXME: readl/writel */
+	/* no readl/writel because we have the base pointer */
 	/* FIXME: reprogram */
 	.irq_request =		spec_irq_request,
 	.irq_ack =		spec_irq_ack,