linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drivers/ata/ahci build break.
@ 2009-10-09  6:27 Sachin Sant
  2009-10-09  6:46 ` Matthew Wilcox
  0 siblings, 1 reply; 4+ messages in thread
From: Sachin Sant @ 2009-10-09  6:27 UTC (permalink / raw)
  To: linux-scsi; +Cc: Jeff Garzik, James Bottomley, Tejun Heo

[-- Attachment #1: Type: text/plain, Size: 508 bytes --]

On a Powerpc box latest git (2.6.32-rc3-git2: 36a07902...) failed to build with
following error :

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

The code was introduced by f80ae7e45a0e03da188494c6e947a5c8b0cdfb4a.

CONFIG_ATA_ACPI is not set in this case.

The following patch fixes the build break for me.

Signed-off-by : Sachin Sant <sachinp@in.ibm.com>
---




[-- Attachment #2: fix-ata-ahci-build-break.patch --]
[-- Type: text/x-patch, Size: 1361 bytes --]

With !CONFIG_ATA_ACPI drivers/ata build breaks with following error

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

Box the function within CONFIG_ATA_ACPI.

Signed-off-by : Sachin Sant <sachinp@in.ibm.com>
---
diff -Naurp old/drivers/ata/ahci.c new/drivers/ata/ahci.c
--- old/drivers/ata/ahci.c	2009-10-09 11:34:28.000000000 +0530
+++ new/drivers/ata/ahci.c	2009-10-09 11:36:39.000000000 +0530
@@ -2884,6 +2884,7 @@ static bool ahci_broken_online(struct pc
 	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,7 @@ static void ahci_gtf_filter_workaround(s
 				dev->gtf_filter |= filter;
 	}
 }
+#endif
 
 static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
@@ -3093,8 +3095,10 @@ static int ahci_init_one(struct pci_dev
 	/* apply workaround for ASUS P5W DH Deluxe mainboard */
 	ahci_p5wdh_workaround(host);
 
+#ifdef CONFIG_ATA_ACPI
 	/* apply gtf filter quirk */
 	ahci_gtf_filter_workaround(host);
+#endif
 
 	/* initialize adapter */
 	rc = ahci_configure_dma_masks(pdev, hpriv->cap & HOST_CAP_64);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drivers/ata/ahci build break.
  2009-10-09  6:27 [PATCH] drivers/ata/ahci build break Sachin Sant
@ 2009-10-09  6:46 ` Matthew Wilcox
  2009-10-09  7:00   ` Tejun Heo
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Wilcox @ 2009-10-09  6:46 UTC (permalink / raw)
  To: Sachin Sant; +Cc: linux-scsi, Jeff Garzik, James Bottomley, Tejun Heo

On Fri, Oct 09, 2009 at 11:57:46AM +0530, Sachin Sant wrote:
> @@ -2884,6 +2884,7 @@ static bool ahci_broken_online(struct pc
>  	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,7 @@ static void ahci_gtf_filter_workaround(s
>  				dev->gtf_filter |= filter;
>  	}
>  }
> +#endif
>  
>  static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>  {
> @@ -3093,8 +3095,10 @@ static int ahci_init_one(struct pci_dev
>  	/* apply workaround for ASUS P5W DH Deluxe mainboard */
>  	ahci_p5wdh_workaround(host);
>  
> +#ifdef CONFIG_ATA_ACPI
>  	/* apply gtf filter quirk */
>  	ahci_gtf_filter_workaround(host);
> +#endif

The usual way to do this is to make sure there's a dummy
ahci_gtf_filter_workaround so there doesn't have to be that ifdef in
the caller.  This is probably easier to do like this:

@@ -2884,6 +2884,7 @@ static bool ahci_broken_online(struct pc
 	return pdev->bus->number == (val >> 8) && pdev->devfn == (val & 0xff);
 }
 
 static void ahci_gtf_filter_workaround(struct ata_host *host)
 {
+#ifdef CONFIG_ATA_ACPI
 	static const struct dmi_system_id sysids[] = {
@@ -2927,6 +2928,7 @@ static void ahci_gtf_filter_workaround(s
 				dev->gtf_filter |= filter;
 	}
+#endif
 }
 
 static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 {

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drivers/ata/ahci build break.
  2009-10-09  6:46 ` Matthew Wilcox
@ 2009-10-09  7:00   ` Tejun Heo
  2009-10-09  8:18     ` Sachin Sant
  0 siblings, 1 reply; 4+ messages in thread
From: Tejun Heo @ 2009-10-09  7:00 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: Sachin Sant, linux-scsi, Jeff Garzik, James Bottomley

Matthew Wilcox wrote:
> The usual way to do this is to make sure there's a dummy
> ahci_gtf_filter_workaround so there doesn't have to be that ifdef in
> the caller.  This is probably easier to do like this:
> 
> @@ -2884,6 +2884,7 @@ static bool ahci_broken_online(struct pc
>  	return pdev->bus->number == (val >> 8) && pdev->devfn == (val & 0xff);
>  }
>  
>  static void ahci_gtf_filter_workaround(struct ata_host *host)
>  {
> +#ifdef CONFIG_ATA_ACPI
>  	static const struct dmi_system_id sysids[] = {
> @@ -2927,6 +2928,7 @@ static void ahci_gtf_filter_workaround(s
>  				dev->gtf_filter |= filter;
>  	}
> +#endif
>  }

Fix is already included in Jeff's tree.

Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drivers/ata/ahci build break.
  2009-10-09  7:00   ` Tejun Heo
@ 2009-10-09  8:18     ` Sachin Sant
  0 siblings, 0 replies; 4+ messages in thread
From: Sachin Sant @ 2009-10-09  8:18 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Matthew Wilcox, linux-scsi, Jeff Garzik, James Bottomley

Tejun Heo wrote:
> Matthew Wilcox wrote:
>   
>> The usual way to do this is to make sure there's a dummy
>> ahci_gtf_filter_workaround so there doesn't have to be that ifdef in
>> the caller.  This is probably easier to do like this:
>>
>> @@ -2884,6 +2884,7 @@ static bool ahci_broken_online(struct pc
>>  	return pdev->bus->number == (val >> 8) && pdev->devfn == (val & 0xff);
>>  }
>>  
>>  static void ahci_gtf_filter_workaround(struct ata_host *host)
>>  {
>> +#ifdef CONFIG_ATA_ACPI
>>  	static const struct dmi_system_id sysids[] = {
>> @@ -2927,6 +2928,7 @@ static void ahci_gtf_filter_workaround(s
>>  				dev->gtf_filter |= filter;
>>  	}
>> +#endif
>>  }
>>     
>
> Fix is already included in Jeff's tree.
>
> Thanks.
>
>   
Ah Thanks.

Regards
-Sachin


-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-10-09  8:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-09  6:27 [PATCH] drivers/ata/ahci build break Sachin Sant
2009-10-09  6:46 ` Matthew Wilcox
2009-10-09  7:00   ` Tejun Heo
2009-10-09  8:18     ` Sachin Sant

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).