Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drivers/video: fsl-diu-fb: remove unused panel operating mode support

The MFB_TYPE_xxx macros indicate different "operating modes" of each AOI,
but this feature is not actually used in the driver. The mfb_index.type
field is always set to MFB_TYPE_OUTPUT, so just delete it and any code
that references it.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>

authored by

Timur Tabi and committed by
Florian Tobias Schandinat
7e47c211 2572df91

+46 -71
+46 -71
drivers/video/fsl-diu-fb.c
··· 49 49 #define INT_PARERR 0x08 /* Display parameters error interrupt */ 50 50 #define INT_LS_BF_VS 0x10 /* Lines before vsync. interrupt */ 51 51 52 - /* Panels'operation modes */ 53 - #define MFB_TYPE_OUTPUT 0 /* Panel output to display */ 54 - #define MFB_TYPE_OFF 1 /* Panel off */ 55 - #define MFB_TYPE_WB 2 /* Panel written back to memory */ 56 - #define MFB_TYPE_TEST 3 /* Panel generate color bar */ 57 - 58 52 struct diu_hw { 59 53 struct diu __iomem *diu_reg; 60 54 spinlock_t reg_lock; ··· 364 370 365 371 struct mfb_info { 366 372 enum mfb_index index; 367 - int type; 368 373 char *id; 369 374 int registered; 370 375 unsigned long pseudo_palette[16]; ··· 381 388 static struct mfb_info mfb_template[] = { 382 389 { 383 390 .index = PLANE0, 384 - .type = MFB_TYPE_OUTPUT, 385 391 .id = "Panel0", 386 392 .registered = 0, 387 393 .count = 0, ··· 389 397 }, 390 398 { 391 399 .index = PLANE1_AOI0, 392 - .type = MFB_TYPE_OUTPUT, 393 400 .id = "Panel1 AOI0", 394 401 .registered = 0, 395 402 .g_alpha = 0xff, ··· 398 407 }, 399 408 { 400 409 .index = PLANE1_AOI1, 401 - .type = MFB_TYPE_OUTPUT, 402 410 .id = "Panel1 AOI1", 403 411 .registered = 0, 404 412 .g_alpha = 0xff, ··· 407 417 }, 408 418 { 409 419 .index = PLANE2_AOI0, 410 - .type = MFB_TYPE_OUTPUT, 411 420 .id = "Panel2 AOI0", 412 421 .registered = 0, 413 422 .g_alpha = 0xff, ··· 416 427 }, 417 428 { 418 429 .index = PLANE2_AOI1, 419 - .type = MFB_TYPE_OUTPUT, 420 430 .id = "Panel2 AOI1", 421 431 .registered = 0, 422 432 .g_alpha = 0xff, ··· 505 517 } while (in_be32(reg) != val); 506 518 } 507 519 508 - static int fsl_diu_enable_panel(struct fb_info *info) 520 + static void fsl_diu_enable_panel(struct fb_info *info) 509 521 { 510 522 struct mfb_info *pmfbi, *cmfbi, *mfbi = info->par; 511 523 struct diu *hw = dr.diu_reg; 512 524 struct diu_ad *ad = mfbi->ad; 513 525 struct fsl_diu_data *machine_data = mfbi->parent; 514 - int res = 0; 515 526 516 - if (mfbi->type != MFB_TYPE_OFF) { 517 - switch (mfbi->index) { 518 - case PLANE0: 519 - if (hw->desc[0] != ad->paddr) 520 - wr_reg_wa(&hw->desc[0], ad->paddr); 521 - break; 522 - case PLANE1_AOI0: 523 - cmfbi = machine_data->fsl_diu_info[2]->par; 524 - if (hw->desc[1] != ad->paddr) { /* AOI0 closed */ 525 - if (cmfbi->count > 0) /* AOI1 open */ 526 - ad->next_ad = 527 - cpu_to_le32(cmfbi->ad->paddr); 528 - else 529 - ad->next_ad = 0; 530 - wr_reg_wa(&hw->desc[1], ad->paddr); 531 - } 532 - break; 533 - case PLANE2_AOI0: 534 - cmfbi = machine_data->fsl_diu_info[4]->par; 535 - if (hw->desc[2] != ad->paddr) { /* AOI0 closed */ 536 - if (cmfbi->count > 0) /* AOI1 open */ 537 - ad->next_ad = 538 - cpu_to_le32(cmfbi->ad->paddr); 539 - else 540 - ad->next_ad = 0; 541 - wr_reg_wa(&hw->desc[2], ad->paddr); 542 - } 543 - break; 544 - case PLANE1_AOI1: 545 - pmfbi = machine_data->fsl_diu_info[1]->par; 546 - ad->next_ad = 0; 547 - if (hw->desc[1] == machine_data->dummy_ad->paddr) 548 - wr_reg_wa(&hw->desc[1], ad->paddr); 549 - else /* AOI0 open */ 550 - pmfbi->ad->next_ad = cpu_to_le32(ad->paddr); 551 - break; 552 - case PLANE2_AOI1: 553 - pmfbi = machine_data->fsl_diu_info[3]->par; 554 - ad->next_ad = 0; 555 - if (hw->desc[2] == machine_data->dummy_ad->paddr) 556 - wr_reg_wa(&hw->desc[2], ad->paddr); 557 - else /* AOI0 was open */ 558 - pmfbi->ad->next_ad = cpu_to_le32(ad->paddr); 559 - break; 527 + switch (mfbi->index) { 528 + case PLANE0: 529 + if (hw->desc[0] != ad->paddr) 530 + wr_reg_wa(&hw->desc[0], ad->paddr); 531 + break; 532 + case PLANE1_AOI0: 533 + cmfbi = machine_data->fsl_diu_info[2]->par; 534 + if (hw->desc[1] != ad->paddr) { /* AOI0 closed */ 535 + if (cmfbi->count > 0) /* AOI1 open */ 536 + ad->next_ad = 537 + cpu_to_le32(cmfbi->ad->paddr); 538 + else 539 + ad->next_ad = 0; 540 + wr_reg_wa(&hw->desc[1], ad->paddr); 560 541 } 561 - } else 562 - res = -EINVAL; 563 - return res; 542 + break; 543 + case PLANE2_AOI0: 544 + cmfbi = machine_data->fsl_diu_info[4]->par; 545 + if (hw->desc[2] != ad->paddr) { /* AOI0 closed */ 546 + if (cmfbi->count > 0) /* AOI1 open */ 547 + ad->next_ad = 548 + cpu_to_le32(cmfbi->ad->paddr); 549 + else 550 + ad->next_ad = 0; 551 + wr_reg_wa(&hw->desc[2], ad->paddr); 552 + } 553 + break; 554 + case PLANE1_AOI1: 555 + pmfbi = machine_data->fsl_diu_info[1]->par; 556 + ad->next_ad = 0; 557 + if (hw->desc[1] == machine_data->dummy_ad->paddr) 558 + wr_reg_wa(&hw->desc[1], ad->paddr); 559 + else /* AOI0 open */ 560 + pmfbi->ad->next_ad = cpu_to_le32(ad->paddr); 561 + break; 562 + case PLANE2_AOI1: 563 + pmfbi = machine_data->fsl_diu_info[3]->par; 564 + ad->next_ad = 0; 565 + if (hw->desc[2] == machine_data->dummy_ad->paddr) 566 + wr_reg_wa(&hw->desc[2], ad->paddr); 567 + else /* AOI0 was open */ 568 + pmfbi->ad->next_ad = cpu_to_le32(ad->paddr); 569 + break; 570 + } 564 571 } 565 572 566 573 static void fsl_diu_disable_panel(struct fb_info *info) ··· 831 848 u32 temp; 832 849 833 850 hw = dr.diu_reg; 834 - 835 - if (mfbi->type == MFB_TYPE_OFF) { 836 - fsl_diu_disable_panel(info); 837 - return; 838 - } 839 851 840 852 diu_ops.set_monitor_port(machine_data->monitor_port); 841 853 gamma_table_base = pool.gamma.vaddr; ··· 1183 1205 res = fsl_diu_set_par(info); 1184 1206 if (res < 0) 1185 1207 mfbi->count--; 1186 - else { 1187 - res = fsl_diu_enable_panel(info); 1188 - if (res < 0) 1189 - mfbi->count--; 1190 - } 1208 + else 1209 + fsl_diu_enable_panel(info); 1191 1210 } 1192 1211 1193 1212 spin_unlock(&diu_lock);