It depends on the bus the device is added.
when an overlay is applied by the kernel, OF_RECONFIG_* events are
triggered. Some buses handle them:
$ git grep OF_RECONFIG_CHANGE
drivers/bus/imx-weim.c: case OF_RECONFIG_CHANGE_ADD:
drivers/bus/imx-weim.c: case OF_RECONFIG_CHANGE_REMOVE:
drivers/gpio/gpiolib-of.c: case OF_RECONFIG_CHANGE_ADD:
drivers/gpio/gpiolib-of.c: case OF_RECONFIG_CHANGE_REMOVE:
drivers/i2c/i2c-core-of.c: case OF_RECONFIG_CHANGE_ADD:
drivers/i2c/i2c-core-of.c: case OF_RECONFIG_CHANGE_REMOVE:
drivers/of/dynamic.c: * Return: OF_RECONFIG_CHANGE_REMOVE on device going from enabled to
drivers/of/dynamic.c: * disabled, OF_RECONFIG_CHANGE_ADD on device going from disabled to
drivers/of/dynamic.c: return new_state ? OF_RECONFIG_CHANGE_ADD : OF_RECONFIG_CHANGE_REMOVE;
drivers/of/platform.c: case OF_RECONFIG_CHANGE_ADD:
drivers/of/platform.c: case OF_RECONFIG_CHANGE_REMOVE:
drivers/spi/spi.c: case OF_RECONFIG_CHANGE_ADD:
drivers/spi/spi.c: case OF_RECONFIG_CHANGE_REMOVE:
include/linux/of.h: OF_RECONFIG_CHANGE_ADD,
include/linux/of.h: OF_RECONFIG_CHANGE_REMOVE,