msm: clock: Fix invalid pointer dereferences on error condition

Check whether a clock pointer is an error value before deferencing it.

Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: clock: Check arguments to clk_set_parent

Verify that the struct clk pointer is valid before accessing
its members.

Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
workqueue: Fix permission for power_efficient

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: limiter: Add enable switch and use workqueues

* In case user wish to use external app to set
  min-max frequencies, we should not override.
* Use high priority workqueues for limit work.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>