diff options
-rw-r--r-- | drivers/ata/libata-acpi.c | 7 | ||||
-rw-r--r-- | include/linux/libata.h | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c index 545ea865ceb5..8ae36ad029c5 100644 --- a/drivers/ata/libata-acpi.c +++ b/drivers/ata/libata-acpi.c | |||
@@ -200,7 +200,7 @@ void ata_acpi_associate(struct ata_host *host) | |||
200 | * RETURNS: | 200 | * RETURNS: |
201 | * 0 on success, -ENOENT if _GTM doesn't exist, -errno on failure. | 201 | * 0 on success, -ENOENT if _GTM doesn't exist, -errno on failure. |
202 | */ | 202 | */ |
203 | int ata_acpi_gtm(const struct ata_port *ap, struct ata_acpi_gtm *gtm) | 203 | int ata_acpi_gtm(struct ata_port *ap, struct ata_acpi_gtm *gtm) |
204 | { | 204 | { |
205 | struct acpi_buffer output = { .length = ACPI_ALLOCATE_BUFFER }; | 205 | struct acpi_buffer output = { .length = ACPI_ALLOCATE_BUFFER }; |
206 | union acpi_object *out_obj; | 206 | union acpi_object *out_obj; |
@@ -259,15 +259,16 @@ EXPORT_SYMBOL_GPL(ata_acpi_gtm); | |||
259 | * RETURNS: | 259 | * RETURNS: |
260 | * 0 on success, -ENOENT if _STM doesn't exist, -errno on failure. | 260 | * 0 on success, -ENOENT if _STM doesn't exist, -errno on failure. |
261 | */ | 261 | */ |
262 | int ata_acpi_stm(const struct ata_port *ap, struct ata_acpi_gtm *stm) | 262 | int ata_acpi_stm(struct ata_port *ap, const struct ata_acpi_gtm *stm) |
263 | { | 263 | { |
264 | acpi_status status; | 264 | acpi_status status; |
265 | struct ata_acpi_gtm stm_buf = *stm; | ||
265 | struct acpi_object_list input; | 266 | struct acpi_object_list input; |
266 | union acpi_object in_params[3]; | 267 | union acpi_object in_params[3]; |
267 | 268 | ||
268 | in_params[0].type = ACPI_TYPE_BUFFER; | 269 | in_params[0].type = ACPI_TYPE_BUFFER; |
269 | in_params[0].buffer.length = sizeof(struct ata_acpi_gtm); | 270 | in_params[0].buffer.length = sizeof(struct ata_acpi_gtm); |
270 | in_params[0].buffer.pointer = (u8 *)stm; | 271 | in_params[0].buffer.pointer = (u8 *)&stm_buf; |
271 | /* Buffers for id may need byteswapping ? */ | 272 | /* Buffers for id may need byteswapping ? */ |
272 | in_params[1].type = ACPI_TYPE_BUFFER; | 273 | in_params[1].type = ACPI_TYPE_BUFFER; |
273 | in_params[1].buffer.length = 512; | 274 | in_params[1].buffer.length = 512; |
diff --git a/include/linux/libata.h b/include/linux/libata.h index ef52a07c43d8..1ca9b89632f9 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -940,8 +940,8 @@ enum { | |||
940 | /* libata-acpi.c */ | 940 | /* libata-acpi.c */ |
941 | #ifdef CONFIG_ATA_ACPI | 941 | #ifdef CONFIG_ATA_ACPI |
942 | extern int ata_acpi_cbl_80wire(struct ata_port *ap); | 942 | extern int ata_acpi_cbl_80wire(struct ata_port *ap); |
943 | int ata_acpi_stm(const struct ata_port *ap, struct ata_acpi_gtm *stm); | 943 | int ata_acpi_stm(struct ata_port *ap, const struct ata_acpi_gtm *stm); |
944 | int ata_acpi_gtm(const struct ata_port *ap, struct ata_acpi_gtm *stm); | 944 | int ata_acpi_gtm(struct ata_port *ap, struct ata_acpi_gtm *stm); |
945 | #else | 945 | #else |
946 | static inline int ata_acpi_cbl_80wire(struct ata_port *ap) { return 0; } | 946 | static inline int ata_acpi_cbl_80wire(struct ata_port *ap) { return 0; } |
947 | #endif | 947 | #endif |