Message ID | 20090603153519.cd7049db.sfr@canb.auug.org.au (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
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/ >
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.
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;
[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(-)