spi-xilinx.c (da733563be5a9da26fe81d9f007262d00b846e22) spi-xilinx.c (fd4a319bc933ae93e68935b21924a9ca4ba2d060)
1/*
2 * Xilinx SPI controller driver (master mode only)
3 *
4 * Author: MontaVista Software, Inc.
5 * source@mvista.com
6 *
7 * Copyright (c) 2010 Secret Lab Technologies, Ltd.
8 * Copyright (c) 2009 Intel Corporation

--- 448 unchanged lines hidden (view full) ---

457 free_irq(xspi->irq, xspi);
458 iounmap(xspi->regs);
459
460 release_mem_region(xspi->mem.start, resource_size(&xspi->mem));
461 spi_master_put(xspi->bitbang.master);
462}
463EXPORT_SYMBOL(xilinx_spi_deinit);
464
1/*
2 * Xilinx SPI controller driver (master mode only)
3 *
4 * Author: MontaVista Software, Inc.
5 * source@mvista.com
6 *
7 * Copyright (c) 2010 Secret Lab Technologies, Ltd.
8 * Copyright (c) 2009 Intel Corporation

--- 448 unchanged lines hidden (view full) ---

457 free_irq(xspi->irq, xspi);
458 iounmap(xspi->regs);
459
460 release_mem_region(xspi->mem.start, resource_size(&xspi->mem));
461 spi_master_put(xspi->bitbang.master);
462}
463EXPORT_SYMBOL(xilinx_spi_deinit);
464
465static int __devinit xilinx_spi_probe(struct platform_device *dev)
465static int xilinx_spi_probe(struct platform_device *dev)
466{
467 struct xspi_platform_data *pdata;
468 struct resource *r;
469 int irq, num_cs = 0, little_endian = 0, bits_per_word = 8;
470 struct spi_master *master;
471 u8 i;
472
473 pdata = dev->dev.platform_data;

--- 39 unchanged lines hidden (view full) ---

513 for (i = 0; i < pdata->num_devices; i++)
514 spi_new_device(master, pdata->devices + i);
515 }
516
517 platform_set_drvdata(dev, master);
518 return 0;
519}
520
466{
467 struct xspi_platform_data *pdata;
468 struct resource *r;
469 int irq, num_cs = 0, little_endian = 0, bits_per_word = 8;
470 struct spi_master *master;
471 u8 i;
472
473 pdata = dev->dev.platform_data;

--- 39 unchanged lines hidden (view full) ---

513 for (i = 0; i < pdata->num_devices; i++)
514 spi_new_device(master, pdata->devices + i);
515 }
516
517 platform_set_drvdata(dev, master);
518 return 0;
519}
520
521static int __devexit xilinx_spi_remove(struct platform_device *dev)
521static int xilinx_spi_remove(struct platform_device *dev)
522{
523 xilinx_spi_deinit(platform_get_drvdata(dev));
524 platform_set_drvdata(dev, 0);
525
526 return 0;
527}
528
529/* work with hotplug and coldplug */
530MODULE_ALIAS("platform:" XILINX_SPI_NAME);
531
532static struct platform_driver xilinx_spi_driver = {
533 .probe = xilinx_spi_probe,
522{
523 xilinx_spi_deinit(platform_get_drvdata(dev));
524 platform_set_drvdata(dev, 0);
525
526 return 0;
527}
528
529/* work with hotplug and coldplug */
530MODULE_ALIAS("platform:" XILINX_SPI_NAME);
531
532static struct platform_driver xilinx_spi_driver = {
533 .probe = xilinx_spi_probe,
534 .remove = __devexit_p(xilinx_spi_remove),
534 .remove = xilinx_spi_remove,
535 .driver = {
536 .name = XILINX_SPI_NAME,
537 .owner = THIS_MODULE,
538 .of_match_table = xilinx_spi_of_match,
539 },
540};
541module_platform_driver(xilinx_spi_driver);
542
543MODULE_AUTHOR("MontaVista Software, Inc. <source@mvista.com>");
544MODULE_DESCRIPTION("Xilinx SPI driver");
545MODULE_LICENSE("GPL");
535 .driver = {
536 .name = XILINX_SPI_NAME,
537 .owner = THIS_MODULE,
538 .of_match_table = xilinx_spi_of_match,
539 },
540};
541module_platform_driver(xilinx_spi_driver);
542
543MODULE_AUTHOR("MontaVista Software, Inc. <source@mvista.com>");
544MODULE_DESCRIPTION("Xilinx SPI driver");
545MODULE_LICENSE("GPL");