Loading drivers/video/udlfb.c +7 −8 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <linux/slab.h> #include <linux/delay.h> #include <video/udlfb.h> #include "edid.h" static struct fb_fix_screeninfo dlfb_fix = { .id = "udlfb", Loading Loading @@ -1169,7 +1170,7 @@ static int dlfb_setup_modes(struct dlfb_data *dev, if (info->dev) /* only use mutex if info has been registered */ mutex_lock(&info->lock); edid = kmalloc(MAX_EDID_SIZE, GFP_KERNEL); edid = kmalloc(EDID_LENGTH, GFP_KERNEL); if (!edid) { result = -ENOMEM; goto error; Loading @@ -1185,9 +1186,9 @@ static int dlfb_setup_modes(struct dlfb_data *dev, */ while (tries--) { i = dlfb_get_edid(dev, edid, MAX_EDID_SIZE); i = dlfb_get_edid(dev, edid, EDID_LENGTH); if (i >= MIN_EDID_SIZE) if (i >= EDID_LENGTH) fb_edid_to_monspecs(edid, &info->monspecs); if (info->monspecs.modedb_len > 0) { Loading @@ -1211,7 +1212,7 @@ static int dlfb_setup_modes(struct dlfb_data *dev, /* If that fails, use the default EDID we were handed */ if (info->monspecs.modedb_len == 0) { if (default_edid_size >= MIN_EDID_SIZE) { if (default_edid_size >= EDID_LENGTH) { fb_edid_to_monspecs(default_edid, &info->monspecs); if (info->monspecs.modedb_len > 0) { memcpy(edid, default_edid, default_edid_size); Loading Loading @@ -1360,9 +1361,7 @@ static ssize_t edid_store( struct dlfb_data *dev = fb_info->par; /* We only support write of entire EDID at once, no offset*/ if ((src_size < MIN_EDID_SIZE) || (src_size > MAX_EDID_SIZE) || (src_off != 0)) if ((src_size != EDID_LENGTH) || (src_off != 0)) return 0; dlfb_setup_modes(dev, fb_info, src, src_size); Loading Loading @@ -1393,7 +1392,7 @@ static ssize_t metrics_reset_store(struct device *fbdev, static struct bin_attribute edid_attr = { .attr.name = "edid", .attr.mode = 0666, .size = MAX_EDID_SIZE, .size = EDID_LENGTH, .read = edid_show, .write = edid_store }; Loading include/video/udlfb.h +0 −6 Original line number Diff line number Diff line Loading @@ -65,9 +65,6 @@ struct dlfb_data { #define MAX_TRANSFER (PAGE_SIZE*16 - BULK_SIZE) #define WRITES_IN_FLIGHT (4) #define MIN_EDID_SIZE 128 #define MAX_EDID_SIZE 128 #define MAX_VENDOR_DESCRIPTOR_SIZE 256 #define GET_URB_TIMEOUT HZ Loading Loading @@ -95,9 +92,6 @@ struct dlfb_data { #define DL_ALIGN_UP(x, a) ALIGN(x, a) #define DL_ALIGN_DOWN(x, a) ALIGN(x-(a-1), a) /* remove once this gets added to sysfs.h */ #define __ATTR_RW(attr) __ATTR(attr, 0644, attr##_show, attr##_store) /* * udlfb is both a usb device, and a framebuffer device. * They may exist at the same time, but during various stages Loading Loading
drivers/video/udlfb.c +7 −8 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <linux/slab.h> #include <linux/delay.h> #include <video/udlfb.h> #include "edid.h" static struct fb_fix_screeninfo dlfb_fix = { .id = "udlfb", Loading Loading @@ -1169,7 +1170,7 @@ static int dlfb_setup_modes(struct dlfb_data *dev, if (info->dev) /* only use mutex if info has been registered */ mutex_lock(&info->lock); edid = kmalloc(MAX_EDID_SIZE, GFP_KERNEL); edid = kmalloc(EDID_LENGTH, GFP_KERNEL); if (!edid) { result = -ENOMEM; goto error; Loading @@ -1185,9 +1186,9 @@ static int dlfb_setup_modes(struct dlfb_data *dev, */ while (tries--) { i = dlfb_get_edid(dev, edid, MAX_EDID_SIZE); i = dlfb_get_edid(dev, edid, EDID_LENGTH); if (i >= MIN_EDID_SIZE) if (i >= EDID_LENGTH) fb_edid_to_monspecs(edid, &info->monspecs); if (info->monspecs.modedb_len > 0) { Loading @@ -1211,7 +1212,7 @@ static int dlfb_setup_modes(struct dlfb_data *dev, /* If that fails, use the default EDID we were handed */ if (info->monspecs.modedb_len == 0) { if (default_edid_size >= MIN_EDID_SIZE) { if (default_edid_size >= EDID_LENGTH) { fb_edid_to_monspecs(default_edid, &info->monspecs); if (info->monspecs.modedb_len > 0) { memcpy(edid, default_edid, default_edid_size); Loading Loading @@ -1360,9 +1361,7 @@ static ssize_t edid_store( struct dlfb_data *dev = fb_info->par; /* We only support write of entire EDID at once, no offset*/ if ((src_size < MIN_EDID_SIZE) || (src_size > MAX_EDID_SIZE) || (src_off != 0)) if ((src_size != EDID_LENGTH) || (src_off != 0)) return 0; dlfb_setup_modes(dev, fb_info, src, src_size); Loading Loading @@ -1393,7 +1392,7 @@ static ssize_t metrics_reset_store(struct device *fbdev, static struct bin_attribute edid_attr = { .attr.name = "edid", .attr.mode = 0666, .size = MAX_EDID_SIZE, .size = EDID_LENGTH, .read = edid_show, .write = edid_store }; Loading
include/video/udlfb.h +0 −6 Original line number Diff line number Diff line Loading @@ -65,9 +65,6 @@ struct dlfb_data { #define MAX_TRANSFER (PAGE_SIZE*16 - BULK_SIZE) #define WRITES_IN_FLIGHT (4) #define MIN_EDID_SIZE 128 #define MAX_EDID_SIZE 128 #define MAX_VENDOR_DESCRIPTOR_SIZE 256 #define GET_URB_TIMEOUT HZ Loading Loading @@ -95,9 +92,6 @@ struct dlfb_data { #define DL_ALIGN_UP(x, a) ALIGN(x, a) #define DL_ALIGN_DOWN(x, a) ALIGN(x-(a-1), a) /* remove once this gets added to sysfs.h */ #define __ATTR_RW(attr) __ATTR(attr, 0644, attr##_show, attr##_store) /* * udlfb is both a usb device, and a framebuffer device. * They may exist at the same time, but during various stages Loading