On Mon, 2017-05-22 at 22:16 -0700, Olof Johansson wrote: > The same is true for some other drivers. Actually, I wonder if it > might be just as easy to implement a sbi backend for hvc -- see > hvc_udbg.c for an example where, on power, you have a simple get/put > char hypervisor call in a very similar manner.
Rather look at hvc_opal. This is the console driver we use on native POWER servers with the OPAL firmware, and it calls into a firmware in a very similar way. The driver lives in drivers/tty/hvc. It does call some "helpers" in the arch code that wrap the actual FW calls. > Either way (keeping discrete sbi driver or implementing hvc backend), > moving to drivers/tty is the right thing here -- we've worked hard on > ARM to get rid of random drivers under arch/ and it'd be nice to not > see new ones intoduced here. Yup. The reason mostly is that if the tty maintainer needs to do a subsystem-wide change, he can address all drivers in drivers/tty and doesn't have to look for others elsewhere in the tree. This is the same for all subsystems. Cheers, Ben.