goto err1;
        }
 
-       size = min(w * h * 3,
+       size = min((u32)w * h * 3,
                        dssdev->panel.timings.hactive *
                        dssdev->panel.timings.vactive * 3);
 
 
                int wbdelay;
 
                wbdelay = min(mgr_timings->vfront_porch +
-                             mgr_timings->vsync_len + mgr_timings->vback_porch, 255);
+                             mgr_timings->vsync_len + mgr_timings->vback_porch,
+                             (u32)255);
 
                /* WBDELAYCOUNT */
                REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), wbdelay, 7, 0);
                ht = timings->pixelclock / xtot;
                vt = timings->pixelclock / xtot / ytot;
 
-               DSSDBG("pck %u\n", timings->pixelclock);
+               DSSDBG("pck %lu\n", timings->pixelclock);
                DSSDBG("hsync_len %d hfp %d hbp %d vsw %d vfp %d vbp %d\n",
                        t.hsync_len, t.hfront_porch, t.hback_porch,
                        t.vsync_len, t.vfront_porch, t.vback_porch);
 
        pck = fck / lck_div / pck_div;
 
        if (pck != t->pixelclock) {
-               DSSWARN("Could not find exact pixel clock. Requested %d Hz, got %lu Hz\n",
+               DSSWARN("Could not find exact pixel clock. Requested %lu Hz, got %lu Hz\n",
                        t->pixelclock, pck);
 
                t->pixelclock = pck;
 
 
 struct omap_video_timings {
        /* Unit: pixels */
-       u16 hactive;
+       u32 hactive;
        /* Unit: pixels */
-       u16 vactive;
+       u32 vactive;
        /* Unit: Hz */
-       u32 pixelclock;
+       unsigned long pixelclock;
        /* Unit: pixel clocks */
-       u16 hsync_len;          /* Horizontal synchronization pulse width */
+       u32 hsync_len;          /* Horizontal synchronization pulse width */
        /* Unit: pixel clocks */
-       u16 hfront_porch;       /* Horizontal front porch */
+       u32 hfront_porch;       /* Horizontal front porch */
        /* Unit: pixel clocks */
-       u16 hback_porch;        /* Horizontal back porch */
+       u32 hback_porch;        /* Horizontal back porch */
        /* Unit: line clocks */
-       u16 vsync_len;          /* Vertical synchronization pulse width */
+       u32 vsync_len;          /* Vertical synchronization pulse width */
        /* Unit: line clocks */
-       u16 vfront_porch;       /* Vertical front porch */
+       u32 vfront_porch;       /* Vertical front porch */
        /* Unit: line clocks */
-       u16 vback_porch;        /* Vertical back porch */
+       u32 vback_porch;        /* Vertical back porch */
 
        enum display_flags flags;
 };
 
        pck = fck / dispc_cinfo.lck_div / dispc_cinfo.pck_div;
 
        if (pck != t->pixelclock) {
-               DSSWARN("Could not find exact pixel clock. Requested %d Hz, got %lu Hz\n",
+               DSSWARN("Could not find exact pixel clock. Requested %lu Hz, got %lu Hz\n",
                        t->pixelclock, pck);
 
                t->pixelclock = pck;