diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-11-06 16:10:42 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-11-06 16:10:42 +0100 |
commit | 1d9295b344a885e5a79de38df28740a1db6f6103 (patch) | |
tree | ca427bbf13a04f3480fb398630473bede4ef6463 /drivers | |
parent | 736a74ba7a1c3983105b92a709c263e206fe3913 (diff) | |
parent | 6face0e8ab8d97dcc7284a8a5d7ae1f4d134798f (diff) | |
download | barebox-1d9295b344a885e5a79de38df28740a1db6f6103.tar.gz barebox-1d9295b344a885e5a79de38df28740a1db6f6103.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/disk_ata_drive.c | 17 | ||||
-rw-r--r-- | drivers/mci/mci-core.c | 9 | ||||
-rw-r--r-- | drivers/video/fb.c | 15 | ||||
-rw-r--r-- | drivers/video/fbconsole.c | 3 |
4 files changed, 17 insertions, 27 deletions
diff --git a/drivers/ata/disk_ata_drive.c b/drivers/ata/disk_ata_drive.c index ee1709e2ff..d30d0ad997 100644 --- a/drivers/ata/disk_ata_drive.c +++ b/drivers/ata/disk_ata_drive.c @@ -26,16 +26,6 @@ #include <disks.h> #include <dma.h> -static int ata_id_is_valid(const uint16_t *id) -{ - if ((id[ATA_ID_FIELD_VALID] & 1) == 0) { - pr_debug("Drive's ID seems invalid\n"); - return -EINVAL; - } - - return 0; -} - static uint64_t ata_id_n_sectors(uint16_t *id) { if (ata_id_has_lba(id)) { @@ -244,13 +234,6 @@ static int ata_port_init(struct ata_port *port) ata_fix_endianess(port->id, SECTOR_SIZE / sizeof(uint16_t)); - rc = ata_id_is_valid(port->id); - if (rc) { - dev_err(dev, "ata id invalid\n"); - free(port->id); - return rc; - } - #ifdef DEBUG ata_dump_id(port->id); #endif diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c index 90001153d7..29c0d5474e 100644 --- a/drivers/mci/mci-core.c +++ b/drivers/mci/mci-core.c @@ -947,14 +947,13 @@ out: static char *mci_version_string(struct mci *mci) { static char version[sizeof("x.xx")]; - unsigned major, minor, micro; + unsigned major, minor; major = (mci->version >> 8) & 0xf; - minor = (mci->version >> 4) & 0xf; - micro = mci->version & 0xf; + minor = mci->version & 0xff; - sprintf(version, "%u.%u", major, - micro ? (minor << 4) | micro : minor); + /* Shift off last digit of minor if it's 0 */ + sprintf(version, "%u.%x", major, minor & 0xf ? minor : minor >> 4); return version; } diff --git a/drivers/video/fb.c b/drivers/video/fb.c index 3672c44202..d159d607f5 100644 --- a/drivers/video/fb.c +++ b/drivers/video/fb.c @@ -31,6 +31,12 @@ static int fb_ioctl(struct cdev* cdev, int req, void *data) return 0; } +static void fb_release_shadowfb(struct fb_info *info) +{ + free(info->screen_base_shadow); + info->screen_base_shadow = NULL; +} + static int fb_alloc_shadowfb(struct fb_info *info) { if (info->screen_base_shadow && info->shadowfb) @@ -47,8 +53,7 @@ static int fb_alloc_shadowfb(struct fb_info *info) memcpy(info->screen_base_shadow, info->screen_base, info->line_length * info->yres); } else { - free(info->screen_base_shadow); - info->screen_base_shadow = NULL; + fb_release_shadowfb(info); } return 0; @@ -79,6 +84,8 @@ int fb_disable(struct fb_info *info) info->fbops->fb_disable(info); + fb_release_shadowfb(info); + info->enabled = false; return 0; @@ -92,9 +99,9 @@ static int fb_enable_set(struct param_d *param, void *priv) enable = info->p_enable; if (enable) - info->fbops->fb_enable(info); + fb_enable(info); else - info->fbops->fb_disable(info); + fb_disable(info); return 0; } diff --git a/drivers/video/fbconsole.c b/drivers/video/fbconsole.c index b10503eb84..c38d13c304 100644 --- a/drivers/video/fbconsole.c +++ b/drivers/video/fbconsole.c @@ -192,8 +192,9 @@ static void printchar(struct fbc_priv *priv, int c) buf = gui_screen_render_buffer(priv->sc); - memcpy(buf, buf + line_height, line_height * (priv->rows + 1)); + memcpy(buf, buf + line_height, line_height * priv->rows); memset(buf + line_height * priv->rows, 0, line_height); + gu_screen_blit(priv->sc); priv->y = priv->rows; } |