With patch
| 
dd8088d5a896 PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter
the usual pm_runtime_get_sync() and pm_runtime_put_noidle() in-case-of-error
dance is no longer needed. Convert the m_can driver to use this function.
Link: https://lore.kernel.org/r/20201212175518.139651-6-mkl@pengutronix.de
Reviewed-by: Sean Nyekjaer <sean@geanix.com>
Reviewed-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
 
 
 static int m_can_clk_start(struct m_can_classdev *cdev)
 {
-       int err;
-
        if (cdev->pm_clock_support == 0)
                return 0;
 
-       err = pm_runtime_get_sync(cdev->dev);
-       if (err < 0) {
-               pm_runtime_put_noidle(cdev->dev);
-               return err;
-       }
-
-       return 0;
+       return pm_runtime_resume_and_get(cdev->dev);
 }
 
 static void m_can_clk_stop(struct m_can_classdev *cdev)