Patchwork [git,patches] libata build fix

login
register
mail settings
Submitter Ingo Molnar
Date Oct. 9, 2009, 8:39 a.m.
Message ID <20091009083903.GA20687@elte.hu>
Download mbox | patch
Permalink /patch/35599/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Ingo Molnar - Oct. 9, 2009, 8:39 a.m.
* Jeff Garzik <jeff@garzik.org> wrote:

> Please pull from 'upstream-linus' branch of
> master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git upstream-linus
> 
> to receive the following updates:
> 
>  drivers/ata/ahci.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> Markus Trippelsdorf (1):
>       ahci: Add ifdef wrapper to ahci_gtf_filter_workaround
> 
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index 4edca6e..b1a2577 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -2884,6 +2884,7 @@ static bool ahci_broken_online(struct pci_dev *pdev)
>  	return pdev->bus->number == (val >> 8) && pdev->devfn == (val & 0xff);
>  }
>  
> +#ifdef CONFIG_ATA_ACPI
>  static void ahci_gtf_filter_workaround(struct ata_host *host)
>  {
>  	static const struct dmi_system_id sysids[] = {
> @@ -2927,6 +2928,10 @@ static void ahci_gtf_filter_workaround(struct ata_host *host)
>  				dev->gtf_filter |= filter;
>  	}
>  }
> +#else
> +static inline void ahci_gtf_filter_workaround(struct ata_host *host)
> +{}
> +#endif

btw., i made the slightly different fix below before i saw your fix on 
lkml, and i think it's slightly cleaner to have a single definition of a 
function instead of an
#else branch.

	Ingo

---------------------->
From 1f4a08ff9647d24d9590a7e23349036dbeafbb1b Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 9 Oct 2009 10:13:56 +0200
Subject: [PATCH] ahci: Fix "filter FPDMA non-zero offset enable for Aspire 3810T" on !CONFIG_ATA_ACPI
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Commit f80ae7e ("ahci: filter FPDMA non-zero offset enable for Aspire
3810T") introduced a new build breakage:

  drivers/ata/ahci.c: In function ‘ahci_gtf_filter_workaround’:
  drivers/ata/ahci.c:2927: error: ‘struct ata_device’ has no member named ‘gtf_filter’
  make[2]: *** [drivers/ata/ahci.o] Error 1
  make[1]: *** [drivers/ata] Error 2
  make[1]: *** Waiting for unfinished jobs....

As the acpi taskfile command filter support is a property of
libata-acpi - so the ata_device::gtf_filter field only exists
under CONFIG_ATA_ACPI.

Add the trivial #ifdef to turn ahci_gtf_filter_workaround()
into a NOP on !CONFIG_ATA_ACPI.

Cc: Marcus Meissner <meissner@novell.com>
Cc: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 drivers/ata/ahci.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Garzik - Oct. 9, 2009, 9:53 p.m.
On 10/09/2009 04:39 AM, Ingo Molnar wrote:
> From: Ingo Molnar<mingo@elte.hu>
> Date: Fri, 9 Oct 2009 10:13:56 +0200
> Subject: [PATCH] ahci: Fix "filter FPDMA non-zero offset enable for Aspire 3810T" on !CONFIG_ATA_ACPI
> MIME-Version: 1.0
> Content-Type: text/plain; charset=utf-8
> Content-Transfer-Encoding: 8bit
>
> Commit f80ae7e ("ahci: filter FPDMA non-zero offset enable for Aspire
> 3810T") introduced a new build breakage:
>
>    drivers/ata/ahci.c: In function ‘ahci_gtf_filter_workaround’:
>    drivers/ata/ahci.c:2927: error: ‘struct ata_device’ has no member named ‘gtf_filter’
>    make[2]: *** [drivers/ata/ahci.o] Error 1
>    make[1]: *** [drivers/ata] Error 2
>    make[1]: *** Waiting for unfinished jobs....
>
> As the acpi taskfile command filter support is a property of
> libata-acpi - so the ata_device::gtf_filter field only exists
> under CONFIG_ATA_ACPI.
>
> Add the trivial #ifdef to turn ahci_gtf_filter_workaround()
> into a NOP on !CONFIG_ATA_ACPI.
>
> Cc: Marcus Meissner<meissner@novell.com>
> Cc: Jeff Garzik<jgarzik@redhat.com>
> Signed-off-by: Ingo Molnar<mingo@elte.hu>
> ---
>   drivers/ata/ahci.c |    2 ++
>   1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
> index 4edca6e..fc8d527 100644
> --- a/drivers/ata/ahci.c
> +++ b/drivers/ata/ahci.c
> @@ -2886,6 +2886,7 @@ static bool ahci_broken_online(struct pci_dev *pdev)
>
>   static void ahci_gtf_filter_workaround(struct ata_host *host)
>   {
> +#ifdef CONFIG_ATA_ACPI
>   	static const struct dmi_system_id sysids[] = {
>   		/*
>   		 * Aspire 3810T issues a bunch of SATA enable commands
> @@ -2926,6 +2927,7 @@ static void ahci_gtf_filter_workaround(struct ata_host *host)
>   			ata_for_each_dev(dev, link, ALL)
>   				dev->gtf_filter |= filter;
>   	}
> +#endif
>   }


Either way is fine with me.  I tend to prefer conditional compilation to 
be outside a function, but it's not a big deal.  Linus can pull my 
submit, or add
	Acked-by: Jeff Garzik <jgarzik@redhat.com>
to this Ingo patch.

Same end result; whichever makes people happier, and fixes builds the 
most rapidly...

	Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 4edca6e..fc8d527 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -2886,6 +2886,7 @@  static bool ahci_broken_online(struct pci_dev *pdev)
 
 static void ahci_gtf_filter_workaround(struct ata_host *host)
 {
+#ifdef CONFIG_ATA_ACPI
 	static const struct dmi_system_id sysids[] = {
 		/*
 		 * Aspire 3810T issues a bunch of SATA enable commands
@@ -2926,6 +2927,7 @@  static void ahci_gtf_filter_workaround(struct ata_host *host)
 			ata_for_each_dev(dev, link, ALL)
 				dev->gtf_filter |= filter;
 	}
+#endif
 }
 
 static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)