On Tue, Aug 13, 2019 at 08:11:34PM +0000, Christophe Leroy wrote: > ppc_md.ioremap() is only used for I/O workaround on CELL platform, > so indirect function call can be avoided. > > This patch reworks the io-workaround and ioremap() functions to > use static keys for the activation of io-workaround. > > When CONFIG_PPC_IO_WORKAROUNDS or CONFIG_PPC_INDIRECT_MMIO are not > selected, the I/O workaround ioremap() voids and the static key is > not used at all.
Why bother with the complex static key? ioremap isn't exactly a fast path. Just make it a normal branch if enabled, with the option to compile it out entirely as in your patch.