Re: [linux-pm] [PATCH 2/2 -stable] libata: add missing CONFIG_PM in LLDs

Tejun Heo
2007-03-03T03:20:39Z

Hello, Nigel.

Nigel Cunningham wrote:
>> Index: work1/drivers/ata/ahci.c
>> ===================================================================
>> --- work1.orig/drivers/ata/ahci.c
>> +++ work1/drivers/ata/ahci.c
>> @@ -225,10 +225,12 @@ static void ahci_thaw(struct ata_port *a
>> static void ahci_error_handler(struct ata_port *ap);
>> static void ahci_vt8251_error_handler(struct ata_port *ap);
>> static void ahci_post_internal_cmd(struct ata_queued_cmd *qc);
>> +#ifdef CONFIG_PM
>> static int ahci_port_suspend(struct ata_port *ap, pm_message_t mesg);
>> static int ahci_port_resume(struct ata_port *ap);
>> static int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
>> static int ahci_pci_device_resume(struct pci_dev *pdev);
>
> Wouldn't it be simpler to add
>
> #else
> #define ahci_port_suspend(port, message) (NULL)
>
> etc (or something similar)?

ahci_port_suspend() is used to fill ata_port_ops vector, so it needs to
be a function. If you're talking about defining NULL function, yeah,
that will remove half of CONFIG_PMs but would require dummy definitions
for all functions. I think both are ugly. :-)

I'm working on a linker trick. Please take a look at the following thread.

http://thread.gmane.org/gmane.linux.ide/16475

--
tejun