@ -170,7 +170,6 @@ struct omap_hsmmc_host {
int use_dma , dma_ch ;
int dma_line_tx , dma_line_rx ;
int slot_id ;
int got_dbclk ;
int response_busy ;
int context_loss ;
int vdd ;
@ -1097,7 +1096,7 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd)
/* Disable the clocks */
pm_runtime_put_sync ( host - > dev ) ;
if ( host - > got_ dbclk)
if ( host - > dbclk )
clk_disable ( host - > dbclk ) ;
/* Turn the power off */
@ -1108,7 +1107,7 @@ static int omap_hsmmc_switch_opcond(struct omap_hsmmc_host *host, int vdd)
ret = mmc_slot ( host ) . set_power ( host - > dev , host - > slot_id , 1 ,
vdd ) ;
pm_runtime_get_sync ( host - > dev ) ;
if ( host - > got_ dbclk)
if ( host - > dbclk )
clk_enable ( host - > dbclk ) ;
if ( ret ! = 0 )
@ -1902,21 +1901,17 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
omap_hsmmc_context_save ( host ) ;
if ( cpu_is_omap2430 ( ) ) {
host - > dbclk = clk_get ( & pdev - > dev , " mmchsdb_fck " ) ;
/*
* MMC can still work without debounce clock .
*/
if ( IS_ERR ( host - > dbclk ) )
dev_warn ( mmc_dev ( host - > mmc ) ,
" Failed to get debounce clock \n " ) ;
else
host - > got_dbclk = 1 ;
if ( host - > got_dbclk )
if ( clk_enable ( host - > dbclk ) ! = 0 )
dev_dbg ( mmc_dev ( host - > mmc ) , " Enabling debounce "
" clk failed \n " ) ;
host - > dbclk = clk_get ( & pdev - > dev , " mmchsdb_fck " ) ;
/*
* MMC can still work without debounce clock .
*/
if ( IS_ERR ( host - > dbclk ) ) {
dev_warn ( mmc_dev ( host - > mmc ) , " Failed to get debounce clk \n " ) ;
host - > dbclk = NULL ;
} else if ( clk_enable ( host - > dbclk ) ! = 0 ) {
dev_warn ( mmc_dev ( host - > mmc ) , " Failed to enable debounce clk \n " ) ;
clk_put ( host - > dbclk ) ;
host - > dbclk = NULL ;
}
/* Since we do only SG emulation, we can have as many segs
@ -2036,7 +2031,7 @@ err_irq:
pm_runtime_put_sync ( host - > dev ) ;
pm_runtime_disable ( host - > dev ) ;
clk_put ( host - > fclk ) ;
if ( host - > got_ dbclk) {
if ( host - > dbclk ) {
clk_disable ( host - > dbclk ) ;
clk_put ( host - > dbclk ) ;
}
@ -2069,7 +2064,7 @@ static int __devexit omap_hsmmc_remove(struct platform_device *pdev)
pm_runtime_put_sync ( host - > dev ) ;
pm_runtime_disable ( host - > dev ) ;
clk_put ( host - > fclk ) ;
if ( host - > got_ dbclk) {
if ( host - > dbclk ) {
clk_disable ( host - > dbclk ) ;
clk_put ( host - > dbclk ) ;
}
@ -2127,7 +2122,7 @@ static int omap_hsmmc_suspend(struct device *dev)
OMAP_HSMMC_READ ( host - > base , HCTL ) & ~ SDBP ) ;
}
if ( host - > got_ dbclk)
if ( host - > dbclk )
clk_disable ( host - > dbclk ) ;
err :
pm_runtime_put_sync ( host - > dev ) ;
@ -2148,7 +2143,7 @@ static int omap_hsmmc_resume(struct device *dev)
pm_runtime_get_sync ( host - > dev ) ;
if ( host - > got_ dbclk)
if ( host - > dbclk )
clk_enable ( host - > dbclk ) ;
if ( ! ( host - > mmc - > pm_flags & MMC_PM_KEEP_POWER ) )