dma: improve section assignment in i.MX31 IPU DMA driver
authorGuennadi Liakhovetski <lg@denx.de>
Wed, 25 Mar 2009 16:13:24 +0000 (09:13 -0700)
committerDan Williams <dan.j.williams@intel.com>
Wed, 25 Mar 2009 16:13:24 +0000 (09:13 -0700)
The i.MX31 IPU DMA driver is a platform driver, but doesn't need hotplug, so we
can use __init and __exit function attributes.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/ipu/ipu_idmac.c
drivers/dma/ipu/ipu_irq.c

index a6f7294..b759ae9 100644 (file)
@@ -1576,7 +1576,7 @@ static int __init ipu_idmac_init(struct ipu *ipu)
        return dma_async_device_register(&idmac->dma);
 }
 
-static void ipu_idmac_exit(struct ipu *ipu)
+static void __exit ipu_idmac_exit(struct ipu *ipu)
 {
        int i;
        struct idmac *idmac = &ipu->idmac;
@@ -1595,7 +1595,7 @@ static void ipu_idmac_exit(struct ipu *ipu)
  * IPU common probe / remove
  */
 
-static int ipu_probe(struct platform_device *pdev)
+static int __init ipu_probe(struct platform_device *pdev)
 {
        struct ipu_platform_data *pdata = pdev->dev.platform_data;
        struct resource *mem_ipu, *mem_ic;
@@ -1695,7 +1695,7 @@ err_noirq:
        return ret;
 }
 
-static int ipu_remove(struct platform_device *pdev)
+static int __exit ipu_remove(struct platform_device *pdev)
 {
        struct ipu *ipu = platform_get_drvdata(pdev);
 
@@ -1720,7 +1720,7 @@ static struct platform_driver ipu_platform_driver = {
                .name   = "ipu-core",
                .owner  = THIS_MODULE,
        },
-       .remove         = ipu_remove,
+       .remove         = __exit_p(ipu_remove),
 };
 
 static int __init ipu_init(void)
index 83f532c..dd8ebc7 100644 (file)
@@ -352,7 +352,7 @@ static struct irq_chip ipu_irq_chip = {
 };
 
 /* Install the IRQ handler */
-int ipu_irq_attach_irq(struct ipu *ipu, struct platform_device *dev)
+int __init ipu_irq_attach_irq(struct ipu *ipu, struct platform_device *dev)
 {
        struct ipu_platform_data *pdata = dev->dev.platform_data;
        unsigned int irq, irq_base, i;