#include "psb_drv.h"
 #include "psb_intel_sdvo_regs.h"
 #include "psb_intel_reg.h"
+#include <linux/kernel.h>
 
 #define SDVO_TMDS_MASK (SDVO_OUTPUT_TMDS0 | SDVO_OUTPUT_TMDS1)
 #define SDVO_RGB_MASK  (SDVO_OUTPUT_RGB0 | SDVO_OUTPUT_RGB1)
        "SECAM_60"
 };
 
-#define TV_FORMAT_NUM  (sizeof(tv_format_names) / sizeof(*tv_format_names))
-
 struct psb_intel_sdvo {
        struct gma_encoder base;
 
        int force_audio;
 
        /* This contains all current supported TV format */
-       u8 tv_format_supported[TV_FORMAT_NUM];
+       u8 tv_format_supported[ARRAY_SIZE(tv_format_names)];
        int   format_supported_num;
        struct drm_property *tv_format;
 
        }
 
        if (property == psb_intel_sdvo_connector->tv_format) {
-               if (val >= TV_FORMAT_NUM)
+               if (val >= ARRAY_SIZE(tv_format_names))
                        return -EINVAL;
 
                if (psb_intel_sdvo->tv_format_index ==
                return false;
 
        psb_intel_sdvo_connector->format_supported_num = 0;
-       for (i = 0 ; i < TV_FORMAT_NUM; i++)
+       for (i = 0 ; i < ARRAY_SIZE(tv_format_names); i++)
                if (format_map & (1 << i))
                        psb_intel_sdvo_connector->tv_format_supported[psb_intel_sdvo_connector->format_supported_num++] = i;