config: tegra3: enable /dev mount with ACL
[linux-2.6.git] / drivers / ata / libata-acpi.c
index 292fdbc..bb7c5f1 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/acpi.h>
 #include <linux/libata.h>
 #include <linux/pci.h>
+#include <linux/slab.h>
 #include <scsi/scsi_device.h>
 #include "libata.h"
 
@@ -144,12 +145,6 @@ static void ata_acpi_handle_hotplug(struct ata_port *ap, struct ata_device *dev,
        struct ata_eh_info *ehi = &ap->link.eh_info;
        int wait = 0;
        unsigned long flags;
-       acpi_handle handle;
-
-       if (dev)
-               handle = dev->acpi_handle;
-       else
-               handle = ap->acpi_handle;
 
        spin_lock_irqsave(ap->lock, flags);
        /*
@@ -223,12 +218,12 @@ static void ata_acpi_dev_uevent(acpi_handle handle, u32 event, void *data)
        ata_acpi_uevent(dev->link->ap, dev, event);
 }
 
-static struct acpi_dock_ops ata_acpi_dev_dock_ops = {
+static const struct acpi_dock_ops ata_acpi_dev_dock_ops = {
        .handler = ata_acpi_dev_notify_dock,
        .uevent = ata_acpi_dev_uevent,
 };
 
-static struct acpi_dock_ops ata_acpi_ap_dock_ops = {
+static const struct acpi_dock_ops ata_acpi_ap_dock_ops = {
        .handler = ata_acpi_ap_notify_dock,
        .uevent = ata_acpi_ap_uevent,
 };
@@ -337,25 +332,22 @@ int ata_acpi_gtm(struct ata_port *ap, struct ata_acpi_gtm *gtm)
 
        rc = -EINVAL;
        if (ACPI_FAILURE(status)) {
-               ata_port_printk(ap, KERN_ERR,
-                               "ACPI get timing mode failed (AE 0x%x)\n",
-                               status);
+               ata_port_err(ap, "ACPI get timing mode failed (AE 0x%x)\n",
+                            status);
                goto out_free;
        }
 
        out_obj = output.pointer;
        if (out_obj->type != ACPI_TYPE_BUFFER) {
-               ata_port_printk(ap, KERN_WARNING,
-                               "_GTM returned unexpected object type 0x%x\n",
-                               out_obj->type);
+               ata_port_warn(ap, "_GTM returned unexpected object type 0x%x\n",
+                             out_obj->type);
 
                goto out_free;
        }
 
        if (out_obj->buffer.length != sizeof(struct ata_acpi_gtm)) {
-               ata_port_printk(ap, KERN_ERR,
-                               "_GTM returned invalid length %d\n",
-                               out_obj->buffer.length);
+               ata_port_err(ap, "_GTM returned invalid length %d\n",
+                            out_obj->buffer.length);
                goto out_free;
        }
 
@@ -407,8 +399,8 @@ int ata_acpi_stm(struct ata_port *ap, const struct ata_acpi_gtm *stm)
        if (status == AE_NOT_FOUND)
                return -ENOENT;
        if (ACPI_FAILURE(status)) {
-               ata_port_printk(ap, KERN_ERR,
-                       "ACPI set timing mode failed (status=0x%x)\n", status);
+               ata_port_err(ap, "ACPI set timing mode failed (status=0x%x)\n",
+                            status);
                return -EINVAL;
        }
        return 0;
@@ -455,8 +447,8 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
        output.pointer = NULL;  /* ACPI-CA sets this; save/free it later */
 
        if (ata_msg_probe(ap))
-               ata_dev_printk(dev, KERN_DEBUG, "%s: ENTER: port#: %d\n",
-                              __func__, ap->port_no);
+               ata_dev_dbg(dev, "%s: ENTER: port#: %d\n",
+                           __func__, ap->port_no);
 
        /* _GTF has no input parameters */
        status = acpi_evaluate_object(dev->acpi_handle, "_GTF", NULL, &output);
@@ -464,9 +456,8 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
 
        if (ACPI_FAILURE(status)) {
                if (status != AE_NOT_FOUND) {
-                       ata_dev_printk(dev, KERN_WARNING,
-                                      "_GTF evaluation failed (AE 0x%x)\n",
-                                      status);
+                       ata_dev_warn(dev, "_GTF evaluation failed (AE 0x%x)\n",
+                                    status);
                        rc = -EINVAL;
                }
                goto out_free;
@@ -474,27 +465,24 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
 
        if (!output.length || !output.pointer) {
                if (ata_msg_probe(ap))
-                       ata_dev_printk(dev, KERN_DEBUG, "%s: Run _GTF: "
-                               "length or ptr is NULL (0x%llx, 0x%p)\n",
-                               __func__,
-                               (unsigned long long)output.length,
-                               output.pointer);
+                       ata_dev_dbg(dev, "%s: Run _GTF: length or ptr is NULL (0x%llx, 0x%p)\n",
+                                   __func__,
+                                   (unsigned long long)output.length,
+                                   output.pointer);
                rc = -EINVAL;
                goto out_free;
        }
 
        if (out_obj->type != ACPI_TYPE_BUFFER) {
-               ata_dev_printk(dev, KERN_WARNING,
-                              "_GTF unexpected object type 0x%x\n",
-                              out_obj->type);
+               ata_dev_warn(dev, "_GTF unexpected object type 0x%x\n",
+                            out_obj->type);
                rc = -EINVAL;
                goto out_free;
        }
 
        if (out_obj->buffer.length % REGS_PER_GTF) {
-               ata_dev_printk(dev, KERN_WARNING,
-                              "unexpected _GTF length (%d)\n",
-                              out_obj->buffer.length);
+               ata_dev_warn(dev, "unexpected _GTF length (%d)\n",
+                            out_obj->buffer.length);
                rc = -EINVAL;
                goto out_free;
        }
@@ -504,9 +492,8 @@ static int ata_dev_get_GTF(struct ata_device *dev, struct ata_acpi_gtf **gtf)
        if (gtf) {
                *gtf = (void *)out_obj->buffer.pointer;
                if (ata_msg_probe(ap))
-                       ata_dev_printk(dev, KERN_DEBUG,
-                                      "%s: returning gtf=%p, gtf_count=%d\n",
-                                      __func__, *gtf, rc);
+                       ata_dev_dbg(dev, "%s: returning gtf=%p, gtf_count=%d\n",
+                                   __func__, *gtf, rc);
        }
        return rc;
 
@@ -665,8 +652,7 @@ static int ata_acpi_filter_tf(struct ata_device *dev,
  * @dev: target ATA device
  * @gtf: raw ATA taskfile register set (0x1f1 - 0x1f7)
  *
- * Outputs ATA taskfile to standard ATA host controller using MMIO
- * or PIO as indicated by the ATA_FLAG_MMIO flag.
+ * Outputs ATA taskfile to standard ATA host controller.
  * Writes the control, feature, nsect, lbal, lbam, and lbah registers.
  * Optionally (ATA_TFLAG_LBA48) writes hob_feature, hob_nsect,
  * hob_lbal, hob_lbam, and hob_lbah.
@@ -817,8 +803,8 @@ static int ata_acpi_push_id(struct ata_device *dev)
        union acpi_object in_params[1];
 
        if (ata_msg_probe(ap))
-               ata_dev_printk(dev, KERN_DEBUG, "%s: ix = %d, port#: %d\n",
-                              __func__, dev->devno, ap->port_no);
+               ata_dev_dbg(dev, "%s: ix = %d, port#: %d\n",
+                           __func__, dev->devno, ap->port_no);
 
        /* Give the drive Identify data to the drive via the _SDD method */
        /* _SDD: set up input parameters */
@@ -838,8 +824,7 @@ static int ata_acpi_push_id(struct ata_device *dev)
                return -ENOENT;
 
        if (ACPI_FAILURE(status)) {
-               ata_dev_printk(dev, KERN_WARNING,
-                              "ACPI _SDD failed (AE 0x%x)\n", status);
+               ata_dev_warn(dev, "ACPI _SDD failed (AE 0x%x)\n", status);
                return -EIO;
        }
 
@@ -989,8 +974,8 @@ int ata_acpi_on_devcfg(struct ata_device *dev)
        if (nr_executed) {
                rc = ata_dev_reread_id(dev, 0);
                if (rc < 0) {
-                       ata_dev_printk(dev, KERN_ERR, "failed to IDENTIFY "
-                                      "after ACPI commands\n");
+                       ata_dev_err(dev,
+                                   "failed to IDENTIFY after ACPI commands\n");
                        return rc;
                }
        }
@@ -1008,8 +993,7 @@ int ata_acpi_on_devcfg(struct ata_device *dev)
                return rc;
        }
 
-       ata_dev_printk(dev, KERN_WARNING,
-                      "ACPI: failed the second time, disabled\n");
+       ata_dev_warn(dev, "ACPI: failed the second time, disabled\n");
        dev->acpi_handle = NULL;
 
        /* We can safely continue if no _GTF command has been executed