soc: fsl: dpio: add a device_link at dpaa2_io_service_register
Automatically add a device link between the actual device requesting the dpaa2_io_service_register and the underlying dpaa2_io used. This link will ensure that when a DPIO device, which is indirectly used by other devices, is unbound any consumer devices will be also unbound from their drivers. For example, any DPNI, bound to the dpaa2-eth driver, which is using DPIO devices will be unbound before its supplier device. Also, add a new parameter to the dpaa2_io_service_[de]register functions to specify the requesting device (ie the consumer). Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Horia Geanta <horia.geanta@nxp.com> Reviewed-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
@@ -94,9 +94,11 @@ struct dpaa2_io_notification_ctx {
|
||||
int dpaa2_io_get_cpu(struct dpaa2_io *d);
|
||||
|
||||
int dpaa2_io_service_register(struct dpaa2_io *service,
|
||||
struct dpaa2_io_notification_ctx *ctx);
|
||||
struct dpaa2_io_notification_ctx *ctx,
|
||||
struct device *dev);
|
||||
void dpaa2_io_service_deregister(struct dpaa2_io *service,
|
||||
struct dpaa2_io_notification_ctx *ctx);
|
||||
struct dpaa2_io_notification_ctx *ctx,
|
||||
struct device *dev);
|
||||
int dpaa2_io_service_rearm(struct dpaa2_io *service,
|
||||
struct dpaa2_io_notification_ctx *ctx);
|
||||
|
||||
|
Reference in New Issue
Block a user