linux_dsm_epyc7002/drivers/dax
Dan Williams 9567da0b40 device-dax: Introduce bus + driver model
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: Dan Williams <dan.j.williams@intel.com>
2019-01-06 21:24:46 -08:00
..
bus.c device-dax: Introduce bus + driver model 2019-01-06 21:24:46 -08:00
bus.h device-dax: Introduce bus + driver model 2019-01-06 21:24:46 -08:00
dax-private.h device-dax: Introduce bus + driver model 2019-01-06 21:24:46 -08:00
device.c device-dax: Introduce bus + driver model 2019-01-06 21:24:46 -08:00
Kconfig dax: introduce CONFIG_DAX_DRIVER 2018-04-03 05:41:19 -07:00
Makefile device-dax: Start defining a dax bus model 2019-01-06 21:24:46 -08:00
pmem.c device-dax: Start defining a dax bus model 2019-01-06 21:24:46 -08:00
super.c device-dax: Introduce bus + driver model 2019-01-06 21:24:46 -08:00