int psb_gamma_set(struct drm_device *dev, void *data)
{
	uint16_t * lut_arg = data;

//      struct drm_mode_object *obj;
	struct drm_crtc *crtc;
	struct drm_connector *connector;
	struct psb_intel_crtc *psb_intel_crtc;
	struct drm_psb_private *dev_priv = dev->dev_private;
	int i = 0;

//      int32_t obj_id;

//      obj_id = lut_arg->output_id;
//      obj = drm_mode_object_find(dev, obj_id, DRM_MODE_OBJECT_CONNECTOR);
//      if (!obj) {
//              printk(KERN_ERR "Invalid Connector object, id = %d\n", obj_id);
//              DRM_DEBUG("Invalid Connector object.\n");
//              return -EINVAL;
//      }
	connector = dev_priv->dpst_connector;	//= obj_to_connector(obj);
	crtc = connector->encoder->crtc;

	psb_intel_crtc = to_psb_intel_crtc(crtc);
	 for (i = 0; i < 256; i++) {
		psb_intel_crtc->lut_adj[i] = lut_arg[i];
	}
	 psb_intel_crtc_load_lut(crtc);

	return 0;
}
int psb_gamma_set(struct drm_device *dev, void *data)
{
	uint16_t *lut_arg = data;
	struct drm_crtc *crtc;
	struct drm_connector *connector;
	struct psb_intel_crtc *psb_intel_crtc;
	struct drm_psb_private *dev_priv = dev->dev_private;
	int i = 0;

	connector = dev_priv->dpst_lvds_connector;

	crtc = connector->encoder->crtc;
	psb_intel_crtc = to_psb_intel_crtc(crtc);

	for (i = 0; i < 256; i++)
		psb_intel_crtc->lut_adj[i] = lut_arg[i];

	psb_intel_crtc_load_lut(crtc);

	return 0;
}