lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sat, 11 Oct 2008 01:23:29 +0200
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] ide: add proper PCI PM support

On Friday, 10 of October 2008, Bartlomiej Zolnierkiewicz wrote:
> On Wednesday 20 August 2008, Andrew Morton wrote:
> > On Sat, 2 Aug 2008 19:17:04 +0200
> > Bartlomiej Zolnierkiewicz <bzolnier@...il.com> wrote:
> > 
> > > -static unsigned int __devinit init_chipset_aec62xx(struct pci_dev *dev)
> > > +static unsigned int init_chipset_aec62xx(struct pci_dev *dev)
> > >  {
> > >  	/* These are necessary to get AEC6280 Macintosh cards to work */
> > >  	if ((dev->device == PCI_DEVICE_ID_ARTOP_ATP865) ||
> > > @@ -307,6 +307,10 @@ static struct pci_driver driver = {
> > >  	.id_table	= aec62xx_pci_tbl,
> > >  	.probe		= aec62xx_init_one,
> > >  	.remove		= aec62xx_remove,
> > > +#ifdef CONFIG_PM
> > > +	.suspend	= ide_pci_suspend,
> > > +	.resume		= ide_pci_resume,
> > > +#endif
> > >  };
> > >  
> > >  static int __init aec62xx_ide_init(void)
> > > Index: b/drivers/ide/pci/alim15x3.c
> > > ===================================================================
> > > --- a/drivers/ide/pci/alim15x3.c
> > > +++ b/drivers/ide/pci/alim15x3.c
> > > @@ -213,7 +213,7 @@ static int ali15x3_dma_setup(ide_drive_t
> > >   *	appropriate also sets up the 1533 southbridge.
> > >   */
> > >  
> > > -static unsigned int __devinit init_chipset_ali15x3(struct pci_dev *dev)
> > > +static unsigned int init_chipset_ali15x3(struct pci_dev *dev)
> > >  {
> > >  	unsigned long flags;
> > >  	u8 tmpbyte;
> > > @@ -581,6 +581,10 @@ static struct pci_driver driver = {
> > >  	.id_table	= alim15x3_pci_tbl,
> > >  	.probe		= alim15x3_init_one,
> > >  	.remove		= ide_pci_remove,
> > > +#ifdef CONFIG_PM
> > > +	.suspend	= ide_pci_suspend,
> > > +	.resume		= ide_pci_resume,
> > > +#endif
> > 
> > Please do
> > 
> > #ifndef CONFIG_PM
> > #define ide_pci_suspend NULL
> > #define ide_pci_resume NULL
> > #endif
> > 
> > in a header file and then remove all these ifdefs.
> > 
> > It's a pretty common convention and will clean things up rather a lot.
> 
> Thanks for the hint.
> 
> "better late than never" v1 -> v2 inter-diff:

Looks good to me, FWIW.

> ...
> v2:
> * Cleanup CONFIG_PM #ifdef-s per akpm's suggestion.
> 
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> ...
> 
> diff -u b/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c
> --- b/drivers/ide/pci/aec62xx.c
> +++ b/drivers/ide/pci/aec62xx.c
> @@ -307,10 +307,8 @@
>  	.id_table	= aec62xx_pci_tbl,
>  	.probe		= aec62xx_init_one,
>  	.remove		= __devexit_p(aec62xx_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init aec62xx_ide_init(void)
> diff -u b/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c
> --- b/drivers/ide/pci/alim15x3.c
> +++ b/drivers/ide/pci/alim15x3.c
> @@ -581,10 +581,8 @@
>  	.id_table	= alim15x3_pci_tbl,
>  	.probe		= alim15x3_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init ali15x3_ide_init(void)
> diff -u b/drivers/ide/pci/amd74xx.c b/drivers/ide/pci/amd74xx.c
> --- b/drivers/ide/pci/amd74xx.c
> +++ b/drivers/ide/pci/amd74xx.c
> @@ -324,10 +324,8 @@
>  	.id_table	= amd74xx_pci_tbl,
>  	.probe		= amd74xx_probe,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init amd74xx_ide_init(void)
> diff -u b/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c
> --- b/drivers/ide/pci/atiixp.c
> +++ b/drivers/ide/pci/atiixp.c
> @@ -187,10 +187,8 @@
>  	.id_table	= atiixp_pci_tbl,
>  	.probe		= atiixp_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init atiixp_ide_init(void)
> diff -u b/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c
> --- b/drivers/ide/pci/cmd64x.c
> +++ b/drivers/ide/pci/cmd64x.c
> @@ -510,10 +510,8 @@
>  	.id_table	= cmd64x_pci_tbl,
>  	.probe		= cmd64x_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init cmd64x_ide_init(void)
> diff -u b/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c
> --- b/drivers/ide/pci/cs5520.c
> +++ b/drivers/ide/pci/cs5520.c
> @@ -149,10 +149,8 @@
>  	.name		= "Cyrix_IDE",
>  	.id_table	= cs5520_pci_tbl,
>  	.probe		= cs5520_init_one,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init cs5520_ide_init(void)
> diff -u b/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c
> --- b/drivers/ide/pci/cs5530.c
> +++ b/drivers/ide/pci/cs5530.c
> @@ -272,10 +272,8 @@
>  	.id_table	= cs5530_pci_tbl,
>  	.probe		= cs5530_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init cs5530_ide_init(void)
> diff -u b/drivers/ide/pci/cs5535.c b/drivers/ide/pci/cs5535.c
> --- b/drivers/ide/pci/cs5535.c
> +++ b/drivers/ide/pci/cs5535.c
> @@ -197,10 +197,8 @@
>  	.id_table	= cs5535_pci_tbl,
>  	.probe		= cs5535_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init cs5535_ide_init(void)
> diff -u b/drivers/ide/pci/cy82c693.c b/drivers/ide/pci/cy82c693.c
> --- b/drivers/ide/pci/cy82c693.c
> +++ b/drivers/ide/pci/cy82c693.c
> @@ -448,10 +448,8 @@
>  	.id_table	= cy82c693_pci_tbl,
>  	.probe		= cy82c693_init_one,
>  	.remove		= __devexit_p(cy82c693_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init cy82c693_ide_init(void)
> diff -u b/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c
> --- b/drivers/ide/pci/generic.c
> +++ b/drivers/ide/pci/generic.c
> @@ -171,10 +171,8 @@
>  	.id_table	= generic_pci_tbl,
>  	.probe		= generic_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init generic_ide_init(void)
> diff -u b/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c
> --- b/drivers/ide/pci/hpt34x.c
> +++ b/drivers/ide/pci/hpt34x.c
> @@ -171,10 +171,8 @@
>  	.id_table	= hpt34x_pci_tbl,
>  	.probe		= hpt34x_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init hpt34x_ide_init(void)
> diff -u b/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c
> --- b/drivers/ide/pci/hpt366.c
> +++ b/drivers/ide/pci/hpt366.c
> @@ -1627,10 +1627,8 @@
>  	.id_table	= hpt366_pci_tbl,
>  	.probe		= hpt366_init_one,
>  	.remove		= __devexit_p(hpt366_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init hpt366_ide_init(void)
> diff -u b/drivers/ide/pci/it8213.c b/drivers/ide/pci/it8213.c
> --- b/drivers/ide/pci/it8213.c
> +++ b/drivers/ide/pci/it8213.c
> @@ -194,10 +194,8 @@
>  	.id_table	= it8213_pci_tbl,
>  	.probe		= it8213_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init it8213_ide_init(void)
> diff -u b/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c
> --- b/drivers/ide/pci/it821x.c
> +++ b/drivers/ide/pci/it821x.c
> @@ -685,10 +685,8 @@
>  	.id_table	= it821x_pci_tbl,
>  	.probe		= it821x_init_one,
>  	.remove		= __devexit_p(it821x_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init it821x_ide_init(void)
> diff -u b/drivers/ide/pci/jmicron.c b/drivers/ide/pci/jmicron.c
> --- b/drivers/ide/pci/jmicron.c
> +++ b/drivers/ide/pci/jmicron.c
> @@ -154,10 +154,8 @@
>  	.id_table	= jmicron_pci_tbl,
>  	.probe		= jmicron_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init jmicron_ide_init(void)
> diff -u b/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c
> --- b/drivers/ide/pci/ns87415.c
> +++ b/drivers/ide/pci/ns87415.c
> @@ -339,10 +339,8 @@
>  	.id_table	= ns87415_pci_tbl,
>  	.probe		= ns87415_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init ns87415_ide_init(void)
> diff -u b/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c
> --- b/drivers/ide/pci/opti621.c
> +++ b/drivers/ide/pci/opti621.c
> @@ -225,10 +225,8 @@
>  	.id_table	= opti621_pci_tbl,
>  	.probe		= opti621_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init opti621_ide_init(void)
> diff -u b/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c
> --- b/drivers/ide/pci/pdc202xx_new.c
> +++ b/drivers/ide/pci/pdc202xx_new.c
> @@ -566,10 +566,8 @@
>  	.id_table	= pdc202new_pci_tbl,
>  	.probe		= pdc202new_init_one,
>  	.remove		= __devexit_p(pdc202new_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init pdc202new_ide_init(void)
> diff -u b/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c
> --- b/drivers/ide/pci/pdc202xx_old.c
> +++ b/drivers/ide/pci/pdc202xx_old.c
> @@ -431,10 +431,8 @@
>  	.id_table	= pdc202xx_pci_tbl,
>  	.probe		= pdc202xx_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init pdc202xx_ide_init(void)
> diff -u b/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c
> --- b/drivers/ide/pci/piix.c
> +++ b/drivers/ide/pci/piix.c
> @@ -449,10 +449,8 @@
>  	.id_table	= piix_pci_tbl,
>  	.probe		= piix_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init piix_ide_init(void)
> diff -u b/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c
> --- b/drivers/ide/pci/serverworks.c
> +++ b/drivers/ide/pci/serverworks.c
> @@ -448,10 +448,8 @@
>  	.id_table	= svwks_pci_tbl,
>  	.probe		= svwks_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init svwks_ide_init(void)
> diff -u b/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c
> --- b/drivers/ide/pci/siimage.c
> +++ b/drivers/ide/pci/siimage.c
> @@ -834,10 +834,8 @@
>  	.id_table	= siimage_pci_tbl,
>  	.probe		= siimage_init_one,
>  	.remove		= __devexit_p(siimage_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init siimage_ide_init(void)
> diff -u b/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c
> --- b/drivers/ide/pci/sis5513.c
> +++ b/drivers/ide/pci/sis5513.c
> @@ -610,10 +610,8 @@
>  	.id_table	= sis5513_pci_tbl,
>  	.probe		= sis5513_init_one,
>  	.remove		= __devexit_p(sis5513_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init sis5513_ide_init(void)
> diff -u b/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c
> --- b/drivers/ide/pci/sl82c105.c
> +++ b/drivers/ide/pci/sl82c105.c
> @@ -350,10 +350,8 @@
>  	.id_table	= sl82c105_pci_tbl,
>  	.probe		= sl82c105_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init sl82c105_ide_init(void)
> diff -u b/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c
> --- b/drivers/ide/pci/slc90e66.c
> +++ b/drivers/ide/pci/slc90e66.c
> @@ -159,10 +159,8 @@
>  	.id_table	= slc90e66_pci_tbl,
>  	.probe		= slc90e66_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init slc90e66_ide_init(void)
> diff -u b/drivers/ide/pci/triflex.c b/drivers/ide/pci/triflex.c
> --- b/drivers/ide/pci/triflex.c
> +++ b/drivers/ide/pci/triflex.c
> @@ -119,10 +119,8 @@
>  	.id_table	= triflex_pci_tbl,
>  	.probe		= triflex_init_one,
>  	.remove		= ide_pci_remove,
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init triflex_ide_init(void)
> diff -u b/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c
> --- b/drivers/ide/pci/via82cxxx.c
> +++ b/drivers/ide/pci/via82cxxx.c
> @@ -492,10 +492,8 @@
>  	.id_table 	= via_pci_tbl,
>  	.probe 		= via_init_one,
>  	.remove		= __devexit_p(via_remove),
> -#ifdef CONFIG_PM
>  	.suspend	= ide_pci_suspend,
>  	.resume		= ide_pci_resume,
> -#endif
>  };
>  
>  static int __init via_ide_init(void)
> diff -u b/include/linux/ide.h b/include/linux/ide.h
> --- b/include/linux/ide.h
> +++ b/include/linux/ide.h
> @@ -1269,6 +1269,9 @@
>  #ifdef CONFIG_PM
>  int ide_pci_suspend(struct pci_dev *, pm_message_t);
>  int ide_pci_resume(struct pci_dev *);
> +#else
> +#define ide_pci_suspend NULL
> +#define ide_pci_resume NULL
>  #endif
>  
>  void ide_map_sg(ide_drive_t *, struct request *);
> 
> 
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ