Add device managed APIs for i2c_new_dummy() and
i2c_unregister_device() so that it can be managed by
device framework for freeing it.
This helps on following:
1. Maintaining the resource allocation and deallocation
i2c_dummy = i2c_new_dummy();
devm_regmap_init_i2c(i2c_dummy, ®map_config)
On this case, the user of i2c_dummy which is
devm_regmap_init_i2c() is managed allocation where
i2c_new_dummy() is not.
On Free path, we have
i2c_unregister_device(i2c_dummy)
and later, device framework release the regmap. In this
case, client of i2c_dummy after the i2c_dummy.
By using devm apis, the sequence can be maintain
i2c_dummy = devm_i2c_new_dummy();
devm_regmap_init_i2c(i2c_dummy, ®map_config)
and resource deallocation will be done in reverse order
by device framework.
2. No need to release the i2c_client in error/remove path and hence
there is less code requirement.
Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx>