static void coresight_disable_sink(struct coresight_device *csdev) { if (atomic_dec_return(csdev->refcnt) == 0) { if (sink_ops(csdev)->disable) { sink_ops(csdev)->disable(csdev); csdev->enable = false; } } }
static int coresight_enable_sink(struct coresight_device *csdev, u32 mode) { int ret; if (!csdev->enable) { if (sink_ops(csdev)->enable) { ret = sink_ops(csdev)->enable(csdev, mode); if (ret) return ret; } csdev->enable = true; } atomic_inc(csdev->refcnt); return 0; }
static int coresight_enable_sink(struct coresight_device *csdev, u32 mode, void *data) { int ret; /* * We need to make sure the "new" session is compatible with the * existing "mode" of operation. */ if (sink_ops(csdev)->enable) { ret = sink_ops(csdev)->enable(csdev, mode, data); if (ret) return ret; csdev->enable = true; } atomic_inc(csdev->refcnt); return 0; }