Simple fix. lenovo-wmi.c or lenovo-wmi-common.c is preferred?
I think let's wait and see what the discussion on 0/4 lands on. From your most recent comments I'm personally leaning it's best that "everything" is linked together as part of a single kernel object that happens to have a modalias that can let it auto-load from any one of the drivers.
That would mean you can put the helpers "between" drivers of that kernel object in a -common.c and use them as needed. You can also avoid stuff like IS_REACHABLE because it all comes together as part of the kernel object. You instead would just check if bound.
But let's see Armin's thoughts before you start moving things around.