// SPDX-License-Identifier: GPL-2.0 /* * Copyright (c) 2011-2017, The Linux Foundation */ #include <linux/errno.h> #include "slimbus.h" /** * slim_ctrl_clk_pause() - Called by slimbus controller to enter/exit * 'clock pause' * @ctrl: controller requesting bus to be paused or woken up * @wakeup: Wakeup this controller from clock pause. * @restart: Restart time value per spec used for clock pause. This value * isn't used when controller is to be woken up. * * Slimbus specification needs this sequence to turn-off clocks for the bus. * The sequence involves sending 3 broadcast messages (reconfiguration * sequence) to inform all devices on the bus. * To exit clock-pause, controller typically wakes up active framer device. * This API executes clock pause reconfiguration sequence if wakeup is false. * If wakeup is true, controller's wakeup is called. * For entering clock-pause, -EBUSY is returned if a message txn in pending. */ int slim_ctrl_clk_pause(struct slim_controller *ctrl, bool wakeup, u8 restart) { … } EXPORT_SYMBOL_GPL(…);