• D
    device-dax: Introduce bus + driver model · 1ea15e85
    Dan Williams 提交于
    commit 9567da0b408a2553d32ca83cba4f1fc5a8aad459 upstream
    
    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: NDan Williams <dan.j.williams@intel.com>
    Signed-off-by: NYang Shi <yang.shi@linux.alibaba.com>
    Reviewed-by: NGavin Shan <shan.gavin@linux.alibaba.com>
    1ea15e85
dax-private.h 1.7 KB