Loading drivers/video/fbdev/ssd1307fb.c +53 −14 Original line number Diff line number Diff line Loading @@ -303,7 +303,10 @@ static int ssd1307fb_ssd1306_init(struct ssd1307fb_par *par) /* Set initial contrast */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_CONTRAST); ret = ret & ssd1307fb_write_cmd(par->client, 0x7f); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x7f); if (ret < 0) return ret; Loading @@ -319,62 +322,98 @@ static int ssd1307fb_ssd1306_init(struct ssd1307fb_par *par) /* Set multiplex ratio value */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_MULTIPLEX_RATIO); ret = ret & ssd1307fb_write_cmd(par->client, par->height - 1); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, par->height - 1); if (ret < 0) return ret; /* set display offset value */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_DISPLAY_OFFSET); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x20); if (ret < 0) return ret; /* Set clock frequency */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_CLOCK_FREQ); ret = ret & ssd1307fb_write_cmd(par->client, 0xf0); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0xf0); if (ret < 0) return ret; /* Set precharge period in number of ticks from the internal clock */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_PRECHARGE_PERIOD); ret = ret & ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; /* Set COM pins configuration */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_COM_PINS_CONFIG); ret = ret & ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; /* Set VCOMH */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_VCOMH); ret = ret & ssd1307fb_write_cmd(par->client, 0x49); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x49); if (ret < 0) return ret; /* Turn on the DC-DC Charge Pump */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_CHARGE_PUMP); ret = ret & ssd1307fb_write_cmd(par->client, 0x14); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x14); if (ret < 0) return ret; /* Switch to horizontal addressing mode */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_ADDRESS_MODE); ret = ret & ssd1307fb_write_cmd(par->client, if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_ADDRESS_MODE_HORIZONTAL); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_COL_RANGE); ret = ret & ssd1307fb_write_cmd(par->client, 0x0); ret = ret & ssd1307fb_write_cmd(par->client, par->width - 1); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x0); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, par->width - 1); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_PAGE_RANGE); ret = ret & ssd1307fb_write_cmd(par->client, 0x0); ret = ret & ssd1307fb_write_cmd(par->client, if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x0); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, par->page_offset + (par->height / 8) - 1); if (ret < 0) return ret; Loading Loading
drivers/video/fbdev/ssd1307fb.c +53 −14 Original line number Diff line number Diff line Loading @@ -303,7 +303,10 @@ static int ssd1307fb_ssd1306_init(struct ssd1307fb_par *par) /* Set initial contrast */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_CONTRAST); ret = ret & ssd1307fb_write_cmd(par->client, 0x7f); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x7f); if (ret < 0) return ret; Loading @@ -319,62 +322,98 @@ static int ssd1307fb_ssd1306_init(struct ssd1307fb_par *par) /* Set multiplex ratio value */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_MULTIPLEX_RATIO); ret = ret & ssd1307fb_write_cmd(par->client, par->height - 1); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, par->height - 1); if (ret < 0) return ret; /* set display offset value */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_DISPLAY_OFFSET); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x20); if (ret < 0) return ret; /* Set clock frequency */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_CLOCK_FREQ); ret = ret & ssd1307fb_write_cmd(par->client, 0xf0); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0xf0); if (ret < 0) return ret; /* Set precharge period in number of ticks from the internal clock */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_PRECHARGE_PERIOD); ret = ret & ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; /* Set COM pins configuration */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_COM_PINS_CONFIG); ret = ret & ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x22); if (ret < 0) return ret; /* Set VCOMH */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_VCOMH); ret = ret & ssd1307fb_write_cmd(par->client, 0x49); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x49); if (ret < 0) return ret; /* Turn on the DC-DC Charge Pump */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_CHARGE_PUMP); ret = ret & ssd1307fb_write_cmd(par->client, 0x14); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x14); if (ret < 0) return ret; /* Switch to horizontal addressing mode */ ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_ADDRESS_MODE); ret = ret & ssd1307fb_write_cmd(par->client, if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_ADDRESS_MODE_HORIZONTAL); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_COL_RANGE); ret = ret & ssd1307fb_write_cmd(par->client, 0x0); ret = ret & ssd1307fb_write_cmd(par->client, par->width - 1); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x0); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, par->width - 1); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, SSD1307FB_SET_PAGE_RANGE); ret = ret & ssd1307fb_write_cmd(par->client, 0x0); ret = ret & ssd1307fb_write_cmd(par->client, if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, 0x0); if (ret < 0) return ret; ret = ssd1307fb_write_cmd(par->client, par->page_offset + (par->height / 8) - 1); if (ret < 0) return ret; Loading