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,