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

mfd: Use mfd cell platform_data for timberdale cells platform bits

With the addition of a device platform mfd_cell pointer, MFD drivers
can go back to passing platform data back to their sub drivers.
This allows for an mfd_cell->mfd_data removal and thus keep the
sub drivers MFD agnostic. This is mostly needed for non MFD aware
sub drivers.

Acked-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

+64 -44
+1 -2
drivers/dma/timb_dma.c
··· 27 27 #include <linux/io.h> 28 28 #include <linux/module.h> 29 29 #include <linux/platform_device.h> 30 - #include <linux/mfd/core.h> 31 30 #include <linux/slab.h> 32 31 33 32 #include <linux/timb_dma.h> ··· 684 685 685 686 static int __devinit td_probe(struct platform_device *pdev) 686 687 { 687 - struct timb_dma_platform_data *pdata = mfd_get_data(pdev); 688 + struct timb_dma_platform_data *pdata = pdev->dev.platform_data; 688 689 struct timb_dma *td; 689 690 struct resource *iomem; 690 691 int irq;
+3 -3
drivers/gpio/timbgpio.c
··· 23 23 #include <linux/module.h> 24 24 #include <linux/gpio.h> 25 25 #include <linux/platform_device.h> 26 - #include <linux/mfd/core.h> 27 26 #include <linux/irq.h> 28 27 #include <linux/io.h> 29 28 #include <linux/timb_gpio.h> ··· 228 229 struct gpio_chip *gc; 229 230 struct timbgpio *tgpio; 230 231 struct resource *iomem; 231 - struct timbgpio_platform_data *pdata = mfd_get_data(pdev); 232 + struct timbgpio_platform_data *pdata = pdev->dev.platform_data; 232 233 int irq = platform_get_irq(pdev, 0); 233 234 234 235 if (!pdata || pdata->nr_pins > 32) { ··· 319 320 static int __devexit timbgpio_remove(struct platform_device *pdev) 320 321 { 321 322 int err; 323 + struct timbgpio_platform_data *pdata = pdev->dev.platform_data; 322 324 struct timbgpio *tgpio = platform_get_drvdata(pdev); 323 325 struct resource *iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 324 326 int irq = platform_get_irq(pdev, 0); 325 327 326 328 if (irq >= 0 && tgpio->irq_base > 0) { 327 329 int i; 328 - for (i = 0; i < tgpio->gpio.ngpio; i++) { 330 + for (i = 0; i < pdata->nr_pins; i++) { 329 331 irq_set_chip(tgpio->irq_base + i, NULL); 330 332 irq_set_chip_data(tgpio->irq_base + i, NULL); 331 333 }
+1 -2
drivers/i2c/busses/i2c-ocores.c
··· 49 49 #include <linux/init.h> 50 50 #include <linux/errno.h> 51 51 #include <linux/platform_device.h> 52 - #include <linux/mfd/core.h> 53 52 #include <linux/i2c.h> 54 53 #include <linux/interrupt.h> 55 54 #include <linux/wait.h> ··· 305 306 return -EIO; 306 307 } 307 308 308 - pdata = mfd_get_data(pdev); 309 + pdata = pdev->dev.platform_data; 309 310 if (pdata) { 310 311 i2c->regstep = pdata->regstep; 311 312 i2c->clock_khz = pdata->clock_khz;
+1 -2
drivers/i2c/busses/i2c-xiic.c
··· 34 34 #include <linux/errno.h> 35 35 #include <linux/delay.h> 36 36 #include <linux/platform_device.h> 37 - #include <linux/mfd/core.h> 38 37 #include <linux/i2c.h> 39 38 #include <linux/interrupt.h> 40 39 #include <linux/wait.h> ··· 704 705 if (irq < 0) 705 706 goto resource_missing; 706 707 707 - pdata = mfd_get_data(pdev); 708 + pdata = (struct xiic_i2c_platform_data *) pdev->dev.platform_data; 708 709 if (!pdata) 709 710 return -EINVAL; 710 711
+1 -2
drivers/media/radio/radio-timb.c
··· 21 21 #include <media/v4l2-ioctl.h> 22 22 #include <media/v4l2-device.h> 23 23 #include <linux/platform_device.h> 24 - #include <linux/mfd/core.h> 25 24 #include <linux/interrupt.h> 26 25 #include <linux/slab.h> 27 26 #include <linux/i2c.h> ··· 148 149 149 150 static int __devinit timbradio_probe(struct platform_device *pdev) 150 151 { 151 - struct timb_radio_platform_data *pdata = mfd_get_data(pdev); 152 + struct timb_radio_platform_data *pdata = pdev->dev.platform_data; 152 153 struct timbradio *tr; 153 154 int err; 154 155
+1 -2
drivers/media/video/timblogiw.c
··· 24 24 #include <linux/platform_device.h> 25 25 #include <linux/slab.h> 26 26 #include <linux/dmaengine.h> 27 - #include <linux/mfd/core.h> 28 27 #include <linux/scatterlist.h> 29 28 #include <linux/interrupt.h> 30 29 #include <linux/list.h> ··· 790 791 { 791 792 int err; 792 793 struct timblogiw *lw = NULL; 793 - struct timb_video_platform_data *pdata = mfd_get_data(pdev); 794 + struct timb_video_platform_data *pdata = pdev->dev.platform_data; 794 795 795 796 if (!pdata) { 796 797 dev_err(&pdev->dev, "No platform data\n");
+54 -27
drivers/mfd/timberdale.c
··· 384 384 .name = "timb-dma", 385 385 .num_resources = ARRAY_SIZE(timberdale_dma_resources), 386 386 .resources = timberdale_dma_resources, 387 - .mfd_data = &timb_dma_platform_data, 387 + .platform_data = &timb_dma_platform_data, 388 + .pdata_size = sizeof(timb_dma_platform_data), 388 389 }, 389 390 { 390 391 .name = "timb-uart", ··· 396 395 .name = "xiic-i2c", 397 396 .num_resources = ARRAY_SIZE(timberdale_xiic_resources), 398 397 .resources = timberdale_xiic_resources, 399 - .mfd_data = &timberdale_xiic_platform_data, 398 + .platform_data = &timberdale_xiic_platform_data, 399 + .pdata_size = sizeof(timberdale_xiic_platform_data), 400 400 }, 401 401 { 402 402 .name = "timb-gpio", 403 403 .num_resources = ARRAY_SIZE(timberdale_gpio_resources), 404 404 .resources = timberdale_gpio_resources, 405 - .mfd_data = &timberdale_gpio_platform_data, 405 + .platform_data = &timberdale_gpio_platform_data, 406 + .pdata_size = sizeof(timberdale_gpio_platform_data), 406 407 }, 407 408 { 408 409 .name = "timb-video", 409 410 .num_resources = ARRAY_SIZE(timberdale_video_resources), 410 411 .resources = timberdale_video_resources, 411 - .mfd_data = &timberdale_video_platform_data, 412 + .platform_data = &timberdale_video_platform_data, 413 + .pdata_size = sizeof(timberdale_video_platform_data), 412 414 }, 413 415 { 414 416 .name = "timb-radio", 415 417 .num_resources = ARRAY_SIZE(timberdale_radio_resources), 416 418 .resources = timberdale_radio_resources, 417 - .mfd_data = &timberdale_radio_platform_data, 419 + .platform_data = &timberdale_radio_platform_data, 420 + .pdata_size = sizeof(timberdale_radio_platform_data), 418 421 }, 419 422 { 420 423 .name = "xilinx_spi", 421 424 .num_resources = ARRAY_SIZE(timberdale_spi_resources), 422 425 .resources = timberdale_spi_resources, 423 - .mfd_data = &timberdale_xspi_platform_data, 426 + .platform_data = &timberdale_xspi_platform_data, 427 + .pdata_size = sizeof(timberdale_xspi_platform_data), 424 428 }, 425 429 { 426 430 .name = "ks8842", 427 431 .num_resources = ARRAY_SIZE(timberdale_eth_resources), 428 432 .resources = timberdale_eth_resources, 429 - .mfd_data = &timberdale_ks8842_platform_data, 433 + .platform_data = &timberdale_ks8842_platform_data, 434 + .pdata_size = sizeof(timberdale_ks8842_platform_data), 430 435 }, 431 436 }; 432 437 ··· 441 434 .name = "timb-dma", 442 435 .num_resources = ARRAY_SIZE(timberdale_dma_resources), 443 436 .resources = timberdale_dma_resources, 444 - .mfd_data = &timb_dma_platform_data, 437 + .platform_data = &timb_dma_platform_data, 438 + .pdata_size = sizeof(timb_dma_platform_data), 445 439 }, 446 440 { 447 441 .name = "timb-uart", ··· 458 450 .name = "xiic-i2c", 459 451 .num_resources = ARRAY_SIZE(timberdale_xiic_resources), 460 452 .resources = timberdale_xiic_resources, 461 - .mfd_data = &timberdale_xiic_platform_data, 453 + .platform_data = &timberdale_xiic_platform_data, 454 + .pdata_size = sizeof(timberdale_xiic_platform_data), 462 455 }, 463 456 { 464 457 .name = "timb-gpio", 465 458 .num_resources = ARRAY_SIZE(timberdale_gpio_resources), 466 459 .resources = timberdale_gpio_resources, 467 - .mfd_data = &timberdale_gpio_platform_data, 460 + .platform_data = &timberdale_gpio_platform_data, 461 + .pdata_size = sizeof(timberdale_gpio_platform_data), 468 462 }, 469 463 { 470 464 .name = "timb-mlogicore", ··· 477 467 .name = "timb-video", 478 468 .num_resources = ARRAY_SIZE(timberdale_video_resources), 479 469 .resources = timberdale_video_resources, 480 - .mfd_data = &timberdale_video_platform_data, 470 + .platform_data = &timberdale_video_platform_data, 471 + .pdata_size = sizeof(timberdale_video_platform_data), 481 472 }, 482 473 { 483 474 .name = "timb-radio", 484 475 .num_resources = ARRAY_SIZE(timberdale_radio_resources), 485 476 .resources = timberdale_radio_resources, 486 - .mfd_data = &timberdale_radio_platform_data, 477 + .platform_data = &timberdale_radio_platform_data, 478 + .pdata_size = sizeof(timberdale_radio_platform_data), 487 479 }, 488 480 { 489 481 .name = "xilinx_spi", 490 482 .num_resources = ARRAY_SIZE(timberdale_spi_resources), 491 483 .resources = timberdale_spi_resources, 492 - .mfd_data = &timberdale_xspi_platform_data, 484 + .platform_data = &timberdale_xspi_platform_data, 485 + .pdata_size = sizeof(timberdale_xspi_platform_data), 493 486 }, 494 487 { 495 488 .name = "ks8842", 496 489 .num_resources = ARRAY_SIZE(timberdale_eth_resources), 497 490 .resources = timberdale_eth_resources, 498 - .mfd_data = &timberdale_ks8842_platform_data, 491 + .platform_data = &timberdale_ks8842_platform_data, 492 + .pdata_size = sizeof(timberdale_ks8842_platform_data), 499 493 }, 500 494 }; 501 495 ··· 508 494 .name = "timb-dma", 509 495 .num_resources = ARRAY_SIZE(timberdale_dma_resources), 510 496 .resources = timberdale_dma_resources, 511 - .mfd_data = &timb_dma_platform_data, 497 + .platform_data = &timb_dma_platform_data, 498 + .pdata_size = sizeof(timb_dma_platform_data), 512 499 }, 513 500 { 514 501 .name = "timb-uart", ··· 520 505 .name = "xiic-i2c", 521 506 .num_resources = ARRAY_SIZE(timberdale_xiic_resources), 522 507 .resources = timberdale_xiic_resources, 523 - .mfd_data = &timberdale_xiic_platform_data, 508 + .platform_data = &timberdale_xiic_platform_data, 509 + .pdata_size = sizeof(timberdale_xiic_platform_data), 524 510 }, 525 511 { 526 512 .name = "timb-gpio", 527 513 .num_resources = ARRAY_SIZE(timberdale_gpio_resources), 528 514 .resources = timberdale_gpio_resources, 529 - .mfd_data = &timberdale_gpio_platform_data, 515 + .platform_data = &timberdale_gpio_platform_data, 516 + .pdata_size = sizeof(timberdale_gpio_platform_data), 530 517 }, 531 518 { 532 519 .name = "timb-video", 533 520 .num_resources = ARRAY_SIZE(timberdale_video_resources), 534 521 .resources = timberdale_video_resources, 535 - .mfd_data = &timberdale_video_platform_data, 522 + .platform_data = &timberdale_video_platform_data, 523 + .pdata_size = sizeof(timberdale_video_platform_data), 536 524 }, 537 525 { 538 526 .name = "timb-radio", 539 527 .num_resources = ARRAY_SIZE(timberdale_radio_resources), 540 528 .resources = timberdale_radio_resources, 541 - .mfd_data = &timberdale_radio_platform_data, 529 + .platform_data = &timberdale_radio_platform_data, 530 + .pdata_size = sizeof(timberdale_radio_platform_data), 542 531 }, 543 532 { 544 533 .name = "xilinx_spi", 545 534 .num_resources = ARRAY_SIZE(timberdale_spi_resources), 546 535 .resources = timberdale_spi_resources, 547 - .mfd_data = &timberdale_xspi_platform_data, 536 + .platform_data = &timberdale_xspi_platform_data, 537 + .pdata_size = sizeof(timberdale_xspi_platform_data), 548 538 }, 549 539 }; 550 540 ··· 558 538 .name = "timb-dma", 559 539 .num_resources = ARRAY_SIZE(timberdale_dma_resources), 560 540 .resources = timberdale_dma_resources, 561 - .mfd_data = &timb_dma_platform_data, 541 + .platform_data = &timb_dma_platform_data, 542 + .pdata_size = sizeof(timb_dma_platform_data), 562 543 }, 563 544 { 564 545 .name = "timb-uart", ··· 570 549 .name = "ocores-i2c", 571 550 .num_resources = ARRAY_SIZE(timberdale_ocores_resources), 572 551 .resources = timberdale_ocores_resources, 573 - .mfd_data = &timberdale_ocores_platform_data, 552 + .platform_data = &timberdale_ocores_platform_data, 553 + .pdata_size = sizeof(timberdale_ocores_platform_data), 574 554 }, 575 555 { 576 556 .name = "timb-gpio", 577 557 .num_resources = ARRAY_SIZE(timberdale_gpio_resources), 578 558 .resources = timberdale_gpio_resources, 579 - .mfd_data = &timberdale_gpio_platform_data, 559 + .platform_data = &timberdale_gpio_platform_data, 560 + .pdata_size = sizeof(timberdale_gpio_platform_data), 580 561 }, 581 562 { 582 563 .name = "timb-video", 583 564 .num_resources = ARRAY_SIZE(timberdale_video_resources), 584 565 .resources = timberdale_video_resources, 585 - .mfd_data = &timberdale_video_platform_data, 566 + .platform_data = &timberdale_video_platform_data, 567 + .pdata_size = sizeof(timberdale_video_platform_data), 586 568 }, 587 569 { 588 570 .name = "timb-radio", 589 571 .num_resources = ARRAY_SIZE(timberdale_radio_resources), 590 572 .resources = timberdale_radio_resources, 591 - .mfd_data = &timberdale_radio_platform_data, 573 + .platform_data = &timberdale_radio_platform_data, 574 + .pdata_size = sizeof(timberdale_radio_platform_data), 592 575 }, 593 576 { 594 577 .name = "xilinx_spi", 595 578 .num_resources = ARRAY_SIZE(timberdale_spi_resources), 596 579 .resources = timberdale_spi_resources, 597 - .mfd_data = &timberdale_xspi_platform_data, 580 + .platform_data = &timberdale_xspi_platform_data, 581 + .pdata_size = sizeof(timberdale_xspi_platform_data), 598 582 }, 599 583 { 600 584 .name = "ks8842", 601 585 .num_resources = ARRAY_SIZE(timberdale_eth_resources), 602 586 .resources = timberdale_eth_resources, 603 - .mfd_data = &timberdale_ks8842_platform_data, 587 + .platform_data = &timberdale_ks8842_platform_data, 588 + .pdata_size = sizeof(timberdale_ks8842_platform_data), 604 589 }, 605 590 }; 606 591
+1 -2
drivers/net/ks8842.c
··· 26 26 #include <linux/kernel.h> 27 27 #include <linux/module.h> 28 28 #include <linux/platform_device.h> 29 - #include <linux/mfd/core.h> 30 29 #include <linux/netdevice.h> 31 30 #include <linux/etherdevice.h> 32 31 #include <linux/ethtool.h> ··· 1145 1146 struct resource *iomem; 1146 1147 struct net_device *netdev; 1147 1148 struct ks8842_adapter *adapter; 1148 - struct ks8842_platform_data *pdata = mfd_get_data(pdev); 1149 + struct ks8842_platform_data *pdata = pdev->dev.platform_data; 1149 1150 u16 id; 1150 1151 unsigned i; 1151 1152
+1 -2
drivers/spi/xilinx_spi.c
··· 18 18 #include <linux/interrupt.h> 19 19 #include <linux/of.h> 20 20 #include <linux/platform_device.h> 21 - #include <linux/mfd/core.h> 22 21 #include <linux/spi/spi.h> 23 22 #include <linux/spi/spi_bitbang.h> 24 23 #include <linux/spi/xilinx_spi.h> ··· 470 471 struct spi_master *master; 471 472 u8 i; 472 473 473 - pdata = mfd_get_data(dev); 474 + pdata = dev->dev.platform_data; 474 475 if (pdata) { 475 476 num_cs = pdata->num_chipselect; 476 477 little_endian = pdata->little_endian;