]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/spi/spi_mpc83xx.c
Pull bugzilla-9683 into release branch
[linux-2.6-omap-h63xx.git] / drivers / spi / spi_mpc83xx.c
index 2adf856e44c2bf0d91d6081adfc25b9549559384..4580b9cf625d159585793d05d848c5781e9a9f2b 100644 (file)
@@ -384,11 +384,8 @@ irqreturn_t mpc83xx_spi_irq(s32 irq, void *context_data)
 
        mpc83xx_spi->count -= 1;
        if (mpc83xx_spi->count) {
-               if (mpc83xx_spi->tx) {
-                       u32 word = mpc83xx_spi->get_tx(mpc83xx_spi);
-                       mpc83xx_spi_write_reg(&mpc83xx_spi->base->transmit,
-                                             word);
-               }
+               u32 word = mpc83xx_spi->get_tx(mpc83xx_spi);
+               mpc83xx_spi_write_reg(&mpc83xx_spi->base->transmit, word);
        } else {
                complete(&mpc83xx_spi->done);
        }
@@ -514,7 +511,7 @@ err:
        return ret;
 }
 
-static int __devexit mpc83xx_spi_remove(struct platform_device *dev)
+static int __exit mpc83xx_spi_remove(struct platform_device *dev)
 {
        struct mpc83xx_spi *mpc83xx_spi;
        struct spi_master *master;
@@ -530,9 +527,9 @@ static int __devexit mpc83xx_spi_remove(struct platform_device *dev)
        return 0;
 }
 
+MODULE_ALIAS("mpc83xx_spi");                   /* for platform bus hotplug */
 static struct platform_driver mpc83xx_spi_driver = {
-       .probe = mpc83xx_spi_probe,
-       .remove = __devexit_p(mpc83xx_spi_remove),
+       .remove = __exit_p(mpc83xx_spi_remove),
        .driver = {
                   .name = "mpc83xx_spi",
        },
@@ -540,7 +537,7 @@ static struct platform_driver mpc83xx_spi_driver = {
 
 static int __init mpc83xx_spi_init(void)
 {
-       return platform_driver_register(&mpc83xx_spi_driver);
+       return platform_driver_probe(&mpc83xx_spi_driver, mpc83xx_spi_probe);
 }
 
 static void __exit mpc83xx_spi_exit(void)