diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 15:20:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 15:20:57 -0700 |
commit | 1f7f314bf2a77f1d499b41001ebdafb261f00f30 (patch) | |
tree | aa7eddcf09fe38abb274dffb457e3c0949cfbb3d /drivers/video/omap2/omapfb/omapfb-sysfs.c | |
parent | 2a8ba8f032160552a3beffab8aae9019ff477504 (diff) | |
parent | fce064cbda85dda330150e8d4d9f6db1a3300023 (diff) |
Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux
* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (23 commits)
OMAP: DSS2: Fix omap_dss_probe() error path
OMAP: DSS2: omap_dss_probe() conditional compilation cleanup
board-omap3-beagle: add DSS2 support
OMAP2: DSS: Add missing line for update bg color
OMAP3630: DSS2: Updating MAX divider value
OMAP: RX51: Update board defconfig
OMAP: DSS2: Add ACX565AKM Panel Driver
OMAP: RX51: Add Touch Controller in SPI board info
OMAP: RX51: Add LCD Panel support
OMAP: DSS2: TPO-TD03MTEA1: fix Kconfig dependency
OMAP: LCD LS037V7DW01: Add Backlight driver support
OMAP: DSS2: Taal: Fix DSI bus locking problem
OMAP: DSS2: Taal: add mutex to protect panel data
OMAP: DSS2: Make partial update width even
OMAP: DSS2: Fix device disable when driver is not loaded
OMAP: DSS2: VENC: don't call platform_enable/disable() twice
OMAP: DSS2: check lock_fb_info() return value
OMAP: DSS2: fix lock_fb_info() and omapfb_lock() locking order
OMAP: DSS2: Use vdds_sdi regulator supply in SDI
OMAP: DSS2: Remove redundant enable/disable calls from SDI
...
Diffstat (limited to 'drivers/video/omap2/omapfb/omapfb-sysfs.c')
-rw-r--r-- | drivers/video/omap2/omapfb/omapfb-sysfs.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c index 62bb88f5c19..5179219128b 100644 --- a/drivers/video/omap2/omapfb/omapfb-sysfs.c +++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c @@ -57,7 +57,8 @@ static ssize_t store_rotate_type(struct device *dev, if (rot_type != OMAP_DSS_ROT_DMA && rot_type != OMAP_DSS_ROT_VRFB) return -EINVAL; - lock_fb_info(fbi); + if (!lock_fb_info(fbi)) + return -ENODEV; r = 0; if (rot_type == ofbi->rotation_type) @@ -105,7 +106,8 @@ static ssize_t store_mirror(struct device *dev, if (mirror != 0 && mirror != 1) return -EINVAL; - lock_fb_info(fbi); + if (!lock_fb_info(fbi)) + return -ENODEV; ofbi->mirror = mirror; @@ -137,8 +139,9 @@ static ssize_t show_overlays(struct device *dev, ssize_t l = 0; int t; + if (!lock_fb_info(fbi)) + return -ENODEV; omapfb_lock(fbdev); - lock_fb_info(fbi); for (t = 0; t < ofbi->num_overlays; t++) { struct omap_overlay *ovl = ofbi->overlays[t]; @@ -154,8 +157,8 @@ static ssize_t show_overlays(struct device *dev, l += snprintf(buf + l, PAGE_SIZE - l, "\n"); - unlock_fb_info(fbi); omapfb_unlock(fbdev); + unlock_fb_info(fbi); return l; } @@ -195,8 +198,9 @@ static ssize_t store_overlays(struct device *dev, struct device_attribute *attr, if (buf[len - 1] == '\n') len = len - 1; + if (!lock_fb_info(fbi)) + return -ENODEV; omapfb_lock(fbdev); - lock_fb_info(fbi); if (len > 0) { char *p = (char *)buf; @@ -303,8 +307,8 @@ static ssize_t store_overlays(struct device *dev, struct device_attribute *attr, r = count; out: - unlock_fb_info(fbi); omapfb_unlock(fbdev); + unlock_fb_info(fbi); return r; } @@ -317,7 +321,8 @@ static ssize_t show_overlays_rotate(struct device *dev, ssize_t l = 0; int t; - lock_fb_info(fbi); + if (!lock_fb_info(fbi)) + return -ENODEV; for (t = 0; t < ofbi->num_overlays; t++) { l += snprintf(buf + l, PAGE_SIZE - l, "%s%d", @@ -345,7 +350,8 @@ static ssize_t store_overlays_rotate(struct device *dev, if (buf[len - 1] == '\n') len = len - 1; - lock_fb_info(fbi); + if (!lock_fb_info(fbi)) + return -ENODEV; if (len > 0) { char *p = (char *)buf; @@ -416,7 +422,8 @@ static ssize_t store_size(struct device *dev, struct device_attribute *attr, size = PAGE_ALIGN(simple_strtoul(buf, NULL, 0)); - lock_fb_info(fbi); + if (!lock_fb_info(fbi)) + return -ENODEV; for (i = 0; i < ofbi->num_overlays; i++) { if (ofbi->overlays[i]->info.enabled) { |