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 <s...@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 s...@canb.auug.org.au > http://www.canb.auug.org.au/~sfr/ > _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev