Skip to content

Commit

Permalink
video: udlfb: Kill off some magic constants for EDID sizing.
Browse files Browse the repository at this point in the history
The edid length is fixed, so use the standard definition consistently.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Jan 6, 2011
1 parent 1a3e528 commit b9f03a3
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 14 deletions.
15 changes: 7 additions & 8 deletions drivers/video/udlfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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;
Expand All @@ -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) {
Expand All @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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
};
Expand Down
6 changes: 0 additions & 6 deletions include/video/udlfb.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit b9f03a3

Please sign in to comment.