The second parameter of the devm_ioremap() API (see its signature in the preceding section) is resource_size_t offset. The formal parameter name offset is a bit misleading – it's really the physical or bus address of the peripheral I/O memory region that's used to remap to kernel VAS (in fact, the resource_size_t data type is nothing but a typedef for phys_addr_t, a physical address).
This and the following section's coverage is important for Linux device driver authors since it introduces some key ideas (the Device Tree (DT), the platform and devres APIs, and so on) and encompasses some very common strategies that are employed.
But how will you obtain this first parameter to the devm_ioremap()Â API - the bus or physical address? An FAQ indeed! Well, of course, this is very device-specific. Having said that, the starting bus or physical address is just one of several I/O resources...