• Dan Williams's avatar
    device-dax: Introduce bus + driver model · 9567da0b
    Dan Williams authored
    In support of multiple device-dax instances per device-dax-region and
    allowing the 'kmem' driver to attach to dax-instances instead of the
    current device-node access, convert the dax sub-system from a class to a
    bus. Recall that the kmem driver takes reserved / special purpose
    memories and assigns them to be managed by the core-mm.
    
    Aside from the fact the device-dax instances are registered and probed
    on a bus, two other lifetime-management changes are made:
    
    1/ Delay attaching a cdev until driver probe time
    
    2/ A new run_dax() helper is introduced to allow restoring dax-operation
       after a kill_dax() event. So, at driver ->probe() time we run_dax()
       and at ->remove() time we kill_dax() and invalidate all mappings.
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    9567da0b
device.c 11.5 KB