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

mfd: mfd_cell is now implicitly available to timberdale drivers

The cell's platform_data is now accessed with a helper function;
change clients to use that, and remove the now-unused data_size.

Note that the mfd's platform_data is marked __devinitdata. This
is still correct in all cases except for the timbgpio driver, whose
remove hook has been changed to no longer reference the pdata.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

authored by

Andres Salomon and committed by
Samuel Ortiz
e46dccff 07ae2a08

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