@ -544,33 +544,31 @@ static void omap_w1_write_byte(void *_hdq, u8 byte)
static int __devinit omap_hdq_probe ( struct platform_device * pdev )
{
struct device * dev = & pdev - > dev ;
struct hdq_data * hdq_data ;
struct resource * res ;
int ret , irq ;
u8 rev ;
hdq_data = kmalloc ( sizeof ( * hdq_data ) , GFP_KERNEL ) ;
hdq_data = devm_kzalloc ( dev , sizeof ( * hdq_data ) , GFP_KERNEL ) ;
if ( ! hdq_data ) {
dev_dbg ( & pdev - > dev , " unable to allocate memory \n " ) ;
ret = - ENOMEM ;
goto err_kmalloc ;
return - ENOMEM ;
}
hdq_data - > dev = & pdev - > dev ;
hdq_data - > dev = dev ;
platform_set_drvdata ( pdev , hdq_data ) ;
res = platform_get_resource ( pdev , IORESOURCE_MEM , 0 ) ;
if ( ! res ) {
dev_dbg ( & pdev - > dev , " unable to get resource \n " ) ;
ret = - ENXIO ;
goto err_resource ;
return - ENXIO ;
}
hdq_data - > hdq_base = ioremap ( res - > start , resource_size ( res ) ) ;
hdq_data - > hdq_base = devm_request_and_ioremap ( dev , res ) ;
if ( ! hdq_data - > hdq_base ) {
dev_dbg ( & pdev - > dev , " ioremap failed \n " ) ;
ret = - EINVAL ;
goto err_ioremap ;
return - ENOMEM ;
}
hdq_data - > hdq_usecount = 0 ;
@ -591,7 +589,8 @@ static int __devinit omap_hdq_probe(struct platform_device *pdev)
goto err_irq ;
}
ret = request_irq ( irq , hdq_isr , IRQF_DISABLED , " omap_hdq " , hdq_data ) ;
ret = devm_request_irq ( dev , irq , hdq_isr , IRQF_DISABLED ,
" omap_hdq " , hdq_data ) ;
if ( ret < 0 ) {
dev_dbg ( & pdev - > dev , " could not request irq \n " ) ;
goto err_irq ;
@ -616,16 +615,7 @@ err_irq:
err_w1 :
pm_runtime_disable ( & pdev - > dev ) ;
iounmap ( hdq_data - > hdq_base ) ;
err_ioremap :
err_resource :
platform_set_drvdata ( pdev , NULL ) ;
kfree ( hdq_data ) ;
err_kmalloc :
return ret ;
}
static int __devexit omap_hdq_remove ( struct platform_device * pdev )
@ -644,10 +634,6 @@ static int __devexit omap_hdq_remove(struct platform_device *pdev)
/* remove module dependency */
pm_runtime_disable ( & pdev - > dev ) ;
free_irq ( INT_24XX_HDQ_IRQ , hdq_data ) ;
platform_set_drvdata ( pdev , NULL ) ;
iounmap ( hdq_data - > hdq_base ) ;
kfree ( hdq_data ) ;
return 0 ;
}