@ -23,8 +23,8 @@
# include <linux/spinlock.h>
# include <linux/kernel.h>
# include <linux/io.h>
# include <linux/clk.h>
# include <linux/err.h>
# include <linux/pm_runtime.h>
# include <linux/v4l2-dv-timings.h>
# include <mach/hardware.h>
@ -46,8 +46,6 @@ spinlock_t vpif_lock;
void __iomem * vpif_base ;
EXPORT_SYMBOL_GPL ( vpif_base ) ;
struct clk * vpif_clk ;
/**
* vpif_ch_params : video standard configuration parameters for vpif
* The table must include all presets from supported subdevices .
@ -443,19 +441,13 @@ static int vpif_probe(struct platform_device *pdev)
goto fail ;
}
vpif_clk = clk_get ( & pdev - > dev , " vpif " ) ;
if ( IS_ERR ( vpif_clk ) ) {
status = PTR_ERR ( vpif_clk ) ;
goto clk_fail ;
}
clk_prepare_enable ( vpif_clk ) ;
pm_runtime_enable ( & pdev - > dev ) ;
pm_runtime_get ( & pdev - > dev ) ;
spin_lock_init ( & vpif_lock ) ;
dev_info ( & pdev - > dev , " vpif probe success \n " ) ;
return 0 ;
clk_fail :
iounmap ( vpif_base ) ;
fail :
release_mem_region ( res - > start , res_len ) ;
return status ;
@ -463,11 +455,7 @@ fail:
static int vpif_remove ( struct platform_device * pdev )
{
if ( vpif_clk ) {
clk_disable_unprepare ( vpif_clk ) ;
clk_put ( vpif_clk ) ;
}
pm_runtime_disable ( & pdev - > dev ) ;
iounmap ( vpif_base ) ;
release_mem_region ( res - > start , res_len ) ;
return 0 ;
@ -476,13 +464,13 @@ static int vpif_remove(struct platform_device *pdev)
# ifdef CONFIG_PM
static int vpif_suspend ( struct device * dev )
{
clk_disable_unprepare ( vpif_clk ) ;
pm_runtime_put ( dev ) ;
return 0 ;
}
static int vpif_resume ( struct device * dev )
{
clk_prepare_enable ( vpif_clk ) ;
pm_runtime_get ( dev ) ;
return 0 ;
}