}
 
        if (iter >= MAX_ASIC_ISR_LOOPS)
-               printk(KERN_ERR "%s: interrupt processing overrun\n",
-                      __func__);
+               dev_err(asic->dev, "interrupt processing overrun\n");
 }
 
 static inline int asic3_irq_to_bank(struct asic3 *asic, int irq)
                 * be careful to not unmask them if mask was also called.
                 * Probably need internal state for mask.
                 */
-               printk(KERN_NOTICE "asic3: irq type not changed.\n");
+               dev_notice(asic->dev, "irq type not changed\n");
        }
        asic3_write_register(asic, bank + ASIC3_GPIO_LevelTrigger,
                             level);
        gpio_base = ASIC3_GPIO_TO_BASE(offset);
 
        if (gpio_base > ASIC3_GPIO_D_Base) {
-               printk(KERN_ERR "Invalid base (0x%x) for gpio %d\n",
-                      gpio_base, offset);
+               dev_err(asic->dev, "Invalid base (0x%x) for gpio %d\n",
+                       gpio_base, offset);
                return -EINVAL;
        }
 
        gpio_base = ASIC3_GPIO_TO_BASE(offset);
 
        if (gpio_base > ASIC3_GPIO_D_Base) {
-               printk(KERN_ERR "Invalid base (0x%x) for gpio %d\n",
-                      gpio_base, offset);
+               dev_err(asic->dev, "Invalid base (0x%x) for gpio %d\n",
+                       gpio_base, offset);
                return -EINVAL;
        }
 
        gpio_base = ASIC3_GPIO_TO_BASE(offset);
 
        if (gpio_base > ASIC3_GPIO_D_Base) {
-               printk(KERN_ERR "Invalid base (0x%x) for gpio %d\n",
-                      gpio_base, offset);
+               dev_err(asic->dev, "Invalid base (0x%x) for gpio %d\n",
+                       gpio_base, offset);
                return;
        }
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!mem) {
                ret = -ENOMEM;
-               printk(KERN_ERR "asic3: no MEM resource\n");
+               dev_err(asic->dev, "no MEM resource\n");
                goto out_free;
        }
 
        asic->mapping = ioremap(mem->start, PAGE_SIZE);
        if (!asic->mapping) {
                ret = -ENOMEM;
-               printk(KERN_ERR "asic3: couldn't ioremap\n");
+               dev_err(asic->dev, "Couldn't ioremap\n");
                goto out_free;
        }
 
 
        ret = asic3_irq_probe(pdev);
        if (ret < 0) {
-               printk(KERN_ERR "asic3: couldn't probe IRQs\n");
+               dev_err(asic->dev, "Couldn't probe IRQs\n");
                goto out_unmap;
        }
 
                               pdata->gpio_config,
                               pdata->gpio_config_num);
        if (ret < 0) {
-               printk(KERN_ERR "GPIO probe failed\n");
+               dev_err(asic->dev, "GPIO probe failed\n");
                goto out_irq;
        }
 
-       printk(KERN_INFO "ASIC3 Core driver\n");
+       dev_info(asic->dev, "ASIC3 Core driver\n");
 
        return 0;