tree fb1cb8ad3fe86d656e22ca7d17e0fac4f5f9b6cb
parent 1ed247efa884858797c44e5188eb190a4940c30f
author Luis R. Rodriguez <mcgrof@kernel.org> 1480468240 -0800
committer Luis R. Rodriguez <mcgrof@kernel.org> 1480542566 -0800

parisc: remove __init from a slew of bus probe routines

We get a warning mismatch at compilation with somethin like
the following:

  LD      drivers/parisc/built-in.o
WARNING: drivers/parisc/built-in.o(.data+0x1ac): Section mismatch in reference from the variable lba_driver to the function .init.text:lba_driver_probe()
The variable lba_driver references
the function __init lba_driver_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

This is repated for all of these:

The variable asp_driver references the function __init asp_init_chip()
The variable builtin_serial_mux_driver references the function __init mux_probe()
The variable ccio_driver references the function __init ccio_probe()
The variable dino_driver references the function __init dino_probe()
The variable eisa_driver references the function __init eisa_probe()
The variable hp_sdc_driver references the function __init hp_sdc_init_hppa()
The variable lasi700_driver references the function __init lasi700_probe()
The variable lasi_driver references the function __init lasi_init_chip()
The variable lasi_driver references the function __init serial_init_chip()
The variable lba_driver references the function __init lba_driver_probe()
The variable serial_driver references the function __init serial_init_chip()
The variable serial_mux_driver references the function __init mux_probe()
The variable superio_driver references the function __init superio_probe()
The variable wax_driver references the function __init wax_init_chip()
The variable zalon_driver references the function __init zalon_probe()

Its all the same issue -- bus drivers are *can* run safely on init but
the core bus can also enable deferred probe and so there is no gaurantee
these calls are safe to if any of these drivers decide to start using
such mechanisms. To avoid issues just avoid __init on these bus probe
routines.

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
