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

Nigel Cunningham
2007-03-03T05:34:26Z

Hi.

On Sat, 2007-03-03 at 12:20 +0900, Tejun Heo wrote:
> 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. :-)

Yeah, I didn't look really carefully; an empty static function would
have been what I'd have written if I'd paid more attention.

> I'm working on a linker trick. Please take a look at the following thread.
>
> http://thread.gmane.org/gmane.linux.ide/16475

Not familiar with fancy things like that, so I'll just pipe down and
leave you to it :).

Regards,

Nigel