| .. | .. |
|---|
| 154 | 154 | return; |
|---|
| 155 | 155 | } |
|---|
| 156 | 156 | |
|---|
| 157 | + if (bgrt_tab.status & 0x06) { |
|---|
| 158 | + pr_info("efifb: BGRT rotation bits set, not showing boot graphics\n"); |
|---|
| 159 | + return; |
|---|
| 160 | + } |
|---|
| 161 | + |
|---|
| 157 | 162 | /* Avoid flashing the logo if we're going to print std probe messages */ |
|---|
| 158 | 163 | if (console_loglevel > CONSOLE_LOGLEVEL_QUIET) |
|---|
| 159 | 164 | return; |
|---|
| .. | .. |
|---|
| 250 | 255 | fb_dealloc_cmap(&info->cmap); |
|---|
| 251 | 256 | } |
|---|
| 252 | 257 | |
|---|
| 253 | | -static struct fb_ops efifb_ops = { |
|---|
| 258 | +static const struct fb_ops efifb_ops = { |
|---|
| 254 | 259 | .owner = THIS_MODULE, |
|---|
| 255 | 260 | .fb_destroy = efifb_destroy, |
|---|
| 256 | 261 | .fb_setcolreg = efifb_setcolreg, |
|---|
| .. | .. |
|---|
| 433 | 438 | |
|---|
| 434 | 439 | info = framebuffer_alloc(sizeof(u32) * 16, &dev->dev); |
|---|
| 435 | 440 | if (!info) { |
|---|
| 436 | | - pr_err("efifb: cannot allocate framebuffer\n"); |
|---|
| 437 | 441 | err = -ENOMEM; |
|---|
| 438 | 442 | goto err_release_mem; |
|---|
| 439 | 443 | } |
|---|
| .. | .. |
|---|
| 649 | 653 | if (!base) |
|---|
| 650 | 654 | return; |
|---|
| 651 | 655 | |
|---|
| 652 | | - for (i = 0; i <= PCI_STD_RESOURCE_END; i++) { |
|---|
| 656 | + for (i = 0; i < PCI_STD_NUM_BARS; i++) { |
|---|
| 653 | 657 | struct resource *res = &dev->resource[i]; |
|---|
| 654 | 658 | |
|---|
| 655 | 659 | if (!(res->flags & IORESOURCE_MEM)) |
|---|