Patchwork sound/ppc: update annotations of serveral functions

login
register
mail settings
Submitter Stephen Rothwell
Date June 3, 2009, 5:35 a.m.
Message ID <20090603153519.cd7049db.sfr@canb.auug.org.au>
Download mbox | patch
Permalink /patch/28037/
State Accepted
Headers show

Comments

Stephen Rothwell - June 3, 2009, 5:35 a.m.
[I am not sure if this is the correct approach as I don't know if any of
this actual hardware or drivers are really hot pluggable.]

Gets rid of these build warnings:

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_new().
If .snd_pmac_new is only used by .snd_pmac_probe then
annotate .snd_pmac_new with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_burgundy_init().
If .snd_pmac_burgundy_init is only used by .snd_pmac_probe then
annotate .snd_pmac_burgundy_init with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_daca_init().
If .snd_pmac_daca_init is only used by .snd_pmac_probe then
annotate .snd_pmac_daca_init with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_tumbler_init().
If .snd_pmac_tumbler_init is only used by .snd_pmac_probe then
annotate .snd_pmac_tumbler_init with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_tumbler_post_init().
If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe then
annotate .snd_pmac_tumbler_post_init with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_awacs_init().
If .snd_pmac_awacs_init is only used by .snd_pmac_probe then
annotate .snd_pmac_awacs_init with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_pcm_new().
If .snd_pmac_pcm_new is only used by .snd_pmac_probe then
annotate .snd_pmac_pcm_new with a matching annotation.

WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep()
The function __devinit .snd_pmac_probe() references
a function __init .snd_pmac_attach_beep().
If .snd_pmac_attach_beep is only used by .snd_pmac_probe then
annotate .snd_pmac_attach_beep with a matching annotation.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 sound/ppc/awacs.c    |    2 +-
 sound/ppc/beep.c     |    2 +-
 sound/ppc/burgundy.c |    2 +-
 sound/ppc/daca.c     |    2 +-
 sound/ppc/keywest.c  |    4 ++--
 sound/ppc/pmac.c     |    8 ++++----
 sound/ppc/tumbler.c  |    4 ++--
 7 files changed, 12 insertions(+), 12 deletions(-)
Takashi Iwai - June 3, 2009, 6:17 a.m.
At Wed, 3 Jun 2009 15:35:19 +1000,
Stephen Rothwell wrote:
> 
> [I am not sure if this is the correct approach as I don't know if any of
> this actual hardware or drivers are really hot pluggable.]

I thought it can be bound/unbound dynamically via sysfs.

Anyway, the patch looks correct, so I applied it now.
There were still places with __initdata (and one forgotten __init), so
I fixed them as well.

Thanks!

Takashi


> Gets rid of these build warnings:
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x5c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_new()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_new().
> If .snd_pmac_new is only used by .snd_pmac_probe then
> annotate .snd_pmac_new with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x10c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_burgundy_init()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_burgundy_init().
> If .snd_pmac_burgundy_init is only used by .snd_pmac_probe then
> annotate .snd_pmac_burgundy_init with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x164): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_daca_init()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_daca_init().
> If .snd_pmac_daca_init is only used by .snd_pmac_probe then
> annotate .snd_pmac_daca_init with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1dc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_init()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_tumbler_init().
> If .snd_pmac_tumbler_init is only used by .snd_pmac_probe then
> annotate .snd_pmac_tumbler_init with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x1ec): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_tumbler_post_init()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_tumbler_post_init().
> If .snd_pmac_tumbler_post_init is only used by .snd_pmac_probe then
> annotate .snd_pmac_tumbler_post_init with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x28c): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_awacs_init()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_awacs_init().
> If .snd_pmac_awacs_init is only used by .snd_pmac_probe then
> annotate .snd_pmac_awacs_init with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2bc): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_pcm_new()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_pcm_new().
> If .snd_pmac_pcm_new is only used by .snd_pmac_probe then
> annotate .snd_pmac_pcm_new with a matching annotation.
> 
> WARNING: sound/ppc/snd-powermac.o(.devinit.text+0x2f8): Section mismatch in reference from the function .snd_pmac_probe() to the function .init.text:.snd_pmac_attach_beep()
> The function __devinit .snd_pmac_probe() references
> a function __init .snd_pmac_attach_beep().
> If .snd_pmac_attach_beep is only used by .snd_pmac_probe then
> annotate .snd_pmac_attach_beep with a matching annotation.
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  sound/ppc/awacs.c    |    2 +-
>  sound/ppc/beep.c     |    2 +-
>  sound/ppc/burgundy.c |    2 +-
>  sound/ppc/daca.c     |    2 +-
>  sound/ppc/keywest.c  |    4 ++--
>  sound/ppc/pmac.c     |    8 ++++----
>  sound/ppc/tumbler.c  |    4 ++--
>  7 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/sound/ppc/awacs.c b/sound/ppc/awacs.c
> index 80df9b1..0d2d62d 100644
> --- a/sound/ppc/awacs.c
> +++ b/sound/ppc/awacs.c
> @@ -872,7 +872,7 @@ static void snd_pmac_awacs_update_automute(struct snd_pmac *chip, int do_notify)
>  /*
>   * initialize chip
>   */
> -int __init
> +int __devinit
>  snd_pmac_awacs_init(struct snd_pmac *chip)
>  {
>  	int pm7500 = IS_PM7500;
> diff --git a/sound/ppc/beep.c b/sound/ppc/beep.c
> index 89f5c32..a9d3507 100644
> --- a/sound/ppc/beep.c
> +++ b/sound/ppc/beep.c
> @@ -215,7 +215,7 @@ static struct snd_kcontrol_new snd_pmac_beep_mixer = {
>  };
>  
>  /* Initialize beep stuff */
> -int __init snd_pmac_attach_beep(struct snd_pmac *chip)
> +int __devinit snd_pmac_attach_beep(struct snd_pmac *chip)
>  {
>  	struct pmac_beep *beep;
>  	struct input_dev *input_dev;
> diff --git a/sound/ppc/burgundy.c b/sound/ppc/burgundy.c
> index 45a7629..aba3814 100644
> --- a/sound/ppc/burgundy.c
> +++ b/sound/ppc/burgundy.c
> @@ -618,7 +618,7 @@ static void snd_pmac_burgundy_update_automute(struct snd_pmac *chip, int do_noti
>  /*
>   * initialize burgundy
>   */
> -int __init snd_pmac_burgundy_init(struct snd_pmac *chip)
> +int __devinit snd_pmac_burgundy_init(struct snd_pmac *chip)
>  {
>  	int imac = machine_is_compatible("iMac");
>  	int i, err;
> diff --git a/sound/ppc/daca.c b/sound/ppc/daca.c
> index f8d478c..24200b7 100644
> --- a/sound/ppc/daca.c
> +++ b/sound/ppc/daca.c
> @@ -244,7 +244,7 @@ static void daca_cleanup(struct snd_pmac *chip)
>  }
>  
>  /* exported */
> -int __init snd_pmac_daca_init(struct snd_pmac *chip)
> +int __devinit snd_pmac_daca_init(struct snd_pmac *chip)
>  {
>  	int i, err;
>  	struct pmac_daca *mix;
> diff --git a/sound/ppc/keywest.c b/sound/ppc/keywest.c
> index a5afb26..15518e6 100644
> --- a/sound/ppc/keywest.c
> +++ b/sound/ppc/keywest.c
> @@ -109,7 +109,7 @@ void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c)
>  	}
>  }
>  
> -int __init snd_pmac_tumbler_post_init(void)
> +int __devinit snd_pmac_tumbler_post_init(void)
>  {
>  	int err;
>  	
> @@ -124,7 +124,7 @@ int __init snd_pmac_tumbler_post_init(void)
>  }
>  
>  /* exported */
> -int __init snd_pmac_keywest_init(struct pmac_keywest *i2c)
> +int __devinit snd_pmac_keywest_init(struct pmac_keywest *i2c)
>  {
>  	int err;
>  
> diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c
> index 9b4e9c3..dfea116 100644
> --- a/sound/ppc/pmac.c
> +++ b/sound/ppc/pmac.c
> @@ -702,7 +702,7 @@ static struct snd_pcm_ops snd_pmac_capture_ops = {
>  	.pointer =	snd_pmac_capture_pointer,
>  };
>  
> -int __init snd_pmac_pcm_new(struct snd_pmac *chip)
> +int __devinit snd_pmac_pcm_new(struct snd_pmac *chip)
>  {
>  	struct snd_pcm *pcm;
>  	int err;
> @@ -934,7 +934,7 @@ static void __init detect_byte_swap(struct snd_pmac *chip)
>  /*
>   * detect a sound chip
>   */
> -static int __init snd_pmac_detect(struct snd_pmac *chip)
> +static int __devinit snd_pmac_detect(struct snd_pmac *chip)
>  {
>  	struct device_node *sound;
>  	struct device_node *dn;
> @@ -1158,7 +1158,7 @@ static struct snd_kcontrol_new auto_mute_controls[] __initdata = {
>  	},
>  };
>  
> -int __init snd_pmac_add_automute(struct snd_pmac *chip)
> +int __devinit snd_pmac_add_automute(struct snd_pmac *chip)
>  {
>  	int err;
>  	chip->auto_mute = 1;
> @@ -1175,7 +1175,7 @@ int __init snd_pmac_add_automute(struct snd_pmac *chip)
>  /*
>   * create and detect a pmac chip record
>   */
> -int __init snd_pmac_new(struct snd_card *card, struct snd_pmac **chip_return)
> +int __devinit snd_pmac_new(struct snd_card *card, struct snd_pmac **chip_return)
>  {
>  	struct snd_pmac *chip;
>  	struct device_node *np;
> diff --git a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c
> index 40222fc..adc8341 100644
> --- a/sound/ppc/tumbler.c
> +++ b/sound/ppc/tumbler.c
> @@ -1269,7 +1269,7 @@ static void tumbler_resume(struct snd_pmac *chip)
>  #endif
>  
>  /* initialize tumbler */
> -static int __init tumbler_init(struct snd_pmac *chip)
> +static int __devinit tumbler_init(struct snd_pmac *chip)
>  {
>  	int irq;
>  	struct pmac_tumbler *mix = chip->mixer_data;
> @@ -1339,7 +1339,7 @@ static void tumbler_cleanup(struct snd_pmac *chip)
>  }
>  
>  /* exported */
> -int __init snd_pmac_tumbler_init(struct snd_pmac *chip)
> +int __devinit snd_pmac_tumbler_init(struct snd_pmac *chip)
>  {
>  	int i, err;
>  	struct pmac_tumbler *mix;
> -- 
> 1.6.3.1
> 
> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/
>
Stephen Rothwell - June 3, 2009, 7:05 a.m.
Hi Takashi,

On Wed, 03 Jun 2009 08:17:01 +0200 Takashi Iwai <tiwai@suse.de> wrote:
>
> At Wed, 3 Jun 2009 15:35:19 +1000,
> Stephen Rothwell wrote:
> > 
> > [I am not sure if this is the correct approach as I don't know if any of
> > this actual hardware or drivers are really hot pluggable.]
> 
> I thought it can be bound/unbound dynamically via sysfs.

Right.

> Anyway, the patch looks correct, so I applied it now.
> There were still places with __initdata (and one forgotten __init), so
> I fixed them as well.

Thanks for all that.

Patch

diff --git a/sound/ppc/awacs.c b/sound/ppc/awacs.c
index 80df9b1..0d2d62d 100644
--- a/sound/ppc/awacs.c
+++ b/sound/ppc/awacs.c
@@ -872,7 +872,7 @@  static void snd_pmac_awacs_update_automute(struct snd_pmac *chip, int do_notify)
 /*
  * initialize chip
  */
-int __init
+int __devinit
 snd_pmac_awacs_init(struct snd_pmac *chip)
 {
 	int pm7500 = IS_PM7500;
diff --git a/sound/ppc/beep.c b/sound/ppc/beep.c
index 89f5c32..a9d3507 100644
--- a/sound/ppc/beep.c
+++ b/sound/ppc/beep.c
@@ -215,7 +215,7 @@  static struct snd_kcontrol_new snd_pmac_beep_mixer = {
 };
 
 /* Initialize beep stuff */
-int __init snd_pmac_attach_beep(struct snd_pmac *chip)
+int __devinit snd_pmac_attach_beep(struct snd_pmac *chip)
 {
 	struct pmac_beep *beep;
 	struct input_dev *input_dev;
diff --git a/sound/ppc/burgundy.c b/sound/ppc/burgundy.c
index 45a7629..aba3814 100644
--- a/sound/ppc/burgundy.c
+++ b/sound/ppc/burgundy.c
@@ -618,7 +618,7 @@  static void snd_pmac_burgundy_update_automute(struct snd_pmac *chip, int do_noti
 /*
  * initialize burgundy
  */
-int __init snd_pmac_burgundy_init(struct snd_pmac *chip)
+int __devinit snd_pmac_burgundy_init(struct snd_pmac *chip)
 {
 	int imac = machine_is_compatible("iMac");
 	int i, err;
diff --git a/sound/ppc/daca.c b/sound/ppc/daca.c
index f8d478c..24200b7 100644
--- a/sound/ppc/daca.c
+++ b/sound/ppc/daca.c
@@ -244,7 +244,7 @@  static void daca_cleanup(struct snd_pmac *chip)
 }
 
 /* exported */
-int __init snd_pmac_daca_init(struct snd_pmac *chip)
+int __devinit snd_pmac_daca_init(struct snd_pmac *chip)
 {
 	int i, err;
 	struct pmac_daca *mix;
diff --git a/sound/ppc/keywest.c b/sound/ppc/keywest.c
index a5afb26..15518e6 100644
--- a/sound/ppc/keywest.c
+++ b/sound/ppc/keywest.c
@@ -109,7 +109,7 @@  void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c)
 	}
 }
 
-int __init snd_pmac_tumbler_post_init(void)
+int __devinit snd_pmac_tumbler_post_init(void)
 {
 	int err;
 	
@@ -124,7 +124,7 @@  int __init snd_pmac_tumbler_post_init(void)
 }
 
 /* exported */
-int __init snd_pmac_keywest_init(struct pmac_keywest *i2c)
+int __devinit snd_pmac_keywest_init(struct pmac_keywest *i2c)
 {
 	int err;
 
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c
index 9b4e9c3..dfea116 100644
--- a/sound/ppc/pmac.c
+++ b/sound/ppc/pmac.c
@@ -702,7 +702,7 @@  static struct snd_pcm_ops snd_pmac_capture_ops = {
 	.pointer =	snd_pmac_capture_pointer,
 };
 
-int __init snd_pmac_pcm_new(struct snd_pmac *chip)
+int __devinit snd_pmac_pcm_new(struct snd_pmac *chip)
 {
 	struct snd_pcm *pcm;
 	int err;
@@ -934,7 +934,7 @@  static void __init detect_byte_swap(struct snd_pmac *chip)
 /*
  * detect a sound chip
  */
-static int __init snd_pmac_detect(struct snd_pmac *chip)
+static int __devinit snd_pmac_detect(struct snd_pmac *chip)
 {
 	struct device_node *sound;
 	struct device_node *dn;
@@ -1158,7 +1158,7 @@  static struct snd_kcontrol_new auto_mute_controls[] __initdata = {
 	},
 };
 
-int __init snd_pmac_add_automute(struct snd_pmac *chip)
+int __devinit snd_pmac_add_automute(struct snd_pmac *chip)
 {
 	int err;
 	chip->auto_mute = 1;
@@ -1175,7 +1175,7 @@  int __init snd_pmac_add_automute(struct snd_pmac *chip)
 /*
  * create and detect a pmac chip record
  */
-int __init snd_pmac_new(struct snd_card *card, struct snd_pmac **chip_return)
+int __devinit snd_pmac_new(struct snd_card *card, struct snd_pmac **chip_return)
 {
 	struct snd_pmac *chip;
 	struct device_node *np;
diff --git a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c
index 40222fc..adc8341 100644
--- a/sound/ppc/tumbler.c
+++ b/sound/ppc/tumbler.c
@@ -1269,7 +1269,7 @@  static void tumbler_resume(struct snd_pmac *chip)
 #endif
 
 /* initialize tumbler */
-static int __init tumbler_init(struct snd_pmac *chip)
+static int __devinit tumbler_init(struct snd_pmac *chip)
 {
 	int irq;
 	struct pmac_tumbler *mix = chip->mixer_data;
@@ -1339,7 +1339,7 @@  static void tumbler_cleanup(struct snd_pmac *chip)
 }
 
 /* exported */
-int __init snd_pmac_tumbler_init(struct snd_pmac *chip)
+int __devinit snd_pmac_tumbler_init(struct snd_pmac *chip)
 {
 	int i, err;
 	struct pmac_tumbler *mix;