tree dbfb2725e2d4b7aa09213cd23541bbb725419f3f
parent 2712616fed84ddf60c788269d39bb26eb6779945
author Daniel Lezcano <daniel.lezcano@linaro.org> 1465250642 +0200
committer Daniel Lezcano <daniel.lezcano@linaro.org> 1467101974 +0200

clocksource/drivers/nios2: Convert init function to return error

The init functions do not return any error. They behave as the following:

  - panic, thus leading to a kernel crash while another timer may work and
       make the system boot up correctly

  or

  - print an error and let the caller unaware if the state of the system

Change that by converting the init functions to return an error conforming
to the CLOCKSOURCE_OF_RET prototype.

Proper error handling (rollback, errno value) will be changed later case
by case, thus this change just return back an error or success in the init
function.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
