spi-mxs.c (222e82bef4bd520a31d48c31ab24e49dd46daa46) | spi-mxs.c (fd4a319bc933ae93e68935b21924a9ca4ba2d060) |
---|---|
1/* 2 * Freescale MXS SPI master driver 3 * 4 * Copyright 2012 DENX Software Engineering, GmbH. 5 * Copyright 2012 Freescale Semiconductor, Inc. 6 * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved. 7 * 8 * Rework and transition to new API by: --- 495 unchanged lines hidden (view full) --- 504 505static const struct of_device_id mxs_spi_dt_ids[] = { 506 { .compatible = "fsl,imx23-spi", .data = (void *) IMX23_SSP, }, 507 { .compatible = "fsl,imx28-spi", .data = (void *) IMX28_SSP, }, 508 { /* sentinel */ } 509}; 510MODULE_DEVICE_TABLE(of, mxs_spi_dt_ids); 511 | 1/* 2 * Freescale MXS SPI master driver 3 * 4 * Copyright 2012 DENX Software Engineering, GmbH. 5 * Copyright 2012 Freescale Semiconductor, Inc. 6 * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved. 7 * 8 * Rework and transition to new API by: --- 495 unchanged lines hidden (view full) --- 504 505static const struct of_device_id mxs_spi_dt_ids[] = { 506 { .compatible = "fsl,imx23-spi", .data = (void *) IMX23_SSP, }, 507 { .compatible = "fsl,imx28-spi", .data = (void *) IMX28_SSP, }, 508 { /* sentinel */ } 509}; 510MODULE_DEVICE_TABLE(of, mxs_spi_dt_ids); 511 |
512static int __devinit mxs_spi_probe(struct platform_device *pdev) | 512static int mxs_spi_probe(struct platform_device *pdev) |
513{ 514 const struct of_device_id *of_id = 515 of_match_device(mxs_spi_dt_ids, &pdev->dev); 516 struct device_node *np = pdev->dev.of_node; 517 struct spi_master *master; 518 struct mxs_spi *spi; 519 struct mxs_ssp *ssp; 520 struct resource *iores, *dmares; --- 110 unchanged lines hidden (view full) --- 631out_free_dma: 632 dma_release_channel(ssp->dmach); 633 clk_disable_unprepare(ssp->clk); 634out_master_free: 635 spi_master_put(master); 636 return ret; 637} 638 | 513{ 514 const struct of_device_id *of_id = 515 of_match_device(mxs_spi_dt_ids, &pdev->dev); 516 struct device_node *np = pdev->dev.of_node; 517 struct spi_master *master; 518 struct mxs_spi *spi; 519 struct mxs_ssp *ssp; 520 struct resource *iores, *dmares; --- 110 unchanged lines hidden (view full) --- 631out_free_dma: 632 dma_release_channel(ssp->dmach); 633 clk_disable_unprepare(ssp->clk); 634out_master_free: 635 spi_master_put(master); 636 return ret; 637} 638 |
639static int __devexit mxs_spi_remove(struct platform_device *pdev) | 639static int mxs_spi_remove(struct platform_device *pdev) |
640{ 641 struct spi_master *master; 642 struct mxs_spi *spi; 643 struct mxs_ssp *ssp; 644 645 master = spi_master_get(platform_get_drvdata(pdev)); 646 spi = spi_master_get_devdata(master); 647 ssp = &spi->ssp; --- 6 unchanged lines hidden (view full) --- 654 655 spi_master_put(master); 656 657 return 0; 658} 659 660static struct platform_driver mxs_spi_driver = { 661 .probe = mxs_spi_probe, | 640{ 641 struct spi_master *master; 642 struct mxs_spi *spi; 643 struct mxs_ssp *ssp; 644 645 master = spi_master_get(platform_get_drvdata(pdev)); 646 spi = spi_master_get_devdata(master); 647 ssp = &spi->ssp; --- 6 unchanged lines hidden (view full) --- 654 655 spi_master_put(master); 656 657 return 0; 658} 659 660static struct platform_driver mxs_spi_driver = { 661 .probe = mxs_spi_probe, |
662 .remove = __devexit_p(mxs_spi_remove), | 662 .remove = mxs_spi_remove, |
663 .driver = { 664 .name = DRIVER_NAME, 665 .owner = THIS_MODULE, 666 .of_match_table = mxs_spi_dt_ids, 667 }, 668}; 669 670module_platform_driver(mxs_spi_driver); 671 672MODULE_AUTHOR("Marek Vasut <marex@denx.de>"); 673MODULE_DESCRIPTION("MXS SPI master driver"); 674MODULE_LICENSE("GPL"); 675MODULE_ALIAS("platform:mxs-spi"); | 663 .driver = { 664 .name = DRIVER_NAME, 665 .owner = THIS_MODULE, 666 .of_match_table = mxs_spi_dt_ids, 667 }, 668}; 669 670module_platform_driver(mxs_spi_driver); 671 672MODULE_AUTHOR("Marek Vasut <marex@denx.de>"); 673MODULE_DESCRIPTION("MXS SPI master driver"); 674MODULE_LICENSE("GPL"); 675MODULE_ALIAS("platform:mxs-spi"); |