lcd->enabled = true;
        }
-       mdelay(pd->power_on_delay);
+       msleep(pd->power_on_delay);
 out:
        mutex_unlock(&lcd->lock);
 }
                        ret = ld9040_spi_write(lcd, wbuf[i], wbuf[i+1]);
                        if (ret)
                                break;
-               } else
-                       udelay(wbuf[i+1]*1000);
+               } else {
+                       msleep(wbuf[i+1]);
+               }
                i += 2;
        }
 
        for (i = 0; i < ARRAY_SIZE(init_seq); i++) {
                ret = ld9040_panel_send_sequence(lcd, init_seq[i]);
                /* workaround: minimum delay time for transferring CMD */
-               udelay(300);
+               usleep_range(300, 310);
                if (ret)
                        break;
        }
                return -EFAULT;
        } else {
                pd->reset(lcd->ld);
-               mdelay(pd->reset_delay);
+               msleep(pd->reset_delay);
        }
 
        ret = ld9040_ldi_init(lcd);
                return -EIO;
        }
 
-       mdelay(pd->power_off_delay);
+       msleep(pd->power_off_delay);
 
        /* lcd power off */
        ld9040_regulator_disable(lcd);