* [PATCH 491/493] sound: remove use of __devexit
From: Bill Pemberton @ 2012-11-19 18:27 UTC (permalink / raw)
To: gregkh
Cc: alsa-devel, Philipp Zabel, Takashi Iwai, Clemens Ladisch,
Jaroslav Kysela, Peter Ujfalusi, M R Swami Reddy,
device-drivers-devel, Kukjin Kim, Russell King, patches,
Vishwas A Deshpande, Paul Parsons, Thibaut Varene, Haojian Zhuang,
linux-samsung-soc, Ben Dooks, linux-omap, linux-arm-kernel,
Jaya Kumar, Eric Miao, linux-parisc, uclinux-dist-devel,
linuxppc-dev, Jarkko Nikula
In-Reply-To: <1353349642-3677-1-git-send-email-wfp5p@virginia.edu>
CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Clemens Ladisch <clemens@ladisch.de>
Cc: Thibaut Varene <T-Bone@parisc-linux.org>
Cc: Jaya Kumar <jayakumar.alsa@gmail.com>
Cc: M R Swami Reddy <mr.swami.reddy@ti.com>
Cc: Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Paul Parsons <lost.distance@yahoo.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: alsa-devel@alsa-project.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-parisc@vger.kernel.org
Cc: uclinux-dist-devel@blackfin.uclinux.org
Cc: device-drivers-devel@blackfin.uclinux.org
Cc: patches@opensource.wolfsonmicro.com
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-omap@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
---
sound/arm/aaci.c | 2 +-
sound/arm/pxa2xx-ac97.c | 2 +-
sound/atmel/abdac.c | 2 +-
sound/atmel/ac97c.c | 2 +-
sound/drivers/aloop.c | 2 +-
sound/drivers/dummy.c | 2 +-
sound/drivers/mpu401/mpu401.c | 4 ++--
sound/drivers/mtpav.c | 2 +-
sound/drivers/mts64.c | 2 +-
sound/drivers/pcsp/pcsp.c | 4 ++--
sound/drivers/portman2x4.c | 2 +-
sound/drivers/serial-u16550.c | 2 +-
sound/drivers/virmidi.c | 2 +-
sound/firewire/speakers.c | 2 +-
sound/isa/ad1816a/ad1816a.c | 2 +-
sound/isa/ad1848/ad1848.c | 2 +-
sound/isa/adlib.c | 2 +-
sound/isa/als100.c | 2 +-
sound/isa/azt2320.c | 2 +-
sound/isa/cmi8328.c | 2 +-
sound/isa/cmi8330.c | 4 ++--
sound/isa/cs423x/cs4231.c | 2 +-
sound/isa/cs423x/cs4236.c | 6 +++---
sound/isa/es1688/es1688.c | 4 ++--
sound/isa/es18xx.c | 6 +++---
sound/isa/galaxy/galaxy.c | 2 +-
sound/isa/gus/gusclassic.c | 2 +-
sound/isa/gus/gusextreme.c | 2 +-
sound/isa/gus/gusmax.c | 2 +-
sound/isa/gus/interwave.c | 4 ++--
sound/isa/msnd/msnd_pinnacle.c | 6 +++---
sound/isa/opl3sa2.c | 6 +++---
sound/isa/opti9xx/miro.c | 4 ++--
sound/isa/opti9xx/opti92x-ad1848.c | 4 ++--
sound/isa/sb/jazz16.c | 2 +-
sound/isa/sb/sb16.c | 4 ++--
sound/isa/sb/sb8.c | 2 +-
sound/isa/sc6000.c | 2 +-
sound/isa/sscape.c | 4 ++--
sound/isa/wavefront/wavefront.c | 4 ++--
sound/mips/hal2.c | 2 +-
sound/mips/sgio2audio.c | 2 +-
sound/oss/kahlua.c | 4 ++--
sound/parisc/harmony.c | 2 +-
sound/pci/ad1889.c | 2 +-
sound/pci/ali5451/ali5451.c | 2 +-
sound/pci/als300.c | 2 +-
sound/pci/als4000.c | 2 +-
sound/pci/asihpi/asihpi.c | 2 +-
sound/pci/asihpi/hpioctl.c | 2 +-
sound/pci/asihpi/hpioctl.h | 2 +-
sound/pci/atiixp.c | 2 +-
sound/pci/atiixp_modem.c | 2 +-
sound/pci/au88x0/au88x0.c | 2 +-
sound/pci/aw2/aw2-alsa.c | 4 ++--
sound/pci/azt3328.c | 2 +-
sound/pci/bt87x.c | 2 +-
sound/pci/ca0106/ca0106_main.c | 2 +-
sound/pci/cmipci.c | 2 +-
sound/pci/cs4281.c | 2 +-
sound/pci/cs46xx/cs46xx.c | 2 +-
sound/pci/cs5530.c | 2 +-
sound/pci/cs5535audio/cs5535audio.c | 2 +-
sound/pci/cs5535audio/cs5535audio.h | 2 +-
sound/pci/cs5535audio/cs5535audio_olpc.c | 2 +-
sound/pci/ctxfi/xfi.c | 2 +-
sound/pci/echoaudio/echoaudio.c | 2 +-
sound/pci/emu10k1/emu10k1.c | 2 +-
sound/pci/emu10k1/emu10k1x.c | 2 +-
sound/pci/ens1370.c | 2 +-
sound/pci/es1938.c | 2 +-
sound/pci/es1968.c | 2 +-
sound/pci/fm801.c | 2 +-
sound/pci/hda/hda_intel.c | 2 +-
sound/pci/ice1712/ice1712.c | 2 +-
sound/pci/ice1712/ice1724.c | 2 +-
sound/pci/intel8x0.c | 2 +-
sound/pci/intel8x0m.c | 2 +-
sound/pci/korg1212/korg1212.c | 2 +-
sound/pci/lola/lola.c | 2 +-
sound/pci/lx6464es/lx6464es.c | 2 +-
sound/pci/maestro3.c | 2 +-
sound/pci/mixart/mixart.c | 2 +-
sound/pci/nm256/nm256.c | 2 +-
sound/pci/pcxhr/pcxhr.c | 2 +-
sound/pci/riptide/riptide.c | 4 ++--
sound/pci/rme32.c | 2 +-
sound/pci/rme96.c | 2 +-
sound/pci/rme9652/hdsp.c | 2 +-
sound/pci/rme9652/hdspm.c | 2 +-
sound/pci/rme9652/rme9652.c | 2 +-
sound/pci/sis7019.c | 2 +-
sound/pci/sonicvibes.c | 2 +-
sound/pci/trident/trident.c | 2 +-
sound/pci/via82xx.c | 2 +-
sound/pci/via82xx_modem.c | 2 +-
sound/pci/vx222/vx222.c | 2 +-
sound/pci/ymfpci/ymfpci.c | 2 +-
sound/ppc/powermac.c | 2 +-
sound/sh/aica.c | 2 +-
sound/soc/atmel/atmel-pcm.c | 2 +-
sound/soc/atmel/atmel_ssc_dai.c | 2 +-
sound/soc/atmel/sam9g20_wm8731.c | 2 +-
sound/soc/au1x/ac97c.c | 2 +-
sound/soc/au1x/db1000.c | 2 +-
sound/soc/au1x/db1200.c | 2 +-
sound/soc/au1x/dbdma2.c | 2 +-
sound/soc/au1x/dma.c | 2 +-
sound/soc/au1x/i2sc.c | 2 +-
sound/soc/au1x/psc-ac97.c | 2 +-
sound/soc/au1x/psc-i2s.c | 2 +-
sound/soc/blackfin/bf5xx-ac97-pcm.c | 2 +-
sound/soc/blackfin/bf5xx-ac97.c | 2 +-
sound/soc/blackfin/bf5xx-ad1836.c | 2 +-
sound/soc/blackfin/bf5xx-i2s-pcm.c | 2 +-
sound/soc/blackfin/bf5xx-i2s.c | 2 +-
sound/soc/blackfin/bf5xx-tdm-pcm.c | 2 +-
sound/soc/blackfin/bf5xx-tdm.c | 2 +-
sound/soc/blackfin/bf6xx-i2s.c | 2 +-
sound/soc/blackfin/bfin-eval-adau1373.c | 2 +-
sound/soc/blackfin/bfin-eval-adau1701.c | 2 +-
sound/soc/blackfin/bfin-eval-adav80x.c | 2 +-
sound/soc/cirrus/edb93xx.c | 2 +-
sound/soc/cirrus/ep93xx-ac97.c | 2 +-
sound/soc/cirrus/ep93xx-i2s.c | 2 +-
sound/soc/cirrus/ep93xx-pcm.c | 2 +-
sound/soc/cirrus/simone.c | 2 +-
sound/soc/cirrus/snappercl15.c | 2 +-
sound/soc/codecs/88pm860x-codec.c | 2 +-
sound/soc/codecs/ab8500-codec.c | 2 +-
sound/soc/codecs/ac97.c | 2 +-
sound/soc/codecs/ad1836.c | 2 +-
sound/soc/codecs/ad193x.c | 4 ++--
sound/soc/codecs/ad1980.c | 2 +-
sound/soc/codecs/ad73311.c | 2 +-
sound/soc/codecs/adau1373.c | 2 +-
sound/soc/codecs/adau1701.c | 2 +-
sound/soc/codecs/adav80x.c | 6 +++---
sound/soc/codecs/ads117x.c | 2 +-
sound/soc/codecs/ak4104.c | 2 +-
sound/soc/codecs/ak4535.c | 2 +-
sound/soc/codecs/ak4641.c | 2 +-
sound/soc/codecs/ak4642.c | 2 +-
sound/soc/codecs/ak4671.c | 2 +-
sound/soc/codecs/alc5623.c | 2 +-
sound/soc/codecs/alc5632.c | 2 +-
sound/soc/codecs/cs4271.c | 4 ++--
sound/soc/codecs/cs42l73.c | 2 +-
sound/soc/codecs/da7210.c | 4 ++--
sound/soc/codecs/da732x.c | 2 +-
sound/soc/codecs/da9055.c | 2 +-
sound/soc/codecs/dfbmcs320.c | 2 +-
sound/soc/codecs/dmic.c | 2 +-
sound/soc/codecs/isabelle.c | 2 +-
sound/soc/codecs/jz4740.c | 2 +-
sound/soc/codecs/lm4857.c | 2 +-
sound/soc/codecs/lm49453.c | 2 +-
sound/soc/codecs/max9768.c | 2 +-
sound/soc/codecs/max98088.c | 2 +-
sound/soc/codecs/max98095.c | 2 +-
sound/soc/codecs/max9850.c | 2 +-
sound/soc/codecs/max9877.c | 2 +-
sound/soc/codecs/ml26124.c | 2 +-
sound/soc/codecs/omap-hdmi.c | 2 +-
sound/soc/codecs/pcm3008.c | 2 +-
sound/soc/codecs/rt5631.c | 2 +-
sound/soc/codecs/sgtl5000.c | 2 +-
sound/soc/codecs/si476x.c | 2 +-
sound/soc/codecs/sn95031.c | 2 +-
sound/soc/codecs/ssm2602.c | 4 ++--
sound/soc/codecs/sta32x.c | 2 +-
sound/soc/codecs/sta529.c | 2 +-
sound/soc/codecs/stac9766.c | 2 +-
sound/soc/codecs/tlv320aic32x4.c | 2 +-
sound/soc/codecs/tlv320dac33.c | 2 +-
sound/soc/codecs/tpa6130a2.c | 2 +-
sound/soc/codecs/twl4030.c | 2 +-
sound/soc/codecs/twl6040.c | 2 +-
sound/soc/codecs/uda134x.c | 2 +-
sound/soc/codecs/uda1380.c | 2 +-
sound/soc/codecs/wl1273.c | 2 +-
sound/soc/codecs/wm0010.c | 2 +-
sound/soc/codecs/wm1250-ev1.c | 2 +-
sound/soc/codecs/wm2000.c | 2 +-
sound/soc/codecs/wm2200.c | 2 +-
sound/soc/codecs/wm5100.c | 2 +-
sound/soc/codecs/wm5102.c | 2 +-
sound/soc/codecs/wm5110.c | 2 +-
sound/soc/codecs/wm8350.c | 2 +-
sound/soc/codecs/wm8400.c | 2 +-
sound/soc/codecs/wm8510.c | 4 ++--
sound/soc/codecs/wm8523.c | 2 +-
sound/soc/codecs/wm8711.c | 4 ++--
sound/soc/codecs/wm8727.c | 2 +-
sound/soc/codecs/wm8728.c | 4 ++--
sound/soc/codecs/wm8731.c | 4 ++--
sound/soc/codecs/wm8737.c | 4 ++--
sound/soc/codecs/wm8741.c | 2 +-
sound/soc/codecs/wm8750.c | 4 ++--
sound/soc/codecs/wm8753.c | 4 ++--
sound/soc/codecs/wm8770.c | 2 +-
sound/soc/codecs/wm8776.c | 4 ++--
sound/soc/codecs/wm8782.c | 2 +-
sound/soc/codecs/wm8804.c | 4 ++--
sound/soc/codecs/wm8900.c | 4 ++--
sound/soc/codecs/wm8903.c | 2 +-
sound/soc/codecs/wm8904.c | 2 +-
sound/soc/codecs/wm8940.c | 2 +-
sound/soc/codecs/wm8955.c | 2 +-
sound/soc/codecs/wm8960.c | 2 +-
sound/soc/codecs/wm8961.c | 2 +-
sound/soc/codecs/wm8962.c | 2 +-
sound/soc/codecs/wm8971.c | 2 +-
sound/soc/codecs/wm8974.c | 2 +-
sound/soc/codecs/wm8978.c | 2 +-
sound/soc/codecs/wm8983.c | 4 ++--
sound/soc/codecs/wm8985.c | 4 ++--
sound/soc/codecs/wm8988.c | 4 ++--
sound/soc/codecs/wm8990.c | 2 +-
sound/soc/codecs/wm8991.c | 2 +-
sound/soc/codecs/wm8993.c | 2 +-
sound/soc/codecs/wm8994.c | 2 +-
sound/soc/codecs/wm8995.c | 4 ++--
sound/soc/codecs/wm8996.c | 2 +-
sound/soc/codecs/wm9081.c | 2 +-
sound/soc/codecs/wm9090.c | 2 +-
sound/soc/codecs/wm9705.c | 2 +-
sound/soc/codecs/wm9712.c | 2 +-
sound/soc/codecs/wm9713.c | 2 +-
sound/soc/fsl/eukrea-tlv320.c | 2 +-
sound/soc/fsl/fsl_dma.c | 2 +-
sound/soc/fsl/imx-audmux.c | 4 ++--
sound/soc/fsl/imx-mc13783.c | 2 +-
sound/soc/fsl/imx-pcm-dma.c | 2 +-
sound/soc/fsl/imx-pcm-fiq.c | 2 +-
sound/soc/fsl/imx-sgtl5000.c | 2 +-
sound/soc/fsl/imx-ssi.c | 2 +-
sound/soc/fsl/mpc5200_psc_ac97.c | 2 +-
sound/soc/fsl/mpc5200_psc_i2s.c | 2 +-
sound/soc/fsl/mpc8610_hpcd.c | 2 +-
sound/soc/fsl/mx27vis-aic32x4.c | 2 +-
sound/soc/fsl/p1022_ds.c | 2 +-
sound/soc/fsl/p1022_rdk.c | 2 +-
sound/soc/fsl/pcm030-audio-fabric.c | 2 +-
sound/soc/jz4740/jz4740-i2s.c | 2 +-
sound/soc/jz4740/jz4740-pcm.c | 2 +-
sound/soc/jz4740/qi_lb60.c | 2 +-
sound/soc/kirkwood/kirkwood-dma.c | 2 +-
sound/soc/kirkwood/kirkwood-i2s.c | 2 +-
sound/soc/kirkwood/kirkwood-openrd.c | 2 +-
sound/soc/kirkwood/kirkwood-t5325.c | 2 +-
sound/soc/mid-x86/mfld_machine.c | 2 +-
sound/soc/mxs/mxs-pcm.c | 2 +-
sound/soc/mxs/mxs-saif.c | 2 +-
sound/soc/mxs/mxs-sgtl5000.c | 2 +-
sound/soc/nuc900/nuc900-ac97.c | 2 +-
sound/soc/nuc900/nuc900-pcm.c | 2 +-
sound/soc/omap/ams-delta.c | 2 +-
sound/soc/omap/mcbsp.c | 2 +-
sound/soc/omap/mcbsp.h | 2 +-
sound/soc/omap/omap-abe-twl6040.c | 2 +-
sound/soc/omap/omap-dmic.c | 2 +-
sound/soc/omap/omap-hdmi-card.c | 2 +-
sound/soc/omap/omap-hdmi.c | 2 +-
sound/soc/omap/omap-mcbsp.c | 2 +-
sound/soc/omap/omap-mcpdm.c | 2 +-
sound/soc/omap/omap-pcm.c | 2 +-
sound/soc/omap/omap-twl4030.c | 2 +-
sound/soc/pxa/brownstone.c | 2 +-
sound/soc/pxa/corgi.c | 2 +-
sound/soc/pxa/e740_wm9705.c | 2 +-
sound/soc/pxa/e750_wm9705.c | 2 +-
sound/soc/pxa/e800_wm9712.c | 2 +-
sound/soc/pxa/hx4700.c | 2 +-
sound/soc/pxa/imote2.c | 2 +-
sound/soc/pxa/mioa701_wm9713.c | 2 +-
sound/soc/pxa/mmp-pcm.c | 2 +-
sound/soc/pxa/mmp-sspa.c | 2 +-
sound/soc/pxa/palm27x.c | 2 +-
sound/soc/pxa/poodle.c | 2 +-
sound/soc/pxa/pxa-ssp.c | 2 +-
sound/soc/pxa/pxa2xx-ac97.c | 2 +-
sound/soc/pxa/pxa2xx-i2s.c | 2 +-
sound/soc/pxa/pxa2xx-pcm.c | 2 +-
sound/soc/pxa/tosa.c | 2 +-
sound/soc/pxa/ttc-dkb.c | 2 +-
sound/soc/s6000/s6000-i2s.c | 2 +-
sound/soc/s6000/s6000-pcm.c | 2 +-
sound/soc/samsung/ac97.c | 2 +-
sound/soc/samsung/bells.c | 2 +-
sound/soc/samsung/dma.c | 2 +-
sound/soc/samsung/i2s.c | 2 +-
sound/soc/samsung/idma.c | 2 +-
sound/soc/samsung/littlemill.c | 2 +-
sound/soc/samsung/lowland.c | 2 +-
sound/soc/samsung/pcm.c | 2 +-
sound/soc/samsung/s3c2412-i2s.c | 2 +-
sound/soc/samsung/s3c24xx-i2s.c | 2 +-
sound/soc/samsung/s3c24xx_simtec.c | 2 +-
sound/soc/samsung/smdk_wm8580pcm.c | 2 +-
sound/soc/samsung/smdk_wm8994.c | 2 +-
sound/soc/samsung/smdk_wm8994pcm.c | 2 +-
sound/soc/samsung/spdif.c | 2 +-
sound/soc/samsung/speyside.c | 2 +-
sound/soc/samsung/tobermory.c | 2 +-
sound/soc/sh/dma-sh7760.c | 2 +-
sound/soc/sh/hac.c | 2 +-
sound/soc/sh/siu_dai.c | 2 +-
sound/soc/sh/ssi.c | 2 +-
sound/soc/soc-utils.c | 2 +-
sound/soc/spear/spear_pcm.c | 2 +-
sound/soc/tegra/tegra20_das.c | 2 +-
sound/soc/tegra/tegra20_i2s.c | 2 +-
sound/soc/tegra/tegra20_spdif.c | 2 +-
sound/soc/tegra/tegra30_ahub.c | 2 +-
sound/soc/tegra/tegra30_i2s.c | 2 +-
sound/soc/tegra/tegra_alc5632.c | 2 +-
sound/soc/tegra/tegra_pcm.c | 2 +-
sound/soc/tegra/tegra_wm8753.c | 2 +-
sound/soc/tegra/tegra_wm8903.c | 2 +-
sound/soc/tegra/trimslice.c | 2 +-
sound/soc/txx9/txx9aclc-ac97.c | 2 +-
sound/soc/txx9/txx9aclc.c | 2 +-
sound/soc/ux500/mop500.c | 2 +-
sound/soc/ux500/ux500_msp_dai.c | 2 +-
sound/soc/ux500/ux500_pcm.c | 2 +-
sound/sparc/cs4231.c | 2 +-
sound/sparc/dbri.c | 2 +-
sound/spi/at73c213.c | 2 +-
329 files changed, 371 insertions(+), 371 deletions(-)
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index e54a83e..63b1e14 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -1072,7 +1072,7 @@ static int aaci_probe(struct amba_device *dev,
return ret;
}
-static int __devexit aaci_remove(struct amba_device *dev)
+static int aaci_remove(struct amba_device *dev)
{
struct snd_card *card = amba_get_drvdata(dev);
diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c
index 59ffc3e..ec54be4 100644
--- a/sound/arm/pxa2xx-ac97.c
+++ b/sound/arm/pxa2xx-ac97.c
@@ -224,7 +224,7 @@ err_dev:
return ret;
}
-static int __devexit pxa2xx_ac97_remove(struct platform_device *dev)
+static int pxa2xx_ac97_remove(struct platform_device *dev)
{
struct snd_card *card = platform_get_drvdata(dev);
diff --git a/sound/atmel/abdac.c b/sound/atmel/abdac.c
index d3b9cf5..071ce1b 100644
--- a/sound/atmel/abdac.c
+++ b/sound/atmel/abdac.c
@@ -567,7 +567,7 @@ static SIMPLE_DEV_PM_OPS(atmel_abdac_pm, atmel_abdac_suspend, atmel_abdac_resume
#define ATMEL_ABDAC_PM_OPS NULL
#endif
-static int __devexit atmel_abdac_remove(struct platform_device *pdev)
+static int atmel_abdac_remove(struct platform_device *pdev)
{
struct snd_card *card = platform_get_drvdata(pdev);
struct atmel_abdac *dac = get_dac(card);
diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c
index 7b5664f..79d6bda 100644
--- a/sound/atmel/ac97c.c
+++ b/sound/atmel/ac97c.c
@@ -1168,7 +1168,7 @@ static SIMPLE_DEV_PM_OPS(atmel_ac97c_pm, atmel_ac97c_suspend, atmel_ac97c_resume
#define ATMEL_AC97C_PM_OPS NULL
#endif
-static int __devexit atmel_ac97c_remove(struct platform_device *pdev)
+static int atmel_ac97c_remove(struct platform_device *pdev)
{
struct snd_card *card = platform_get_drvdata(pdev);
struct atmel_ac97c *chip = get_chip(card);
diff --git a/sound/drivers/aloop.c b/sound/drivers/aloop.c
index 542a5b7..7a7a5cb 100644
--- a/sound/drivers/aloop.c
+++ b/sound/drivers/aloop.c
@@ -1177,7 +1177,7 @@ static int loopback_probe(struct platform_device *devptr)
return err;
}
-static int __devexit loopback_remove(struct platform_device *devptr)
+static int loopback_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c
index 7cfb2f2..7a1d41a 100644
--- a/sound/drivers/dummy.c
+++ b/sound/drivers/dummy.c
@@ -1126,7 +1126,7 @@ static int snd_dummy_probe(struct platform_device *devptr)
return err;
}
-static int __devexit snd_dummy_remove(struct platform_device *devptr)
+static int snd_dummy_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c
index 5c10699..b99415f 100644
--- a/sound/drivers/mpu401/mpu401.c
+++ b/sound/drivers/mpu401/mpu401.c
@@ -126,7 +126,7 @@ static int snd_mpu401_probe(struct platform_device *devptr)
return 0;
}
-static int __devexit snd_mpu401_remove(struct platform_device *devptr)
+static int snd_mpu401_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
@@ -211,7 +211,7 @@ static int snd_mpu401_pnp_probe(struct pnp_dev *pnp_dev,
return -ENODEV;
}
-static void __devexit snd_mpu401_pnp_remove(struct pnp_dev *dev)
+static void snd_mpu401_pnp_remove(struct pnp_dev *dev)
{
struct snd_card *card = (struct snd_card *) pnp_get_drvdata(dev);
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
index 8fd51d5..88cc634 100644
--- a/sound/drivers/mtpav.c
+++ b/sound/drivers/mtpav.c
@@ -746,7 +746,7 @@ static int snd_mtpav_probe(struct platform_device *dev)
return err;
}
-static int __devexit snd_mtpav_remove(struct platform_device *devptr)
+static int snd_mtpav_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c
index f1d463e..5eec128 100644
--- a/sound/drivers/mts64.c
+++ b/sound/drivers/mts64.c
@@ -1025,7 +1025,7 @@ __err:
return err;
}
-static int __devexit snd_mts64_remove(struct platform_device *pdev)
+static int snd_mts64_remove(struct platform_device *pdev)
{
struct snd_card *card = platform_get_drvdata(pdev);
diff --git a/sound/drivers/pcsp/pcsp.c b/sound/drivers/pcsp/pcsp.c
index 0ad0105..7a5fdb9 100644
--- a/sound/drivers/pcsp/pcsp.c
+++ b/sound/drivers/pcsp/pcsp.c
@@ -161,7 +161,7 @@ static int alsa_card_pcsp_init(struct device *dev)
return 0;
}
-static void __devexit alsa_card_pcsp_exit(struct snd_pcsp *chip)
+static void alsa_card_pcsp_exit(struct snd_pcsp *chip)
{
snd_card_free(chip->card);
}
@@ -184,7 +184,7 @@ static int pcsp_probe(struct platform_device *dev)
return 0;
}
-static int __devexit pcsp_remove(struct platform_device *dev)
+static int pcsp_remove(struct platform_device *dev)
{
struct snd_pcsp *chip = platform_get_drvdata(dev);
alsa_card_pcsp_exit(chip);
diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c
index bc4be6f..66996f3 100644
--- a/sound/drivers/portman2x4.c
+++ b/sound/drivers/portman2x4.c
@@ -814,7 +814,7 @@ __err:
return err;
}
-static int __devexit snd_portman_remove(struct platform_device *pdev)
+static int snd_portman_remove(struct platform_device *pdev)
{
struct snd_card *card = platform_get_drvdata(pdev);
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index 310b075..9b0a139 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -982,7 +982,7 @@ static int snd_serial_probe(struct platform_device *devptr)
return err;
}
-static int __devexit snd_serial_remove(struct platform_device *devptr)
+static int snd_serial_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c
index ab3ec53..cc4be88 100644
--- a/sound/drivers/virmidi.c
+++ b/sound/drivers/virmidi.c
@@ -129,7 +129,7 @@ static int snd_virmidi_probe(struct platform_device *devptr)
return err;
}
-static int __devexit snd_virmidi_remove(struct platform_device *devptr)
+static int snd_virmidi_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
diff --git a/sound/firewire/speakers.c b/sound/firewire/speakers.c
index 3ac0b9ed..d684655 100644
--- a/sound/firewire/speakers.c
+++ b/sound/firewire/speakers.c
@@ -770,7 +770,7 @@ error:
return err;
}
-static int __devexit fwspk_remove(struct device *dev)
+static int fwspk_remove(struct device *dev)
{
struct fwspk *fwspk = dev_get_drvdata(dev);
diff --git a/sound/isa/ad1816a/ad1816a.c b/sound/isa/ad1816a/ad1816a.c
index f63bf61..5640370 100644
--- a/sound/isa/ad1816a/ad1816a.c
+++ b/sound/isa/ad1816a/ad1816a.c
@@ -238,7 +238,7 @@ static int snd_ad1816a_pnp_detect(struct pnp_card_link *card,
return -ENODEV;
}
-static void __devexit snd_ad1816a_pnp_remove(struct pnp_card_link * pcard)
+static void snd_ad1816a_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c
index 3cef9ec..c214ecf 100644
--- a/sound/isa/ad1848/ad1848.c
+++ b/sound/isa/ad1848/ad1848.c
@@ -132,7 +132,7 @@ out: snd_card_free(card);
return error;
}
-static int __devexit snd_ad1848_remove(struct device *dev, unsigned int n)
+static int snd_ad1848_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
diff --git a/sound/isa/adlib.c b/sound/isa/adlib.c
index 6a1c666..d265455 100644
--- a/sound/isa/adlib.c
+++ b/sound/isa/adlib.c
@@ -98,7 +98,7 @@ out: snd_card_free(card);
return error;
}
-static int __devexit snd_adlib_remove(struct device *dev, unsigned int n)
+static int snd_adlib_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
diff --git a/sound/isa/als100.c b/sound/isa/als100.c
index b282f007..c395ac3 100644
--- a/sound/isa/als100.c
+++ b/sound/isa/als100.c
@@ -307,7 +307,7 @@ static int snd_als100_pnp_detect(struct pnp_card_link *card,
return -ENODEV;
}
-static void __devexit snd_als100_pnp_remove(struct pnp_card_link * pcard)
+static void snd_als100_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/azt2320.c b/sound/isa/azt2320.c
index 19b1fee..c83418d 100644
--- a/sound/isa/azt2320.c
+++ b/sound/isa/azt2320.c
@@ -285,7 +285,7 @@ static int snd_azt2320_pnp_detect(struct pnp_card_link *card,
return -ENODEV;
}
-static void __devexit snd_azt2320_pnp_remove(struct pnp_card_link * pcard)
+static void snd_azt2320_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/cmi8328.c b/sound/isa/cmi8328.c
index 6dfead9..a7369fe 100644
--- a/sound/isa/cmi8328.c
+++ b/sound/isa/cmi8328.c
@@ -401,7 +401,7 @@ error:
return err;
}
-static int __devexit snd_cmi8328_remove(struct device *pdev, unsigned int dev)
+static int snd_cmi8328_remove(struct device *pdev, unsigned int dev)
{
struct snd_card *card = dev_get_drvdata(pdev);
struct snd_cmi8328 *cmi = card->private_data;
diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c
index e294e22..d96641c 100644
--- a/sound/isa/cmi8330.c
+++ b/sound/isa/cmi8330.c
@@ -647,7 +647,7 @@ static int snd_cmi8330_isa_probe(struct device *pdev,
return 0;
}
-static int __devexit snd_cmi8330_isa_remove(struct device *devptr,
+static int snd_cmi8330_isa_remove(struct device *devptr,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
@@ -717,7 +717,7 @@ static int snd_cmi8330_pnp_detect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_cmi8330_pnp_remove(struct pnp_card_link * pcard)
+static void snd_cmi8330_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c
index ece5d8f..aa7a5d8 100644
--- a/sound/isa/cs423x/cs4231.c
+++ b/sound/isa/cs423x/cs4231.c
@@ -148,7 +148,7 @@ out: snd_card_free(card);
return error;
}
-static int __devexit snd_cs4231_remove(struct device *dev, unsigned int n)
+static int snd_cs4231_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c
index 752ccba..10602b8 100644
--- a/sound/isa/cs423x/cs4236.c
+++ b/sound/isa/cs423x/cs4236.c
@@ -500,7 +500,7 @@ static int snd_cs423x_isa_probe(struct device *pdev,
return 0;
}
-static int __devexit snd_cs423x_isa_remove(struct device *pdev,
+static int snd_cs423x_isa_remove(struct device *pdev,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(pdev));
@@ -597,7 +597,7 @@ static int snd_cs423x_pnpbios_detect(struct pnp_dev *pdev,
return 0;
}
-static void __devexit snd_cs423x_pnp_remove(struct pnp_dev *pdev)
+static void snd_cs423x_pnp_remove(struct pnp_dev *pdev)
{
snd_card_free(pnp_get_drvdata(pdev));
pnp_set_drvdata(pdev, NULL);
@@ -659,7 +659,7 @@ static int snd_cs423x_pnpc_detect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_cs423x_pnpc_remove(struct pnp_card_link * pcard)
+static void snd_cs423x_pnpc_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c
index f62803b..a964e56 100644
--- a/sound/isa/es1688/es1688.c
+++ b/sound/isa/es1688/es1688.c
@@ -210,7 +210,7 @@ out:
return error;
}
-static int __devexit snd_es1688_isa_remove(struct device *dev, unsigned int n)
+static int snd_es1688_isa_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
@@ -295,7 +295,7 @@ static int snd_es968_pnp_detect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_es968_pnp_remove(struct pnp_card_link * pcard)
+static void snd_es968_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index 8fe5dc1..45e259f 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -2231,7 +2231,7 @@ static int snd_es18xx_isa_probe(struct device *pdev, unsigned int dev)
}
}
-static int __devexit snd_es18xx_isa_remove(struct device *devptr,
+static int snd_es18xx_isa_remove(struct device *devptr,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
@@ -2302,7 +2302,7 @@ static int snd_audiodrive_pnp_detect(struct pnp_dev *pdev,
return 0;
}
-static void __devexit snd_audiodrive_pnp_remove(struct pnp_dev * pdev)
+static void snd_audiodrive_pnp_remove(struct pnp_dev * pdev)
{
snd_card_free(pnp_get_drvdata(pdev));
pnp_set_drvdata(pdev, NULL);
@@ -2363,7 +2363,7 @@ static int snd_audiodrive_pnpc_detect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_audiodrive_pnpc_remove(struct pnp_card_link * pcard)
+static void snd_audiodrive_pnpc_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/galaxy/galaxy.c b/sound/isa/galaxy/galaxy.c
index 6955e78..672184e 100644
--- a/sound/isa/galaxy/galaxy.c
+++ b/sound/isa/galaxy/galaxy.c
@@ -620,7 +620,7 @@ error:
return err;
}
-static int __devexit snd_galaxy_remove(struct device *dev, unsigned int n)
+static int snd_galaxy_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c
index 4a4c856..3a85beb 100644
--- a/sound/isa/gus/gusclassic.c
+++ b/sound/isa/gus/gusclassic.c
@@ -211,7 +211,7 @@ out: snd_card_free(card);
return error;
}
-static int __devexit snd_gusclassic_remove(struct device *dev, unsigned int n)
+static int snd_gusclassic_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c
index e8ee416..99ab85c 100644
--- a/sound/isa/gus/gusextreme.c
+++ b/sound/isa/gus/gusextreme.c
@@ -339,7 +339,7 @@ out: snd_card_free(card);
return error;
}
-static int __devexit snd_gusextreme_remove(struct device *dev, unsigned int n)
+static int snd_gusextreme_remove(struct device *dev, unsigned int n)
{
snd_card_free(dev_get_drvdata(dev));
dev_set_drvdata(dev, NULL);
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index 6e297c8..69477d3 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -354,7 +354,7 @@ static int snd_gusmax_probe(struct device *pdev, unsigned int dev)
return err;
}
-static int __devexit snd_gusmax_remove(struct device *devptr, unsigned int dev)
+static int snd_gusmax_remove(struct device *devptr, unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
dev_set_drvdata(devptr, NULL);
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index b5f436a..02d1dd0 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -846,7 +846,7 @@ static int snd_interwave_isa_probe(struct device *pdev,
}
}
-static int __devexit snd_interwave_isa_remove(struct device *devptr, unsigned int dev)
+static int snd_interwave_isa_remove(struct device *devptr, unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
dev_set_drvdata(devptr, NULL);
@@ -896,7 +896,7 @@ static int snd_interwave_pnp_detect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_interwave_pnp_remove(struct pnp_card_link * pcard)
+static void snd_interwave_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c
index 75f297e..c57216d 100644
--- a/sound/isa/msnd/msnd_pinnacle.c
+++ b/sound/isa/msnd/msnd_pinnacle.c
@@ -634,7 +634,7 @@ err_release_region:
}
-static void __devexit snd_msnd_unload(struct snd_card *card)
+static void snd_msnd_unload(struct snd_card *card)
{
struct snd_msnd *chip = card->private_data;
@@ -1061,7 +1061,7 @@ cfg_error:
#endif
}
-static int __devexit snd_msnd_isa_remove(struct device *pdev, unsigned int dev)
+static int snd_msnd_isa_remove(struct device *pdev, unsigned int dev)
{
snd_msnd_unload(dev_get_drvdata(pdev));
dev_set_drvdata(pdev, NULL);
@@ -1185,7 +1185,7 @@ _release_card:
return ret;
}
-static void __devexit snd_msnd_pnp_remove(struct pnp_card_link *pcard)
+static void snd_msnd_pnp_remove(struct pnp_card_link *pcard)
{
snd_msnd_unload(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index 9f71f956..cdbfb17 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -754,7 +754,7 @@ static int snd_opl3sa2_pnp_detect(struct pnp_dev *pdev,
return 0;
}
-static void __devexit snd_opl3sa2_pnp_remove(struct pnp_dev * pdev)
+static void snd_opl3sa2_pnp_remove(struct pnp_dev * pdev)
{
snd_card_free(pnp_get_drvdata(pdev));
pnp_set_drvdata(pdev, NULL);
@@ -820,7 +820,7 @@ static int snd_opl3sa2_pnp_cdetect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_opl3sa2_pnp_cremove(struct pnp_card_link * pcard)
+static void snd_opl3sa2_pnp_cremove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
@@ -896,7 +896,7 @@ static int snd_opl3sa2_isa_probe(struct device *pdev,
return 0;
}
-static int __devexit snd_opl3sa2_isa_remove(struct device *devptr,
+static int snd_opl3sa2_isa_remove(struct device *devptr,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c
index f8747ab..f4f0e7d 100644
--- a/sound/isa/opti9xx/miro.c
+++ b/sound/isa/opti9xx/miro.c
@@ -1491,7 +1491,7 @@ static int snd_miro_isa_probe(struct device *devptr, unsigned int n)
return 0;
}
-static int __devexit snd_miro_isa_remove(struct device *devptr,
+static int snd_miro_isa_remove(struct device *devptr,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
@@ -1624,7 +1624,7 @@ static int snd_miro_pnp_probe(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_miro_pnp_remove(struct pnp_card_link * pcard)
+static void snd_miro_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 4a0d193..4a69f7e 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -1031,7 +1031,7 @@ static int snd_opti9xx_isa_probe(struct device *devptr,
return 0;
}
-static int __devexit snd_opti9xx_isa_remove(struct device *devptr,
+static int snd_opti9xx_isa_remove(struct device *devptr,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
@@ -1146,7 +1146,7 @@ static int snd_opti9xx_pnp_probe(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_opti9xx_pnp_remove(struct pnp_card_link * pcard)
+static void snd_opti9xx_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/sb/jazz16.c b/sound/isa/sb/jazz16.c
index 5bc42fe..0560d07 100644
--- a/sound/isa/sb/jazz16.c
+++ b/sound/isa/sb/jazz16.c
@@ -341,7 +341,7 @@ err_free:
return err;
}
-static int __devexit snd_jazz16_remove(struct device *devptr, unsigned int dev)
+static int snd_jazz16_remove(struct device *devptr, unsigned int dev)
{
struct snd_card *card = dev_get_drvdata(devptr);
diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c
index fcb14b8..e44a645 100644
--- a/sound/isa/sb/sb16.c
+++ b/sound/isa/sb/sb16.c
@@ -563,7 +563,7 @@ static int snd_sb16_isa_probe(struct device *pdev, unsigned int dev)
}
}
-static int __devexit snd_sb16_isa_remove(struct device *pdev, unsigned int dev)
+static int snd_sb16_isa_remove(struct device *pdev, unsigned int dev)
{
snd_card_free(dev_get_drvdata(pdev));
dev_set_drvdata(pdev, NULL);
@@ -631,7 +631,7 @@ static int snd_sb16_pnp_detect(struct pnp_card_link *pcard,
return -ENODEV;
}
-static void __devexit snd_sb16_pnp_remove(struct pnp_card_link * pcard)
+static void snd_sb16_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
index 69aa275..237d964 100644
--- a/sound/isa/sb/sb8.c
+++ b/sound/isa/sb/sb8.c
@@ -205,7 +205,7 @@ static int snd_sb8_probe(struct device *pdev, unsigned int dev)
return err;
}
-static int __devexit snd_sb8_remove(struct device *pdev, unsigned int dev)
+static int snd_sb8_remove(struct device *pdev, unsigned int dev)
{
snd_card_free(dev_get_drvdata(pdev));
dev_set_drvdata(pdev, NULL);
diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c
index 486da56..fc648f2 100644
--- a/sound/isa/sc6000.c
+++ b/sound/isa/sc6000.c
@@ -687,7 +687,7 @@ err_exit:
return err;
}
-static int __devexit snd_sc6000_remove(struct device *devptr, unsigned int dev)
+static int snd_sc6000_remove(struct device *devptr, unsigned int dev)
{
struct snd_card *card = dev_get_drvdata(devptr);
char __iomem **vport = card->private_data;
diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c
index 0b67a79..fc4ff0f 100644
--- a/sound/isa/sscape.c
+++ b/sound/isa/sscape.c
@@ -1197,7 +1197,7 @@ _release_card:
return ret;
}
-static int __devexit snd_sscape_remove(struct device *devptr, unsigned int dev)
+static int snd_sscape_remove(struct device *devptr, unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
dev_set_drvdata(devptr, NULL);
@@ -1310,7 +1310,7 @@ _release_card:
return ret;
}
-static void __devexit sscape_pnp_remove(struct pnp_card_link * pcard)
+static void sscape_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index abe3c34..145a805 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -575,7 +575,7 @@ static int snd_wavefront_isa_probe(struct device *pdev,
return 0;
}
-static int __devexit snd_wavefront_isa_remove(struct device *devptr,
+static int snd_wavefront_isa_remove(struct device *devptr,
unsigned int dev)
{
snd_card_free(dev_get_drvdata(devptr));
@@ -632,7 +632,7 @@ static int snd_wavefront_pnp_detect(struct pnp_card_link *pcard,
return 0;
}
-static void __devexit snd_wavefront_pnp_remove(struct pnp_card_link * pcard)
+static void snd_wavefront_pnp_remove(struct pnp_card_link * pcard)
{
snd_card_free(pnp_get_card_drvdata(pcard));
pnp_set_card_drvdata(pcard, NULL);
diff --git a/sound/mips/hal2.c b/sound/mips/hal2.c
index 690e019..7420c59 100644
--- a/sound/mips/hal2.c
+++ b/sound/mips/hal2.c
@@ -917,7 +917,7 @@ static int hal2_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit hal2_remove(struct platform_device *pdev)
+static int hal2_remove(struct platform_device *pdev)
{
struct snd_card *card = platform_get_drvdata(pdev);
diff --git a/sound/mips/sgio2audio.c b/sound/mips/sgio2audio.c
index 8b5ef60..6a1de57 100644
--- a/sound/mips/sgio2audio.c
+++ b/sound/mips/sgio2audio.c
@@ -958,7 +958,7 @@ static int snd_sgio2audio_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit snd_sgio2audio_remove(struct platform_device *pdev)
+static int snd_sgio2audio_remove(struct platform_device *pdev)
{
struct snd_card *card = platform_get_drvdata(pdev);
diff --git a/sound/oss/kahlua.c b/sound/oss/kahlua.c
index 5d092d2..2a44cc1 100644
--- a/sound/oss/kahlua.c
+++ b/sound/oss/kahlua.c
@@ -183,7 +183,7 @@ err_out_free:
return 1;
}
-static void __devexit remove_one(struct pci_dev *pdev)
+static void remove_one(struct pci_dev *pdev)
{
struct address_info *hw_config = pci_get_drvdata(pdev);
sb_dsp_unload(hw_config, 0);
@@ -220,7 +220,7 @@ static int __init kahlua_init_module(void)
return pci_register_driver(&kahlua_driver);
}
-static void __devexit kahlua_cleanup_module(void)
+static void kahlua_cleanup_module(void)
{
pci_unregister_driver(&kahlua_driver);
}
diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c
index cef6a11..7a624cc 100644
--- a/sound/parisc/harmony.c
+++ b/sound/parisc/harmony.c
@@ -1008,7 +1008,7 @@ free_and_ret:
return err;
}
-static int __devexit
+static int
snd_harmony_remove(struct parisc_device *padev)
{
snd_card_free(parisc_get_drvdata(padev));
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c
index 099d9fd..874c79b 100644
--- a/sound/pci/ad1889.c
+++ b/sound/pci/ad1889.c
@@ -1035,7 +1035,7 @@ free_and_ret:
return err;
}
-static void __devexit
+static void
snd_ad1889_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c
index b611059..4b61bd1 100644
--- a/sound/pci/ali5451/ali5451.c
+++ b/sound/pci/ali5451/ali5451.c
@@ -2295,7 +2295,7 @@ static int snd_ali_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_ali_remove(struct pci_dev *pci)
+static void snd_ali_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/als300.c b/sound/pci/als300.c
index 8fac3ce..6da6ea4 100644
--- a/sound/pci/als300.c
+++ b/sound/pci/als300.c
@@ -278,7 +278,7 @@ static irqreturn_t snd_als300plus_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}
-static void __devexit snd_als300_remove(struct pci_dev *pci)
+static void snd_als300_remove(struct pci_dev *pci)
{
snd_als300_dbgcallenter();
snd_card_free(pci_get_drvdata(pci));
diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c
index 2588c47..e8f4f03 100644
--- a/sound/pci/als4000.c
+++ b/sound/pci/als4000.c
@@ -981,7 +981,7 @@ out:
return err;
}
-static void __devexit snd_card_als4000_remove(struct pci_dev *pci)
+static void snd_card_als4000_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c
index a01739c..72ee21d 100644
--- a/sound/pci/asihpi/asihpi.c
+++ b/sound/pci/asihpi/asihpi.c
@@ -2944,7 +2944,7 @@ __nodev:
}
-static void __devexit snd_asihpi_remove(struct pci_dev *pci_dev)
+static void snd_asihpi_remove(struct pci_dev *pci_dev)
{
struct hpi_adapter *hpi = pci_get_drvdata(pci_dev);
snd_card_free(hpi->snd_card);
diff --git a/sound/pci/asihpi/hpioctl.c b/sound/pci/asihpi/hpioctl.c
index 842b94d..39228f0 100644
--- a/sound/pci/asihpi/hpioctl.c
+++ b/sound/pci/asihpi/hpioctl.c
@@ -420,7 +420,7 @@ err:
return -ENODEV;
}
-void __devexit asihpi_adapter_remove(struct pci_dev *pci_dev)
+void asihpi_adapter_remove(struct pci_dev *pci_dev)
{
int idx;
struct hpi_message hm;
diff --git a/sound/pci/asihpi/hpioctl.h b/sound/pci/asihpi/hpioctl.h
index f99baea..b6f3f94 100644
--- a/sound/pci/asihpi/hpioctl.h
+++ b/sound/pci/asihpi/hpioctl.h
@@ -21,7 +21,7 @@ Linux HPI ioctl, and shared module init functions
int asihpi_adapter_probe(struct pci_dev *pci_dev,
const struct pci_device_id *pci_id);
-void __devexit asihpi_adapter_remove(struct pci_dev *pci_dev);
+void asihpi_adapter_remove(struct pci_dev *pci_dev);
void __init asihpi_init(void);
void __exit asihpi_exit(void);
diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c
index a4ea06f..adeacbb 100644
--- a/sound/pci/atiixp.c
+++ b/sound/pci/atiixp.c
@@ -1710,7 +1710,7 @@ static int snd_atiixp_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_atiixp_remove(struct pci_dev *pci)
+static void snd_atiixp_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c
index 5cb8928..a942b77 100644
--- a/sound/pci/atiixp_modem.c
+++ b/sound/pci/atiixp_modem.c
@@ -1331,7 +1331,7 @@ static int snd_atiixp_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_atiixp_remove(struct pci_dev *pci)
+static void snd_atiixp_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c
index 9cf669a..179588f 100644
--- a/sound/pci/au88x0/au88x0.c
+++ b/sound/pci/au88x0/au88x0.c
@@ -366,7 +366,7 @@ static int snd_vortex_probe(struct pci_dev *pci, const struct pci_device_id *pci
}
// destructor -- see "Destructor" sub-section
-static void __devexit snd_vortex_remove(struct pci_dev *pci)
+static void snd_vortex_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/aw2/aw2-alsa.c b/sound/pci/aw2/aw2-alsa.c
index c1f35e4..361984d 100644
--- a/sound/pci/aw2/aw2-alsa.c
+++ b/sound/pci/aw2/aw2-alsa.c
@@ -117,7 +117,7 @@ static int snd_aw2_create(struct snd_card *card,
struct pci_dev *pci, struct aw2 **rchip);
static int snd_aw2_probe(struct pci_dev *pci,
const struct pci_device_id *pci_id);
-static void __devexit snd_aw2_remove(struct pci_dev *pci);
+static void snd_aw2_remove(struct pci_dev *pci);
static int snd_aw2_pcm_playback_open(struct snd_pcm_substream *substream);
static int snd_aw2_pcm_playback_close(struct snd_pcm_substream *substream);
static int snd_aw2_pcm_capture_open(struct snd_pcm_substream *substream);
@@ -389,7 +389,7 @@ static int snd_aw2_probe(struct pci_dev *pci,
}
/* destructor */
-static void __devexit snd_aw2_remove(struct pci_dev *pci)
+static void snd_aw2_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c
index 8c3502d..39363c2 100644
--- a/sound/pci/azt3328.c
+++ b/sound/pci/azt3328.c
@@ -2713,7 +2713,7 @@ out:
return err;
}
-static void __devexit
+static void
snd_azf3328_remove(struct pci_dev *pci)
{
snd_azf3328_dbgcallenter();
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 354ec5a..41c9044 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -948,7 +948,7 @@ _error:
return err;
}
-static void __devexit snd_bt87x_remove(struct pci_dev *pci)
+static void snd_bt87x_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
index f827687..1610a57 100644
--- a/sound/pci/ca0106/ca0106_main.c
+++ b/sound/pci/ca0106/ca0106_main.c
@@ -1893,7 +1893,7 @@ static int snd_ca0106_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_ca0106_remove(struct pci_dev *pci)
+static void snd_ca0106_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c
index d67209a..7177993 100644
--- a/sound/pci/cmipci.c
+++ b/sound/pci/cmipci.c
@@ -3314,7 +3314,7 @@ static int snd_cmipci_probe(struct pci_dev *pci,
}
-static void __devexit snd_cmipci_remove(struct pci_dev *pci)
+static void snd_cmipci_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c
index 5431c6d..9e65315 100644
--- a/sound/pci/cs4281.c
+++ b/sound/pci/cs4281.c
@@ -1968,7 +1968,7 @@ static int snd_cs4281_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_cs4281_remove(struct pci_dev *pci)
+static void snd_cs4281_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/cs46xx/cs46xx.c b/sound/pci/cs46xx/cs46xx.c
index 74a43b0..6c48bcb 100644
--- a/sound/pci/cs46xx/cs46xx.c
+++ b/sound/pci/cs46xx/cs46xx.c
@@ -155,7 +155,7 @@ static int snd_card_cs46xx_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_card_cs46xx_remove(struct pci_dev *pci)
+static void snd_card_cs46xx_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/cs5530.c b/sound/pci/cs5530.c
index 94aee6e..241f546 100644
--- a/sound/pci/cs5530.c
+++ b/sound/pci/cs5530.c
@@ -88,7 +88,7 @@ static int snd_cs5530_dev_free(struct snd_device *device)
return snd_cs5530_free(chip);
}
-static void __devexit snd_cs5530_remove(struct pci_dev *pci)
+static void snd_cs5530_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c
index cf188b2..54136e1 100644
--- a/sound/pci/cs5535audio/cs5535audio.c
+++ b/sound/pci/cs5535audio/cs5535audio.c
@@ -387,7 +387,7 @@ probefail_out:
return err;
}
-static void __devexit snd_cs5535audio_remove(struct pci_dev *pci)
+static void snd_cs5535audio_remove(struct pci_dev *pci)
{
olpc_quirks_cleanup();
snd_card_free(pci_get_drvdata(pci));
diff --git a/sound/pci/cs5535audio/cs5535audio.h b/sound/pci/cs5535audio/cs5535audio.h
index 536a6bb..d6422ad 100644
--- a/sound/pci/cs5535audio/cs5535audio.h
+++ b/sound/pci/cs5535audio/cs5535audio.h
@@ -100,7 +100,7 @@ extern const struct dev_pm_ops snd_cs5535audio_pm;
void olpc_prequirks(struct snd_card *card,
struct snd_ac97_template *ac97);
int olpc_quirks(struct snd_card *card, struct snd_ac97 *ac97);
-void __devexit olpc_quirks_cleanup(void);
+void olpc_quirks_cleanup(void);
void olpc_analog_input(struct snd_ac97 *ac97, int on);
void olpc_mic_bias(struct snd_ac97 *ac97, int on);
diff --git a/sound/pci/cs5535audio/cs5535audio_olpc.c b/sound/pci/cs5535audio/cs5535audio_olpc.c
index 6a98019..67fba40 100644
--- a/sound/pci/cs5535audio/cs5535audio_olpc.c
+++ b/sound/pci/cs5535audio/cs5535audio_olpc.c
@@ -185,7 +185,7 @@ int olpc_quirks(struct snd_card *card, struct snd_ac97 *ac97)
return 0;
}
-void __devexit olpc_quirks_cleanup(void)
+void olpc_quirks_cleanup(void)
{
gpio_free(OLPC_GPIO_MIC_AC);
}
diff --git a/sound/pci/ctxfi/xfi.c b/sound/pci/ctxfi/xfi.c
index 8275ac3..97db201 100644
--- a/sound/pci/ctxfi/xfi.c
+++ b/sound/pci/ctxfi/xfi.c
@@ -118,7 +118,7 @@ error:
return err;
}
-static void __devexit ct_card_remove(struct pci_dev *pci)
+static void ct_card_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
index f4400ba..31ba99e 100644
--- a/sound/pci/echoaudio/echoaudio.c
+++ b/sound/pci/echoaudio/echoaudio.c
@@ -2316,7 +2316,7 @@ static SIMPLE_DEV_PM_OPS(snd_echo_pm, snd_echo_suspend, snd_echo_resume);
#endif /* CONFIG_PM_SLEEP */
-static void __devexit snd_echo_remove(struct pci_dev *pci)
+static void snd_echo_remove(struct pci_dev *pci)
{
struct echoaudio *chip;
diff --git a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c
index 77b316d..fe7e7b6 100644
--- a/sound/pci/emu10k1/emu10k1.c
+++ b/sound/pci/emu10k1/emu10k1.c
@@ -199,7 +199,7 @@ static int snd_card_emu10k1_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_card_emu10k1_remove(struct pci_dev *pci)
+static void snd_card_emu10k1_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c
index 9c618c2..cc897e9 100644
--- a/sound/pci/emu10k1/emu10k1x.c
+++ b/sound/pci/emu10k1/emu10k1x.c
@@ -1619,7 +1619,7 @@ static int snd_emu10k1x_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_emu10k1x_remove(struct pci_dev *pci)
+static void snd_emu10k1x_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c
index 2e42aab..20c14a7 100644
--- a/sound/pci/ens1370.c
+++ b/sound/pci/ens1370.c
@@ -2494,7 +2494,7 @@ static int snd_audiopci_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_audiopci_remove(struct pci_dev *pci)
+static void snd_audiopci_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c
index 5441377..4062722 100644
--- a/sound/pci/es1938.c
+++ b/sound/pci/es1938.c
@@ -1878,7 +1878,7 @@ static int snd_es1938_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_es1938_remove(struct pci_dev *pci)
+static void snd_es1938_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c
index 71629cd..8c6e693 100644
--- a/sound/pci/es1968.c
+++ b/sound/pci/es1968.c
@@ -2903,7 +2903,7 @@ static int snd_es1968_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_es1968_remove(struct pci_dev *pci)
+static void snd_es1968_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c
index 446fc99..324013d 100644
--- a/sound/pci/fm801.c
+++ b/sound/pci/fm801.c
@@ -1367,7 +1367,7 @@ static int snd_card_fm801_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_card_fm801_remove(struct pci_dev *pci)
+static void snd_card_fm801_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 0aedbe1..25723c0 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -3525,7 +3525,7 @@ out_free:
return err;
}
-static void __devexit azx_remove(struct pci_dev *pci)
+static void azx_remove(struct pci_dev *pci)
{
struct snd_card *card = pci_get_drvdata(pci);
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index b6e9dda..b528515 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -2797,7 +2797,7 @@ static int snd_ice1712_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_ice1712_remove(struct pci_dev *pci)
+static void snd_ice1712_remove(struct pci_dev *pci)
{
struct snd_card *card = pci_get_drvdata(pci);
struct snd_ice1712 *ice = card->private_data;
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index 7551c34..e07076f 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -2792,7 +2792,7 @@ __found:
return 0;
}
-static void __devexit snd_vt1724_remove(struct pci_dev *pci)
+static void snd_vt1724_remove(struct pci_dev *pci)
{
struct snd_card *card = pci_get_drvdata(pci);
struct snd_ice1712 *ice = card->private_data;
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index 4074d4f..24aecf7 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -3359,7 +3359,7 @@ static int snd_intel8x0_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_intel8x0_remove(struct pci_dev *pci)
+static void snd_intel8x0_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c
index 921521d..7569bf5 100644
--- a/sound/pci/intel8x0m.c
+++ b/sound/pci/intel8x0m.c
@@ -1325,7 +1325,7 @@ static int snd_intel8x0m_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_intel8x0m_remove(struct pci_dev *pci)
+static void snd_intel8x0m_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
index 3398453..0f920de 100644
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
@@ -2469,7 +2469,7 @@ static int snd_korg1212_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_korg1212_remove(struct pci_dev *pci)
+static void snd_korg1212_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/lola/lola.c b/sound/pci/lola/lola.c
index 7be3dad..a32dda7 100644
--- a/sound/pci/lola/lola.c
+++ b/sound/pci/lola/lola.c
@@ -756,7 +756,7 @@ out_free:
return err;
}
-static void __devexit lola_remove(struct pci_dev *pci)
+static void lola_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/lx6464es/lx6464es.c b/sound/pci/lx6464es/lx6464es.c
index c9119ce..b2540fb 100644
--- a/sound/pci/lx6464es/lx6464es.c
+++ b/sound/pci/lx6464es/lx6464es.c
@@ -1136,7 +1136,7 @@ out_free:
}
-static void __devexit snd_lx6464es_remove(struct pci_dev *pci)
+static void snd_lx6464es_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c
index 986cd07..ed26007 100644
--- a/sound/pci/maestro3.c
+++ b/sound/pci/maestro3.c
@@ -2767,7 +2767,7 @@ static int snd_m3_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
return 0;
}
-static void __devexit snd_m3_remove(struct pci_dev *pci)
+static void snd_m3_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c
index f744df5..65bc05b 100644
--- a/sound/pci/mixart/mixart.c
+++ b/sound/pci/mixart/mixart.c
@@ -1374,7 +1374,7 @@ static int snd_mixart_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_mixart_remove(struct pci_dev *pci)
+static void snd_mixart_remove(struct pci_dev *pci)
{
snd_mixart_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c
index 6c3fd38..dad075e 100644
--- a/sound/pci/nm256/nm256.c
+++ b/sound/pci/nm256/nm256.c
@@ -1738,7 +1738,7 @@ static int snd_nm256_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_nm256_remove(struct pci_dev *pci)
+static void snd_nm256_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c
index cc2008a..7276d42 100644
--- a/sound/pci/pcxhr/pcxhr.c
+++ b/sound/pci/pcxhr/pcxhr.c
@@ -1688,7 +1688,7 @@ static int pcxhr_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit pcxhr_remove(struct pci_dev *pci)
+static void pcxhr_remove(struct pci_dev *pci)
{
pcxhr_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 42da7d5..baf28ca 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -2057,7 +2057,7 @@ static int snd_riptide_joystick_probe(struct pci_dev *pci, const struct pci_devi
return 0;
}
-static void __devexit snd_riptide_joystick_remove(struct pci_dev *pci)
+static void snd_riptide_joystick_remove(struct pci_dev *pci)
{
struct gameport *gameport = pci_get_drvdata(pci);
if (gameport) {
@@ -2172,7 +2172,7 @@ static int snd_card_riptide_probe(struct pci_dev *pci, const struct pci_device_i
return err;
}
-static void __devexit snd_card_riptide_remove(struct pci_dev *pci)
+static void snd_card_riptide_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c
index 1378c3c..04f51da 100644
--- a/sound/pci/rme32.c
+++ b/sound/pci/rme32.c
@@ -1977,7 +1977,7 @@ static int snd_rme32_probe(struct pci_dev *pci, const struct pci_device_id *pci_
return 0;
}
-static void __devexit snd_rme32_remove(struct pci_dev *pci)
+static void snd_rme32_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c
index c145d80..2fbec92 100644
--- a/sound/pci/rme96.c
+++ b/sound/pci/rme96.c
@@ -2387,7 +2387,7 @@ static int snd_rme96_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_rme96_remove(struct pci_dev *pci)
+static void snd_rme96_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index bff2f60..6b19f32 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -5630,7 +5630,7 @@ static int snd_hdsp_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_hdsp_remove(struct pci_dev *pci)
+static void snd_hdsp_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index 4724808..1bf1d8d 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -6964,7 +6964,7 @@ static int snd_hdspm_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_hdspm_remove(struct pci_dev *pci)
+static void snd_hdspm_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c
index 077cfb7..ca8420e 100644
--- a/sound/pci/rme9652/rme9652.c
+++ b/sound/pci/rme9652/rme9652.c
@@ -2625,7 +2625,7 @@ static int snd_rme9652_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_rme9652_remove(struct pci_dev *pci)
+static void snd_rme9652_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/sis7019.c b/sound/pci/sis7019.c
index 8548deb..a9d7a1c 100644
--- a/sound/pci/sis7019.c
+++ b/sound/pci/sis7019.c
@@ -1478,7 +1478,7 @@ error_out:
return rc;
}
-static void __devexit snd_sis7019_remove(struct pci_dev *pci)
+static void snd_sis7019_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
index f192476..da10d1d 100644
--- a/sound/pci/sonicvibes.c
+++ b/sound/pci/sonicvibes.c
@@ -1524,7 +1524,7 @@ static int snd_sonic_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_sonic_remove(struct pci_dev *pci)
+static void snd_sonic_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/trident/trident.c b/sound/pci/trident/trident.c
index 7594bc2..ea71f89 100644
--- a/sound/pci/trident/trident.c
+++ b/sound/pci/trident/trident.c
@@ -166,7 +166,7 @@ static int snd_trident_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_trident_remove(struct pci_dev *pci)
+static void snd_trident_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index 5481695..6716479 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -2643,7 +2643,7 @@ static int snd_via82xx_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_via82xx_remove(struct pci_dev *pci)
+static void snd_via82xx_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c
index a7f5c64..11d5320 100644
--- a/sound/pci/via82xx_modem.c
+++ b/sound/pci/via82xx_modem.c
@@ -1224,7 +1224,7 @@ static int snd_via82xx_probe(struct pci_dev *pci,
return err;
}
-static void __devexit snd_via82xx_remove(struct pci_dev *pci)
+static void snd_via82xx_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c
index 6d4fbcf..2400277 100644
--- a/sound/pci/vx222/vx222.c
+++ b/sound/pci/vx222/vx222.c
@@ -251,7 +251,7 @@ static int snd_vx222_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_vx222_remove(struct pci_dev *pci)
+static void snd_vx222_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c
index 2dbb55f..b0e1a0c 100644
--- a/sound/pci/ymfpci/ymfpci.c
+++ b/sound/pci/ymfpci/ymfpci.c
@@ -344,7 +344,7 @@ static int snd_card_ymfpci_probe(struct pci_dev *pci,
return 0;
}
-static void __devexit snd_card_ymfpci_remove(struct pci_dev *pci)
+static void snd_card_ymfpci_remove(struct pci_dev *pci)
{
snd_card_free(pci_get_drvdata(pci));
pci_set_drvdata(pci, NULL);
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c
index 625d12e..09fc848 100644
--- a/sound/ppc/powermac.c
+++ b/sound/ppc/powermac.c
@@ -136,7 +136,7 @@ __error:
}
-static int __devexit snd_pmac_remove(struct platform_device *devptr)
+static int snd_pmac_remove(struct platform_device *devptr)
{
snd_card_free(platform_get_drvdata(devptr));
platform_set_drvdata(devptr, NULL);
diff --git a/sound/sh/aica.c b/sound/sh/aica.c
index 1cbbf42..0ab1f91 100644
--- a/sound/sh/aica.c
+++ b/sound/sh/aica.c
@@ -591,7 +591,7 @@ static int add_aicamixer_controls(struct snd_card_aica
return 0;
}
-static int __devexit snd_aica_remove(struct platform_device *devptr)
+static int snd_aica_remove(struct platform_device *devptr)
{
struct snd_card_aica *dreamcastcard;
dreamcastcard = platform_get_drvdata(devptr);
diff --git a/sound/soc/atmel/atmel-pcm.c b/sound/soc/atmel/atmel-pcm.c
index 92cc26d..41849c6 100644
--- a/sound/soc/atmel/atmel-pcm.c
+++ b/sound/soc/atmel/atmel-pcm.c
@@ -478,7 +478,7 @@ static int atmel_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &atmel_soc_platform);
}
-static int __devexit atmel_soc_platform_remove(struct platform_device *pdev)
+static int atmel_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c
index f2e6efd..d3528cd 100644
--- a/sound/soc/atmel/atmel_ssc_dai.c
+++ b/sound/soc/atmel/atmel_ssc_dai.c
@@ -794,7 +794,7 @@ static int asoc_ssc_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &atmel_ssc_dai[pdev->id]);
}
-static int __devexit asoc_ssc_remove(struct platform_device *pdev)
+static int asoc_ssc_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/atmel/sam9g20_wm8731.c b/sound/soc/atmel/sam9g20_wm8731.c
index 1197515..8e533c9 100644
--- a/sound/soc/atmel/sam9g20_wm8731.c
+++ b/sound/soc/atmel/sam9g20_wm8731.c
@@ -244,7 +244,7 @@ err:
return ret;
}
-static int __devexit at91sam9g20ek_audio_remove(struct platform_device *pdev)
+static int at91sam9g20ek_audio_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/au1x/ac97c.c b/sound/soc/au1x/ac97c.c
index a444bfb..ea7d9d1 100644
--- a/sound/soc/au1x/ac97c.c
+++ b/sound/soc/au1x/ac97c.c
@@ -276,7 +276,7 @@ static int au1xac97c_drvprobe(struct platform_device *pdev)
return 0;
}
-static int __devexit au1xac97c_drvremove(struct platform_device *pdev)
+static int au1xac97c_drvremove(struct platform_device *pdev)
{
struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev);
diff --git a/sound/soc/au1x/db1000.c b/sound/soc/au1x/db1000.c
index 2a8bf01..376d976 100644
--- a/sound/soc/au1x/db1000.c
+++ b/sound/soc/au1x/db1000.c
@@ -41,7 +41,7 @@ static int db1000_audio_probe(struct platform_device *pdev)
return snd_soc_register_card(card);
}
-static int __devexit db1000_audio_remove(struct platform_device *pdev)
+static int db1000_audio_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
snd_soc_unregister_card(card);
diff --git a/sound/soc/au1x/db1200.c b/sound/soc/au1x/db1200.c
index fdda99c..a497a0c 100644
--- a/sound/soc/au1x/db1200.c
+++ b/sound/soc/au1x/db1200.c
@@ -186,7 +186,7 @@ static int db1200_audio_probe(struct platform_device *pdev)
return snd_soc_register_card(card);
}
-static int __devexit db1200_audio_remove(struct platform_device *pdev)
+static int db1200_audio_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
snd_soc_unregister_card(card);
diff --git a/sound/soc/au1x/dbdma2.c b/sound/soc/au1x/dbdma2.c
index ec85c58..3b4eafa 100644
--- a/sound/soc/au1x/dbdma2.c
+++ b/sound/soc/au1x/dbdma2.c
@@ -362,7 +362,7 @@ static int au1xpsc_pcm_drvprobe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &au1xpsc_soc_platform);
}
-static int __devexit au1xpsc_pcm_drvremove(struct platform_device *pdev)
+static int au1xpsc_pcm_drvremove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index ccfbe5b..befd107 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -335,7 +335,7 @@ static int alchemy_pcm_drvprobe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &alchemy_pcm_soc_platform);
}
-static int __devexit alchemy_pcm_drvremove(struct platform_device *pdev)
+static int alchemy_pcm_drvremove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
diff --git a/sound/soc/au1x/i2sc.c b/sound/soc/au1x/i2sc.c
index 4737c85..072448a 100644
--- a/sound/soc/au1x/i2sc.c
+++ b/sound/soc/au1x/i2sc.c
@@ -263,7 +263,7 @@ static int au1xi2s_drvprobe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &au1xi2s_dai_driver);
}
-static int __devexit au1xi2s_drvremove(struct platform_device *pdev)
+static int au1xi2s_drvremove(struct platform_device *pdev)
{
struct au1xpsc_audio_data *ctx = platform_get_drvdata(pdev);
diff --git a/sound/soc/au1x/psc-ac97.c b/sound/soc/au1x/psc-ac97.c
index c541c92..6ba07e3 100644
--- a/sound/soc/au1x/psc-ac97.c
+++ b/sound/soc/au1x/psc-ac97.c
@@ -427,7 +427,7 @@ static int au1xpsc_ac97_drvprobe(struct platform_device *pdev)
return 0;
}
-static int __devexit au1xpsc_ac97_drvremove(struct platform_device *pdev)
+static int au1xpsc_ac97_drvremove(struct platform_device *pdev)
{
struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
diff --git a/sound/soc/au1x/psc-i2s.c b/sound/soc/au1x/psc-i2s.c
index bed90cc..360b4e5 100644
--- a/sound/soc/au1x/psc-i2s.c
+++ b/sound/soc/au1x/psc-i2s.c
@@ -353,7 +353,7 @@ static int au1xpsc_i2s_drvprobe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &wd->dai_drv);
}
-static int __devexit au1xpsc_i2s_drvremove(struct platform_device *pdev)
+static int au1xpsc_i2s_drvremove(struct platform_device *pdev)
{
struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bf5xx-ac97-pcm.c b/sound/soc/blackfin/bf5xx-ac97-pcm.c
index dce0f25..7e2f360 100644
--- a/sound/soc/blackfin/bf5xx-ac97-pcm.c
+++ b/sound/soc/blackfin/bf5xx-ac97-pcm.c
@@ -458,7 +458,7 @@ static int bf5xx_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &bf5xx_ac97_soc_platform);
}
-static int __devexit bf5xx_soc_platform_remove(struct platform_device *pdev)
+static int bf5xx_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/blackfin/bf5xx-ac97.c b/sound/soc/blackfin/bf5xx-ac97.c
index 6845373..8e41bcb 100644
--- a/sound/soc/blackfin/bf5xx-ac97.c
+++ b/sound/soc/blackfin/bf5xx-ac97.c
@@ -352,7 +352,7 @@ gpio_err:
return ret;
}
-static int __devexit asoc_bfin_ac97_remove(struct platform_device *pdev)
+static int asoc_bfin_ac97_remove(struct platform_device *pdev)
{
struct sport_device *sport_handle = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bf5xx-ad1836.c b/sound/soc/blackfin/bf5xx-ad1836.c
index b87f5aa..d23f4b0 100644
--- a/sound/soc/blackfin/bf5xx-ad1836.c
+++ b/sound/soc/blackfin/bf5xx-ad1836.c
@@ -98,7 +98,7 @@ static int bf5xx_ad1836_driver_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit bf5xx_ad1836_driver_remove(struct platform_device *pdev)
+static int bf5xx_ad1836_driver_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bf5xx-i2s-pcm.c b/sound/soc/blackfin/bf5xx-i2s-pcm.c
index b3a5cbe..262c1de 100644
--- a/sound/soc/blackfin/bf5xx-i2s-pcm.c
+++ b/sound/soc/blackfin/bf5xx-i2s-pcm.c
@@ -297,7 +297,7 @@ static int bfin_i2s_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &bf5xx_i2s_soc_platform);
}
-static int __devexit bfin_i2s_soc_platform_remove(struct platform_device *pdev)
+static int bfin_i2s_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/blackfin/bf5xx-i2s.c b/sound/soc/blackfin/bf5xx-i2s.c
index f07e3ae..168d88b 100644
--- a/sound/soc/blackfin/bf5xx-i2s.c
+++ b/sound/soc/blackfin/bf5xx-i2s.c
@@ -267,7 +267,7 @@ static int bf5xx_i2s_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit bf5xx_i2s_remove(struct platform_device *pdev)
+static int bf5xx_i2s_remove(struct platform_device *pdev)
{
struct sport_device *sport_handle = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bf5xx-tdm-pcm.c b/sound/soc/blackfin/bf5xx-tdm-pcm.c
index 23a4dec..0e6b888 100644
--- a/sound/soc/blackfin/bf5xx-tdm-pcm.c
+++ b/sound/soc/blackfin/bf5xx-tdm-pcm.c
@@ -322,7 +322,7 @@ static int bf5xx_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &bf5xx_tdm_soc_platform);
}
-static int __devexit bf5xx_soc_platform_remove(struct platform_device *pdev)
+static int bf5xx_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/blackfin/bf5xx-tdm.c b/sound/soc/blackfin/bf5xx-tdm.c
index 806f8f0..c1e516e 100644
--- a/sound/soc/blackfin/bf5xx-tdm.c
+++ b/sound/soc/blackfin/bf5xx-tdm.c
@@ -295,7 +295,7 @@ sport_config_err:
return ret;
}
-static int __devexit bfin_tdm_remove(struct platform_device *pdev)
+static int bfin_tdm_remove(struct platform_device *pdev)
{
struct sport_device *sport_handle = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bf6xx-i2s.c b/sound/soc/blackfin/bf6xx-i2s.c
index a87b7b2..8f33797 100644
--- a/sound/soc/blackfin/bf6xx-i2s.c
+++ b/sound/soc/blackfin/bf6xx-i2s.c
@@ -208,7 +208,7 @@ static int bfin_i2s_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit bfin_i2s_remove(struct platform_device *pdev)
+static int bfin_i2s_remove(struct platform_device *pdev)
{
struct sport_device *sport = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bfin-eval-adau1373.c b/sound/soc/blackfin/bfin-eval-adau1373.c
index c494e85..4ef9683 100644
--- a/sound/soc/blackfin/bfin-eval-adau1373.c
+++ b/sound/soc/blackfin/bfin-eval-adau1373.c
@@ -157,7 +157,7 @@ static int bfin_eval_adau1373_probe(struct platform_device *pdev)
return snd_soc_register_card(&bfin_eval_adau1373);
}
-static int __devexit bfin_eval_adau1373_remove(struct platform_device *pdev)
+static int bfin_eval_adau1373_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bfin-eval-adau1701.c b/sound/soc/blackfin/bfin-eval-adau1701.c
index eb2dab8..3b55081 100644
--- a/sound/soc/blackfin/bfin-eval-adau1701.c
+++ b/sound/soc/blackfin/bfin-eval-adau1701.c
@@ -97,7 +97,7 @@ static int bfin_eval_adau1701_probe(struct platform_device *pdev)
return snd_soc_register_card(&bfin_eval_adau1701);
}
-static int __devexit bfin_eval_adau1701_remove(struct platform_device *pdev)
+static int bfin_eval_adau1701_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/blackfin/bfin-eval-adav80x.c b/sound/soc/blackfin/bfin-eval-adav80x.c
index 5d71f76..3b1b61a 100644
--- a/sound/soc/blackfin/bfin-eval-adav80x.c
+++ b/sound/soc/blackfin/bfin-eval-adav80x.c
@@ -122,7 +122,7 @@ static int bfin_eval_adav80x_probe(struct platform_device *pdev)
return snd_soc_register_card(&bfin_eval_adav80x);
}
-static int __devexit bfin_eval_adav80x_remove(struct platform_device *pdev)
+static int bfin_eval_adav80x_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/cirrus/edb93xx.c b/sound/soc/cirrus/edb93xx.c
index 0e766a5..5db68cf 100644
--- a/sound/soc/cirrus/edb93xx.c
+++ b/sound/soc/cirrus/edb93xx.c
@@ -101,7 +101,7 @@ static int edb93xx_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit edb93xx_remove(struct platform_device *pdev)
+static int edb93xx_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/cirrus/ep93xx-ac97.c b/sound/soc/cirrus/ep93xx-ac97.c
index e70f53f..f3f50e6 100644
--- a/sound/soc/cirrus/ep93xx-ac97.c
+++ b/sound/soc/cirrus/ep93xx-ac97.c
@@ -402,7 +402,7 @@ fail:
return ret;
}
-static int __devexit ep93xx_ac97_remove(struct platform_device *pdev)
+static int ep93xx_ac97_remove(struct platform_device *pdev)
{
struct ep93xx_ac97_info *info = platform_get_drvdata(pdev);
diff --git a/sound/soc/cirrus/ep93xx-i2s.c b/sound/soc/cirrus/ep93xx-i2s.c
index fe62a61..3365d4e 100644
--- a/sound/soc/cirrus/ep93xx-i2s.c
+++ b/sound/soc/cirrus/ep93xx-i2s.c
@@ -422,7 +422,7 @@ fail:
return err;
}
-static int __devexit ep93xx_i2s_remove(struct platform_device *pdev)
+static int ep93xx_i2s_remove(struct platform_device *pdev)
{
struct ep93xx_i2s_info *info = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/cirrus/ep93xx-pcm.c b/sound/soc/cirrus/ep93xx-pcm.c
index b294fb1..72eb7a4 100644
--- a/sound/soc/cirrus/ep93xx-pcm.c
+++ b/sound/soc/cirrus/ep93xx-pcm.c
@@ -218,7 +218,7 @@ static int ep93xx_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &ep93xx_soc_platform);
}
-static int __devexit ep93xx_soc_platform_remove(struct platform_device *pdev)
+static int ep93xx_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/cirrus/simone.c b/sound/soc/cirrus/simone.c
index 1c8d9aa..a397bb0 100644
--- a/sound/soc/cirrus/simone.c
+++ b/sound/soc/cirrus/simone.c
@@ -63,7 +63,7 @@ static int simone_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit simone_remove(struct platform_device *pdev)
+static int simone_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/cirrus/snappercl15.c b/sound/soc/cirrus/snappercl15.c
index 7f8dcd2..9d77fe2 100644
--- a/sound/soc/cirrus/snappercl15.c
+++ b/sound/soc/cirrus/snappercl15.c
@@ -119,7 +119,7 @@ static int snappercl15_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit snappercl15_remove(struct platform_device *pdev)
+static int snappercl15_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/codecs/88pm860x-codec.c b/sound/soc/codecs/88pm860x-codec.c
index 0631036..60159c0 100644
--- a/sound/soc/codecs/88pm860x-codec.c
+++ b/sound/soc/codecs/88pm860x-codec.c
@@ -1463,7 +1463,7 @@ out:
return -EINVAL;
}
-static int __devexit pm860x_codec_remove(struct platform_device *pdev)
+static int pm860x_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
platform_set_drvdata(pdev, NULL);
diff --git a/sound/soc/codecs/ab8500-codec.c b/sound/soc/codecs/ab8500-codec.c
index 300ea60..6c12ac2 100644
--- a/sound/soc/codecs/ab8500-codec.c
+++ b/sound/soc/codecs/ab8500-codec.c
@@ -2580,7 +2580,7 @@ static int ab8500_codec_driver_probe(struct platform_device *pdev)
return status;
}
-static int __devexit ab8500_codec_driver_remove(struct platform_device *pdev)
+static int ab8500_codec_driver_remove(struct platform_device *pdev)
{
dev_info(&pdev->dev, "%s Enter.\n", __func__);
diff --git a/sound/soc/codecs/ac97.c b/sound/soc/codecs/ac97.c
index 5c0837b..ef2ae32 100644
--- a/sound/soc/codecs/ac97.c
+++ b/sound/soc/codecs/ac97.c
@@ -124,7 +124,7 @@ static int ac97_probe(struct platform_device *pdev)
&soc_codec_dev_ac97, &ac97_dai, 1);
}
-static int __devexit ac97_remove(struct platform_device *pdev)
+static int ac97_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/ad1836.c b/sound/soc/codecs/ad1836.c
index 384ae12..9a92b79 100644
--- a/sound/soc/codecs/ad1836.c
+++ b/sound/soc/codecs/ad1836.c
@@ -383,7 +383,7 @@ static int ad1836_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit ad1836_spi_remove(struct spi_device *spi)
+static int ad1836_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c
index 209b7b5..784554b 100644
--- a/sound/soc/codecs/ad193x.c
+++ b/sound/soc/codecs/ad193x.c
@@ -397,7 +397,7 @@ static int ad193x_spi_probe(struct spi_device *spi)
&ad193x_dai, 1);
}
-static int __devexit ad193x_spi_remove(struct spi_device *spi)
+static int ad193x_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -450,7 +450,7 @@ static int ad193x_i2c_probe(struct i2c_client *client,
&ad193x_dai, 1);
}
-static int __devexit ad193x_i2c_remove(struct i2c_client *client)
+static int ad193x_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/ad1980.c b/sound/soc/codecs/ad1980.c
index db6657f..f385342 100644
--- a/sound/soc/codecs/ad1980.c
+++ b/sound/soc/codecs/ad1980.c
@@ -261,7 +261,7 @@ static int ad1980_probe(struct platform_device *pdev)
&soc_codec_dev_ad1980, &ad1980_dai, 1);
}
-static int __devexit ad1980_remove(struct platform_device *pdev)
+static int ad1980_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/ad73311.c b/sound/soc/codecs/ad73311.c
index 82c2a7e..b1f2baf 100644
--- a/sound/soc/codecs/ad73311.c
+++ b/sound/soc/codecs/ad73311.c
@@ -47,7 +47,7 @@ static int ad73311_probe(struct platform_device *pdev)
&soc_codec_dev_ad73311, &ad73311_dai, 1);
}
-static int __devexit ad73311_remove(struct platform_device *pdev)
+static int ad73311_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/adau1373.c b/sound/soc/codecs/adau1373.c
index e20e267..8d180fe 100644
--- a/sound/soc/codecs/adau1373.c
+++ b/sound/soc/codecs/adau1373.c
@@ -1370,7 +1370,7 @@ static int adau1373_i2c_probe(struct i2c_client *client,
return ret;
}
-static int __devexit adau1373_i2c_remove(struct i2c_client *client)
+static int adau1373_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/adau1701.c b/sound/soc/codecs/adau1701.c
index bd7d58f..e6e2c75 100644
--- a/sound/soc/codecs/adau1701.c
+++ b/sound/soc/codecs/adau1701.c
@@ -505,7 +505,7 @@ static int adau1701_i2c_probe(struct i2c_client *client,
return ret;
}
-static __devexit int adau1701_i2c_remove(struct i2c_client *client)
+static int adau1701_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/adav80x.c b/sound/soc/codecs/adav80x.c
index cb960fd..3289616 100644
--- a/sound/soc/codecs/adav80x.c
+++ b/sound/soc/codecs/adav80x.c
@@ -860,7 +860,7 @@ static int adav80x_bus_probe(struct device *dev,
return ret;
}
-static int __devexit adav80x_bus_remove(struct device *dev)
+static int adav80x_bus_remove(struct device *dev)
{
snd_soc_unregister_codec(dev);
kfree(dev_get_drvdata(dev));
@@ -873,7 +873,7 @@ static int adav80x_spi_probe(struct spi_device *spi)
return adav80x_bus_probe(&spi->dev, SND_SOC_SPI);
}
-static int __devexit adav80x_spi_remove(struct spi_device *spi)
+static int adav80x_spi_remove(struct spi_device *spi)
{
return adav80x_bus_remove(&spi->dev);
}
@@ -901,7 +901,7 @@ static int adav80x_i2c_probe(struct i2c_client *client,
return adav80x_bus_probe(&client->dev, SND_SOC_I2C);
}
-static int __devexit adav80x_i2c_remove(struct i2c_client *client)
+static int adav80x_i2c_remove(struct i2c_client *client)
{
return adav80x_bus_remove(&client->dev);
}
diff --git a/sound/soc/codecs/ads117x.c b/sound/soc/codecs/ads117x.c
index a152f5a..506d474 100644
--- a/sound/soc/codecs/ads117x.c
+++ b/sound/soc/codecs/ads117x.c
@@ -42,7 +42,7 @@ static int ads117x_probe(struct platform_device *pdev)
&soc_codec_dev_ads117x, &ads117x_dai, 1);
}
-static int __devexit ads117x_remove(struct platform_device *pdev)
+static int ads117x_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/ak4104.c b/sound/soc/codecs/ak4104.c
index b391f26..abca654 100644
--- a/sound/soc/codecs/ak4104.c
+++ b/sound/soc/codecs/ak4104.c
@@ -267,7 +267,7 @@ err:
return ret;
}
-static int __devexit ak4104_spi_remove(struct spi_device *spi)
+static int ak4104_spi_remove(struct spi_device *spi)
{
struct ak4104_private *ak4101 = spi_get_drvdata(spi);
regmap_exit(ak4101->regmap);
diff --git a/sound/soc/codecs/ak4535.c b/sound/soc/codecs/ak4535.c
index 77e285c..204005b 100644
--- a/sound/soc/codecs/ak4535.c
+++ b/sound/soc/codecs/ak4535.c
@@ -464,7 +464,7 @@ static int ak4535_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int ak4535_i2c_remove(struct i2c_client *client)
+static int ak4535_i2c_remove(struct i2c_client *client)
{
struct ak4535_priv *ak4535 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/ak4641.c b/sound/soc/codecs/ak4641.c
index 09da215..69c2d21 100644
--- a/sound/soc/codecs/ak4641.c
+++ b/sound/soc/codecs/ak4641.c
@@ -610,7 +610,7 @@ err_out:
return ret;
}
-static int __devexit ak4641_i2c_remove(struct i2c_client *i2c)
+static int ak4641_i2c_remove(struct i2c_client *i2c)
{
struct ak4641_platform_data *pdata = i2c->dev.platform_data;
diff --git a/sound/soc/codecs/ak4642.c b/sound/soc/codecs/ak4642.c
index aba3813..b838fc2 100644
--- a/sound/soc/codecs/ak4642.c
+++ b/sound/soc/codecs/ak4642.c
@@ -540,7 +540,7 @@ static int ak4642_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int ak4642_i2c_remove(struct i2c_client *client)
+static int ak4642_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/ak4671.c b/sound/soc/codecs/ak4671.c
index 93a76cb..9425ebd 100644
--- a/sound/soc/codecs/ak4671.c
+++ b/sound/soc/codecs/ak4671.c
@@ -674,7 +674,7 @@ static int ak4671_i2c_probe(struct i2c_client *client,
return ret;
}
-static __devexit int ak4671_i2c_remove(struct i2c_client *client)
+static int ak4671_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/alc5623.c b/sound/soc/codecs/alc5623.c
index 5a7ad19..f479b5e 100644
--- a/sound/soc/codecs/alc5623.c
+++ b/sound/soc/codecs/alc5623.c
@@ -1058,7 +1058,7 @@ static int alc5623_i2c_probe(struct i2c_client *client,
return ret;
}
-static __devexit int alc5623_i2c_remove(struct i2c_client *client)
+static int alc5623_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/alc5632.c b/sound/soc/codecs/alc5632.c
index 7026e3d..856c8ef 100644
--- a/sound/soc/codecs/alc5632.c
+++ b/sound/soc/codecs/alc5632.c
@@ -1179,7 +1179,7 @@ static int alc5632_i2c_probe(struct i2c_client *client,
return ret;
}
-static __devexit int alc5632_i2c_remove(struct i2c_client *client)
+static int alc5632_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/cs4271.c b/sound/soc/codecs/cs4271.c
index 3d637b2..8238998 100644
--- a/sound/soc/codecs/cs4271.c
+++ b/sound/soc/codecs/cs4271.c
@@ -585,7 +585,7 @@ static int cs4271_spi_probe(struct spi_device *spi)
&cs4271_dai, 1);
}
-static int __devexit cs4271_spi_remove(struct spi_device *spi)
+static int cs4271_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -625,7 +625,7 @@ static int cs4271_i2c_probe(struct i2c_client *client,
&cs4271_dai, 1);
}
-static int __devexit cs4271_i2c_remove(struct i2c_client *client)
+static int cs4271_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 362c20b..c82a0f8 100644
--- a/sound/soc/codecs/cs42l73.c
+++ b/sound/soc/codecs/cs42l73.c
@@ -1406,7 +1406,7 @@ static int cs42l73_i2c_probe(struct i2c_client *i2c_client,
return 0;
}
-static __devexit int cs42l73_i2c_remove(struct i2c_client *client)
+static int cs42l73_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/da7210.c b/sound/soc/codecs/da7210.c
index 0c3b09c..e456463 100644
--- a/sound/soc/codecs/da7210.c
+++ b/sound/soc/codecs/da7210.c
@@ -1257,7 +1257,7 @@ err_regmap:
return ret;
}
-static int __devexit da7210_i2c_remove(struct i2c_client *client)
+static int da7210_i2c_remove(struct i2c_client *client)
{
struct da7210_priv *da7210 = i2c_get_clientdata(client);
@@ -1359,7 +1359,7 @@ err_regmap:
return ret;
}
-static int __devexit da7210_spi_remove(struct spi_device *spi)
+static int da7210_spi_remove(struct spi_device *spi)
{
struct da7210_priv *da7210 = spi_get_drvdata(spi);
snd_soc_unregister_codec(&spi->dev);
diff --git a/sound/soc/codecs/da732x.c b/sound/soc/codecs/da732x.c
index 850bfed..cea2827 100644
--- a/sound/soc/codecs/da732x.c
+++ b/sound/soc/codecs/da732x.c
@@ -1596,7 +1596,7 @@ err:
return ret;
}
-static __devexit int da732x_i2c_remove(struct i2c_client *client)
+static int da732x_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/da9055.c b/sound/soc/codecs/da9055.c
index cf8dfeb..3549a34 100644
--- a/sound/soc/codecs/da9055.c
+++ b/sound/soc/codecs/da9055.c
@@ -1517,7 +1517,7 @@ static int da9055_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit da9055_remove(struct i2c_client *client)
+static int da9055_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/dfbmcs320.c b/sound/soc/codecs/dfbmcs320.c
index 61ccf30..4f4f7f4 100644
--- a/sound/soc/codecs/dfbmcs320.c
+++ b/sound/soc/codecs/dfbmcs320.c
@@ -39,7 +39,7 @@ static int dfbmcs320_probe(struct platform_device *pdev)
&dfbmcs320_dai, 1);
}
-static int __devexit dfbmcs320_remove(struct platform_device *pdev)
+static int dfbmcs320_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
diff --git a/sound/soc/codecs/dmic.c b/sound/soc/codecs/dmic.c
index 0dc7fab..66967ba 100644
--- a/sound/soc/codecs/dmic.c
+++ b/sound/soc/codecs/dmic.c
@@ -72,7 +72,7 @@ static int dmic_dev_probe(struct platform_device *pdev)
&soc_dmic, &dmic_dai, 1);
}
-static int __devexit dmic_dev_remove(struct platform_device *pdev)
+static int dmic_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/isabelle.c b/sound/soc/codecs/isabelle.c
index 8853a83..054a18f 100644
--- a/sound/soc/codecs/isabelle.c
+++ b/sound/soc/codecs/isabelle.c
@@ -1145,7 +1145,7 @@ static int isabelle_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit isabelle_i2c_remove(struct i2c_client *client)
+static int isabelle_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/jz4740.c b/sound/soc/codecs/jz4740.c
index 3606f26..d991529 100644
--- a/sound/soc/codecs/jz4740.c
+++ b/sound/soc/codecs/jz4740.c
@@ -380,7 +380,7 @@ static int jz4740_codec_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit jz4740_codec_remove(struct platform_device *pdev)
+static int jz4740_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
diff --git a/sound/soc/codecs/lm4857.c b/sound/soc/codecs/lm4857.c
index 27e7991..1d004a4 100644
--- a/sound/soc/codecs/lm4857.c
+++ b/sound/soc/codecs/lm4857.c
@@ -228,7 +228,7 @@ static int lm4857_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit lm4857_i2c_remove(struct i2c_client *i2c)
+static int lm4857_i2c_remove(struct i2c_client *i2c)
{
snd_soc_unregister_codec(&i2c->dev);
return 0;
diff --git a/sound/soc/codecs/lm49453.c b/sound/soc/codecs/lm49453.c
index 568e499..a008933 100644
--- a/sound/soc/codecs/lm49453.c
+++ b/sound/soc/codecs/lm49453.c
@@ -1517,7 +1517,7 @@ static int lm49453_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit lm49453_i2c_remove(struct i2c_client *client)
+static int lm49453_i2c_remove(struct i2c_client *client)
{
struct lm49453_priv *lm49453 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/max9768.c b/sound/soc/codecs/max9768.c
index 4ece6ab..63ccd6f 100644
--- a/sound/soc/codecs/max9768.c
+++ b/sound/soc/codecs/max9768.c
@@ -210,7 +210,7 @@ static int max9768_i2c_probe(struct i2c_client *client,
return err;
}
-static int __devexit max9768_i2c_remove(struct i2c_client *client)
+static int max9768_i2c_remove(struct i2c_client *client)
{
struct max9768 *max9768 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/max98088.c b/sound/soc/codecs/max98088.c
index b858264..a4c16fd 100644
--- a/sound/soc/codecs/max98088.c
+++ b/sound/soc/codecs/max98088.c
@@ -2084,7 +2084,7 @@ static int max98088_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit max98088_i2c_remove(struct i2c_client *client)
+static int max98088_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/max98095.c b/sound/soc/codecs/max98095.c
index 1e17aef..41cdd16 100644
--- a/sound/soc/codecs/max98095.c
+++ b/sound/soc/codecs/max98095.c
@@ -2511,7 +2511,7 @@ static int max98095_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit max98095_i2c_remove(struct i2c_client *client)
+static int max98095_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/max9850.c b/sound/soc/codecs/max9850.c
index 261b62f..8720ebc 100644
--- a/sound/soc/codecs/max9850.c
+++ b/sound/soc/codecs/max9850.c
@@ -347,7 +347,7 @@ static int max9850_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int max9850_i2c_remove(struct i2c_client *client)
+static int max9850_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/max9877.c b/sound/soc/codecs/max9877.c
index 5243340..0c01469 100644
--- a/sound/soc/codecs/max9877.c
+++ b/sound/soc/codecs/max9877.c
@@ -268,7 +268,7 @@ static int max9877_i2c_probe(struct i2c_client *client,
return 0;
}
-static __devexit int max9877_i2c_remove(struct i2c_client *client)
+static int max9877_i2c_remove(struct i2c_client *client)
{
i2c = NULL;
diff --git a/sound/soc/codecs/ml26124.c b/sound/soc/codecs/ml26124.c
index d3d6b26..d38a05b 100644
--- a/sound/soc/codecs/ml26124.c
+++ b/sound/soc/codecs/ml26124.c
@@ -649,7 +649,7 @@ static int ml26124_i2c_probe(struct i2c_client *i2c,
&soc_codec_dev_ml26124, &ml26124_dai, 1);
}
-static __devexit int ml26124_i2c_remove(struct i2c_client *client)
+static int ml26124_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/omap-hdmi.c b/sound/soc/codecs/omap-hdmi.c
index 8ddc3d56..529d064 100644
--- a/sound/soc/codecs/omap-hdmi.c
+++ b/sound/soc/codecs/omap-hdmi.c
@@ -45,7 +45,7 @@ static int omap_hdmi_codec_probe(struct platform_device *pdev)
&omap_hdmi_codec_dai, 1);
}
-static __devexit int omap_hdmi_codec_remove(struct platform_device *pdev)
+static int omap_hdmi_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/pcm3008.c b/sound/soc/codecs/pcm3008.c
index 74561f3..f2a6282 100644
--- a/sound/soc/codecs/pcm3008.c
+++ b/sound/soc/codecs/pcm3008.c
@@ -155,7 +155,7 @@ static int pcm3008_codec_probe(struct platform_device *pdev)
&soc_codec_dev_pcm3008, &pcm3008_dai, 1);
}
-static int __devexit pcm3008_codec_remove(struct platform_device *pdev)
+static int pcm3008_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/rt5631.c b/sound/soc/codecs/rt5631.c
index 32d5ff4..e8a096c 100644
--- a/sound/soc/codecs/rt5631.c
+++ b/sound/soc/codecs/rt5631.c
@@ -1748,7 +1748,7 @@ static int rt5631_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int rt5631_i2c_remove(struct i2c_client *client)
+static int rt5631_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 40d4fc1..dca33c6 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -1422,7 +1422,7 @@ static int sgtl5000_i2c_probe(struct i2c_client *client,
return ret;
}
-static __devexit int sgtl5000_i2c_remove(struct i2c_client *client)
+static int sgtl5000_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/si476x.c b/sound/soc/codecs/si476x.c
index 8c46732..f2d61a1 100644
--- a/sound/soc/codecs/si476x.c
+++ b/sound/soc/codecs/si476x.c
@@ -232,7 +232,7 @@ static int si476x_platform_probe(struct platform_device *pdev)
&si476x_dai, 1);
}
-static int __devexit si476x_platform_remove(struct platform_device *pdev)
+static int si476x_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/sn95031.c b/sound/soc/codecs/sn95031.c
index 98529c5..d1ae869d 100644
--- a/sound/soc/codecs/sn95031.c
+++ b/sound/soc/codecs/sn95031.c
@@ -903,7 +903,7 @@ static int sn95031_device_probe(struct platform_device *pdev)
sn95031_dais, ARRAY_SIZE(sn95031_dais));
}
-static int __devexit sn95031_device_remove(struct platform_device *pdev)
+static int sn95031_device_remove(struct platform_device *pdev)
{
pr_debug("codec device remove called\n");
snd_soc_unregister_codec(&pdev->dev);
diff --git a/sound/soc/codecs/ssm2602.c b/sound/soc/codecs/ssm2602.c
index 6fa63cc..f8d30e5 100644
--- a/sound/soc/codecs/ssm2602.c
+++ b/sound/soc/codecs/ssm2602.c
@@ -713,7 +713,7 @@ static int ssm2602_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit ssm2602_spi_remove(struct spi_device *spi)
+static int ssm2602_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -759,7 +759,7 @@ static int ssm2602_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit ssm2602_i2c_remove(struct i2c_client *client)
+static int ssm2602_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/sta32x.c b/sound/soc/codecs/sta32x.c
index 2309f5a..6aa2753 100644
--- a/sound/soc/codecs/sta32x.c
+++ b/sound/soc/codecs/sta32x.c
@@ -1033,7 +1033,7 @@ static int sta32x_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int sta32x_i2c_remove(struct i2c_client *client)
+static int sta32x_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/sta529.c b/sound/soc/codecs/sta529.c
index 570a09e..09ed245 100644
--- a/sound/soc/codecs/sta529.c
+++ b/sound/soc/codecs/sta529.c
@@ -412,7 +412,7 @@ static int sta529_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit sta529_i2c_remove(struct i2c_client *client)
+static int sta529_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/stac9766.c b/sound/soc/codecs/stac9766.c
index 20ad890..2eda85ba 100644
--- a/sound/soc/codecs/stac9766.c
+++ b/sound/soc/codecs/stac9766.c
@@ -391,7 +391,7 @@ static int stac9766_probe(struct platform_device *pdev)
&soc_codec_dev_stac9766, stac9766_dai, ARRAY_SIZE(stac9766_dai));
}
-static int __devexit stac9766_remove(struct platform_device *pdev)
+static int stac9766_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
index 1d45339..5d71c86 100644
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -748,7 +748,7 @@ static int aic32x4_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int aic32x4_i2c_remove(struct i2c_client *client)
+static int aic32x4_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/tlv320dac33.c b/sound/soc/codecs/tlv320dac33.c
index 8af052b..922f9b3a 100644
--- a/sound/soc/codecs/tlv320dac33.c
+++ b/sound/soc/codecs/tlv320dac33.c
@@ -1586,7 +1586,7 @@ err_gpio:
return ret;
}
-static int __devexit dac33_i2c_remove(struct i2c_client *client)
+static int dac33_i2c_remove(struct i2c_client *client)
{
struct tlv320dac33_priv *dac33 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c
index f1c0399..eb3de04 100644
--- a/sound/soc/codecs/tpa6130a2.c
+++ b/sound/soc/codecs/tpa6130a2.c
@@ -455,7 +455,7 @@ err_gpio:
return ret;
}
-static int __devexit tpa6130a2_remove(struct i2c_client *client)
+static int tpa6130a2_remove(struct i2c_client *client)
{
struct tpa6130a2_data *data = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index c53c7fa..63b280b 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -2340,7 +2340,7 @@ static int twl4030_codec_probe(struct platform_device *pdev)
twl4030_dai, ARRAY_SIZE(twl4030_dai));
}
-static int __devexit twl4030_codec_remove(struct platform_device *pdev)
+static int twl4030_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index e3256ba..3fc3fc6 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1235,7 +1235,7 @@ static int twl6040_codec_probe(struct platform_device *pdev)
twl6040_dai, ARRAY_SIZE(twl6040_dai));
}
-static int __devexit twl6040_codec_remove(struct platform_device *pdev)
+static int twl6040_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c
index 6c5a395..6d0aa44 100644
--- a/sound/soc/codecs/uda134x.c
+++ b/sound/soc/codecs/uda134x.c
@@ -607,7 +607,7 @@ static int uda134x_codec_probe(struct platform_device *pdev)
&soc_codec_dev_uda134x, &uda134x_dai, 1);
}
-static int __devexit uda134x_codec_remove(struct platform_device *pdev)
+static int uda134x_codec_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/uda1380.c b/sound/soc/codecs/uda1380.c
index 289dfe1..474b812 100644
--- a/sound/soc/codecs/uda1380.c
+++ b/sound/soc/codecs/uda1380.c
@@ -814,7 +814,7 @@ static int uda1380_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static int __devexit uda1380_i2c_remove(struct i2c_client *i2c)
+static int uda1380_i2c_remove(struct i2c_client *i2c)
{
snd_soc_unregister_codec(&i2c->dev);
return 0;
diff --git a/sound/soc/codecs/wl1273.c b/sound/soc/codecs/wl1273.c
index 2ae0302..54cd3da 100644
--- a/sound/soc/codecs/wl1273.c
+++ b/sound/soc/codecs/wl1273.c
@@ -491,7 +491,7 @@ static int wl1273_platform_probe(struct platform_device *pdev)
&wl1273_dai, 1);
}
-static int __devexit wl1273_platform_remove(struct platform_device *pdev)
+static int wl1273_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm0010.c b/sound/soc/codecs/wm0010.c
index c449178..132fee5 100644
--- a/sound/soc/codecs/wm0010.c
+++ b/sound/soc/codecs/wm0010.c
@@ -963,7 +963,7 @@ static int wm0010_spi_probe(struct spi_device *spi)
return 0;
}
-static int __devexit wm0010_spi_remove(struct spi_device *spi)
+static int wm0010_spi_remove(struct spi_device *spi)
{
struct wm0010_priv *wm0010 = spi_get_drvdata(spi);
diff --git a/sound/soc/codecs/wm1250-ev1.c b/sound/soc/codecs/wm1250-ev1.c
index 18e58bd..13de5ac 100644
--- a/sound/soc/codecs/wm1250-ev1.c
+++ b/sound/soc/codecs/wm1250-ev1.c
@@ -237,7 +237,7 @@ static int wm1250_ev1_probe(struct i2c_client *i2c,
return 0;
}
-static int __devexit wm1250_ev1_remove(struct i2c_client *i2c)
+static int wm1250_ev1_remove(struct i2c_client *i2c)
{
snd_soc_unregister_codec(&i2c->dev);
wm1250_ev1_free(i2c);
diff --git a/sound/soc/codecs/wm2000.c b/sound/soc/codecs/wm2000.c
index 9956b74..637f8d1 100644
--- a/sound/soc/codecs/wm2000.c
+++ b/sound/soc/codecs/wm2000.c
@@ -871,7 +871,7 @@ out:
return ret;
}
-static __devexit int wm2000_i2c_remove(struct i2c_client *i2c)
+static int wm2000_i2c_remove(struct i2c_client *i2c)
{
snd_soc_unregister_codec(&i2c->dev);
diff --git a/sound/soc/codecs/wm2200.c b/sound/soc/codecs/wm2200.c
index b6428c6..761304b 100644
--- a/sound/soc/codecs/wm2200.c
+++ b/sound/soc/codecs/wm2200.c
@@ -2388,7 +2388,7 @@ err:
return ret;
}
-static __devexit int wm2200_i2c_remove(struct i2c_client *i2c)
+static int wm2200_i2c_remove(struct i2c_client *i2c)
{
struct wm2200_priv *wm2200 = i2c_get_clientdata(i2c);
diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c
index d5d8b52..812c326 100644
--- a/sound/soc/codecs/wm5100.c
+++ b/sound/soc/codecs/wm5100.c
@@ -2639,7 +2639,7 @@ err:
return ret;
}
-static __devexit int wm5100_i2c_remove(struct i2c_client *i2c)
+static int wm5100_i2c_remove(struct i2c_client *i2c)
{
struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c);
diff --git a/sound/soc/codecs/wm5102.c b/sound/soc/codecs/wm5102.c
index 0210a08..4fc8fa7 100644
--- a/sound/soc/codecs/wm5102.c
+++ b/sound/soc/codecs/wm5102.c
@@ -1495,7 +1495,7 @@ static int wm5102_probe(struct platform_device *pdev)
wm5102_dai, ARRAY_SIZE(wm5102_dai));
}
-static int __devexit wm5102_remove(struct platform_device *pdev)
+static int wm5102_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
pm_runtime_disable(&pdev->dev);
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index 59f5d16..5bb182f 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -988,7 +988,7 @@ static int wm5110_probe(struct platform_device *pdev)
wm5110_dai, ARRAY_SIZE(wm5110_dai));
}
-static int __devexit wm5110_remove(struct platform_device *pdev)
+static int wm5110_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
pm_runtime_disable(&pdev->dev);
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c
index 24eaf4d..154655f 100644
--- a/sound/soc/codecs/wm8350.c
+++ b/sound/soc/codecs/wm8350.c
@@ -1633,7 +1633,7 @@ static int wm8350_probe(struct platform_device *pdev)
&wm8350_dai, 1);
}
-static int __devexit wm8350_remove(struct platform_device *pdev)
+static int wm8350_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm8400.c b/sound/soc/codecs/wm8400.c
index fde7b17..ae2b6bc 100644
--- a/sound/soc/codecs/wm8400.c
+++ b/sound/soc/codecs/wm8400.c
@@ -1445,7 +1445,7 @@ static int wm8400_probe(struct platform_device *pdev)
&wm8400_dai, 1);
}
-static int __devexit wm8400_remove(struct platform_device *pdev)
+static int wm8400_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm8510.c b/sound/soc/codecs/wm8510.c
index 28dbbdc..a18ed57 100644
--- a/sound/soc/codecs/wm8510.c
+++ b/sound/soc/codecs/wm8510.c
@@ -670,7 +670,7 @@ static int wm8510_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8510_spi_remove(struct spi_device *spi)
+static int wm8510_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -711,7 +711,7 @@ static int wm8510_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8510_i2c_remove(struct i2c_client *client)
+static int wm8510_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8523.c b/sound/soc/codecs/wm8523.c
index c05c55d..f3a13bd 100644
--- a/sound/soc/codecs/wm8523.c
+++ b/sound/soc/codecs/wm8523.c
@@ -528,7 +528,7 @@ err_enable:
return ret;
}
-static __devexit int wm8523_i2c_remove(struct i2c_client *client)
+static int wm8523_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8711.c b/sound/soc/codecs/wm8711.c
index a366fdc..f68b52f 100644
--- a/sound/soc/codecs/wm8711.c
+++ b/sound/soc/codecs/wm8711.c
@@ -451,7 +451,7 @@ static int wm8711_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8711_spi_remove(struct spi_device *spi)
+static int wm8711_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
@@ -493,7 +493,7 @@ static int wm8711_i2c_probe(struct i2c_client *client,
return ret;
}
-static __devexit int wm8711_i2c_remove(struct i2c_client *client)
+static int wm8711_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8727.c b/sound/soc/codecs/wm8727.c
index 3bc03f8..462f5e4 100644
--- a/sound/soc/codecs/wm8727.c
+++ b/sound/soc/codecs/wm8727.c
@@ -51,7 +51,7 @@ static int wm8727_probe(struct platform_device *pdev)
&soc_codec_dev_wm8727, &wm8727_dai, 1);
}
-static int __devexit wm8727_remove(struct platform_device *pdev)
+static int wm8727_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm8728.c b/sound/soc/codecs/wm8728.c
index 245c2b4..ce7105a 100644
--- a/sound/soc/codecs/wm8728.c
+++ b/sound/soc/codecs/wm8728.c
@@ -302,7 +302,7 @@ static int wm8728_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8728_spi_remove(struct spi_device *spi)
+static int wm8728_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
@@ -344,7 +344,7 @@ static int wm8728_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8728_i2c_remove(struct i2c_client *client)
+static int wm8728_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c
index 71617ad..dfb93d8 100644
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -661,7 +661,7 @@ static int wm8731_spi_probe(struct spi_device *spi)
return 0;
}
-static int __devexit wm8731_spi_remove(struct spi_device *spi)
+static int wm8731_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -710,7 +710,7 @@ static int wm8731_i2c_probe(struct i2c_client *i2c,
return 0;
}
-static __devexit int wm8731_i2c_remove(struct i2c_client *client)
+static int wm8731_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8737.c b/sound/soc/codecs/wm8737.c
index 9e1a100..825b14d 100644
--- a/sound/soc/codecs/wm8737.c
+++ b/sound/soc/codecs/wm8737.c
@@ -679,7 +679,7 @@ static int wm8737_i2c_probe(struct i2c_client *i2c,
}
-static __devexit int wm8737_i2c_remove(struct i2c_client *client)
+static int wm8737_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
@@ -737,7 +737,7 @@ static int wm8737_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8737_spi_remove(struct spi_device *spi)
+static int wm8737_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c
index 019558c..2709399 100644
--- a/sound/soc/codecs/wm8741.c
+++ b/sound/soc/codecs/wm8741.c
@@ -596,7 +596,7 @@ static int wm8741_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8741_spi_remove(struct spi_device *spi)
+static int wm8741_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
diff --git a/sound/soc/codecs/wm8750.c b/sound/soc/codecs/wm8750.c
index 28256c4..6549c6f 100644
--- a/sound/soc/codecs/wm8750.c
+++ b/sound/soc/codecs/wm8750.c
@@ -791,7 +791,7 @@ static int wm8750_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8750_spi_remove(struct spi_device *spi)
+static int wm8750_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -840,7 +840,7 @@ static int wm8750_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8750_i2c_remove(struct i2c_client *client)
+static int wm8750_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index c22f580..1c51110 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -1585,7 +1585,7 @@ err:
return ret;
}
-static int __devexit wm8753_spi_remove(struct spi_device *spi)
+static int wm8753_spi_remove(struct spi_device *spi)
{
struct wm8753_priv *wm8753 = spi_get_drvdata(spi);
@@ -1643,7 +1643,7 @@ err:
return ret;
}
-static __devexit int wm8753_i2c_remove(struct i2c_client *client)
+static int wm8753_i2c_remove(struct i2c_client *client)
{
struct wm8753_priv *wm8753 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/wm8770.c b/sound/soc/codecs/wm8770.c
index 053a2f5..89a18d8 100644
--- a/sound/soc/codecs/wm8770.c
+++ b/sound/soc/codecs/wm8770.c
@@ -697,7 +697,7 @@ static int wm8770_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8770_spi_remove(struct spi_device *spi)
+static int wm8770_spi_remove(struct spi_device *spi)
{
struct wm8770_priv *wm8770 = spi_get_drvdata(spi);
int i;
diff --git a/sound/soc/codecs/wm8776.c b/sound/soc/codecs/wm8776.c
index 93bca00..146c41d 100644
--- a/sound/soc/codecs/wm8776.c
+++ b/sound/soc/codecs/wm8776.c
@@ -514,7 +514,7 @@ static int wm8776_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8776_spi_remove(struct spi_device *spi)
+static int wm8776_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -555,7 +555,7 @@ static int wm8776_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8776_i2c_remove(struct i2c_client *client)
+static int wm8776_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8782.c b/sound/soc/codecs/wm8782.c
index 4b752b7..f1fdbf6 100644
--- a/sound/soc/codecs/wm8782.c
+++ b/sound/soc/codecs/wm8782.c
@@ -48,7 +48,7 @@ static int wm8782_probe(struct platform_device *pdev)
&soc_codec_dev_wm8782, &wm8782_dai, 1);
}
-static int __devexit wm8782_remove(struct platform_device *pdev)
+static int wm8782_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
index cad8ea0..47e7065 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
@@ -725,7 +725,7 @@ static int wm8804_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8804_spi_remove(struct spi_device *spi)
+static int wm8804_spi_remove(struct spi_device *spi)
{
struct wm8804_priv *wm8804 = spi_get_drvdata(spi);
snd_soc_unregister_codec(&spi->dev);
@@ -775,7 +775,7 @@ err:
return ret;
}
-static __devexit int wm8804_i2c_remove(struct i2c_client *i2c)
+static int wm8804_i2c_remove(struct i2c_client *i2c)
{
struct wm8804_priv *wm8804 = i2c_get_clientdata(i2c);
diff --git a/sound/soc/codecs/wm8900.c b/sound/soc/codecs/wm8900.c
index 375720e..6a453a2 100644
--- a/sound/soc/codecs/wm8900.c
+++ b/sound/soc/codecs/wm8900.c
@@ -1269,7 +1269,7 @@ static int wm8900_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8900_spi_remove(struct spi_device *spi)
+static int wm8900_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -1309,7 +1309,7 @@ static int wm8900_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8900_i2c_remove(struct i2c_client *client)
+static int wm8900_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index 930b1a2..eca4ff1 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -2206,7 +2206,7 @@ err:
return ret;
}
-static __devexit int wm8903_i2c_remove(struct i2c_client *client)
+static int wm8903_i2c_remove(struct i2c_client *client)
{
struct wm8903_priv *wm8903 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index 6a150d0..331b7bc 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -2247,7 +2247,7 @@ err_enable:
return ret;
}
-static __devexit int wm8904_i2c_remove(struct i2c_client *client)
+static int wm8904_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8940.c b/sound/soc/codecs/wm8940.c
index d80fbcf..aba34cf 100644
--- a/sound/soc/codecs/wm8940.c
+++ b/sound/soc/codecs/wm8940.c
@@ -762,7 +762,7 @@ static int wm8940_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8940_i2c_remove(struct i2c_client *client)
+static int wm8940_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/wm8955.c b/sound/soc/codecs/wm8955.c
index b1fd4d7..0ebcf2e 100644
--- a/sound/soc/codecs/wm8955.c
+++ b/sound/soc/codecs/wm8955.c
@@ -1045,7 +1045,7 @@ err:
return ret;
}
-static __devexit int wm8955_i2c_remove(struct i2c_client *client)
+static int wm8955_i2c_remove(struct i2c_client *client)
{
struct wm8955_priv *wm8955 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c
index e22a440..a29b5df 100644
--- a/sound/soc/codecs/wm8960.c
+++ b/sound/soc/codecs/wm8960.c
@@ -1062,7 +1062,7 @@ static int wm8960_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8960_i2c_remove(struct i2c_client *client)
+static int wm8960_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8961.c b/sound/soc/codecs/wm8961.c
index f862f7b..9c0163c 100644
--- a/sound/soc/codecs/wm8961.c
+++ b/sound/soc/codecs/wm8961.c
@@ -993,7 +993,7 @@ static int wm8961_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8961_i2c_remove(struct i2c_client *client)
+static int wm8961_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index dccc56f..7e82420 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3703,7 +3703,7 @@ err:
return ret;
}
-static __devexit int wm8962_i2c_remove(struct i2c_client *client)
+static int wm8962_i2c_remove(struct i2c_client *client)
{
struct wm8962_priv *wm8962 = dev_get_drvdata(&client->dev);
diff --git a/sound/soc/codecs/wm8971.c b/sound/soc/codecs/wm8971.c
index 6028e99..d8a07b7 100644
--- a/sound/soc/codecs/wm8971.c
+++ b/sound/soc/codecs/wm8971.c
@@ -741,7 +741,7 @@ static int wm8971_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8971_i2c_remove(struct i2c_client *client)
+static int wm8971_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8974.c b/sound/soc/codecs/wm8974.c
index a1c8c52..f7c428b 100644
--- a/sound/soc/codecs/wm8974.c
+++ b/sound/soc/codecs/wm8974.c
@@ -636,7 +636,7 @@ static int wm8974_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8974_i2c_remove(struct i2c_client *client)
+static int wm8974_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/wm8978.c b/sound/soc/codecs/wm8978.c
index 7028f1a..32e0085 100644
--- a/sound/soc/codecs/wm8978.c
+++ b/sound/soc/codecs/wm8978.c
@@ -1079,7 +1079,7 @@ err:
return ret;
}
-static __devexit int wm8978_i2c_remove(struct i2c_client *client)
+static int wm8978_i2c_remove(struct i2c_client *client)
{
struct wm8978_priv *wm8978 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/wm8983.c b/sound/soc/codecs/wm8983.c
index 9b2b612..910bdef 100644
--- a/sound/soc/codecs/wm8983.c
+++ b/sound/soc/codecs/wm8983.c
@@ -1110,7 +1110,7 @@ static int wm8983_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8983_spi_remove(struct spi_device *spi)
+static int wm8983_spi_remove(struct spi_device *spi)
{
snd_soc_unregister_codec(&spi->dev);
return 0;
@@ -1152,7 +1152,7 @@ static int wm8983_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8983_i2c_remove(struct i2c_client *client)
+static int wm8983_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
diff --git a/sound/soc/codecs/wm8985.c b/sound/soc/codecs/wm8985.c
index 76c0503..e49b1a6 100644
--- a/sound/soc/codecs/wm8985.c
+++ b/sound/soc/codecs/wm8985.c
@@ -1142,7 +1142,7 @@ err:
return ret;
}
-static int __devexit wm8985_spi_remove(struct spi_device *spi)
+static int wm8985_spi_remove(struct spi_device *spi)
{
struct wm8985_priv *wm8985 = spi_get_drvdata(spi);
@@ -1195,7 +1195,7 @@ err:
return ret;
}
-static __devexit int wm8985_i2c_remove(struct i2c_client *i2c)
+static int wm8985_i2c_remove(struct i2c_client *i2c)
{
struct wm8985_priv *wm8985 = i2c_get_clientdata(i2c);
diff --git a/sound/soc/codecs/wm8988.c b/sound/soc/codecs/wm8988.c
index 20b0425..a6f7523 100644
--- a/sound/soc/codecs/wm8988.c
+++ b/sound/soc/codecs/wm8988.c
@@ -899,7 +899,7 @@ static int wm8988_spi_probe(struct spi_device *spi)
return ret;
}
-static int __devexit wm8988_spi_remove(struct spi_device *spi)
+static int wm8988_spi_remove(struct spi_device *spi)
{
struct wm8988_priv *wm8988 = spi_get_drvdata(spi);
snd_soc_unregister_codec(&spi->dev);
@@ -946,7 +946,7 @@ static int wm8988_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8988_i2c_remove(struct i2c_client *client)
+static int wm8988_i2c_remove(struct i2c_client *client)
{
struct wm8988_priv *wm8988 = i2c_get_clientdata(client);
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c
index a666c16..1809af7 100644
--- a/sound/soc/codecs/wm8990.c
+++ b/sound/soc/codecs/wm8990.c
@@ -1401,7 +1401,7 @@ static int wm8990_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8990_i2c_remove(struct i2c_client *client)
+static int wm8990_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/wm8991.c b/sound/soc/codecs/wm8991.c
index 556e43f..ebd9d2f 100644
--- a/sound/soc/codecs/wm8991.c
+++ b/sound/soc/codecs/wm8991.c
@@ -1376,7 +1376,7 @@ static int wm8991_i2c_probe(struct i2c_client *i2c,
return ret;
}
-static __devexit int wm8991_i2c_remove(struct i2c_client *client)
+static int wm8991_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c
index 0a7c29a..738f42d 100644
--- a/sound/soc/codecs/wm8993.c
+++ b/sound/soc/codecs/wm8993.c
@@ -1749,7 +1749,7 @@ err:
return ret;
}
-static __devexit int wm8993_i2c_remove(struct i2c_client *i2c)
+static int wm8993_i2c_remove(struct i2c_client *i2c)
{
struct wm8993_priv *wm8993 = i2c_get_clientdata(i2c);
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 2c1e0b5..c349433 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -4264,7 +4264,7 @@ static int wm8994_probe(struct platform_device *pdev)
wm8994_dai, ARRAY_SIZE(wm8994_dai));
}
-static int __devexit wm8994_remove(struct platform_device *pdev)
+static int wm8994_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm8995.c b/sound/soc/codecs/wm8995.c
index bbfb5b9..5e3df11 100644
--- a/sound/soc/codecs/wm8995.c
+++ b/sound/soc/codecs/wm8995.c
@@ -2290,7 +2290,7 @@ err_alloc:
return ret;
}
-static int __devexit wm8995_spi_remove(struct spi_device *spi)
+static int wm8995_spi_remove(struct spi_device *spi)
{
struct wm8995_priv *wm8995 = spi_get_drvdata(spi);
snd_soc_unregister_codec(&spi->dev);
@@ -2347,7 +2347,7 @@ err_alloc:
return ret;
}
-static __devexit int wm8995_i2c_remove(struct i2c_client *client)
+static int wm8995_i2c_remove(struct i2c_client *client)
{
struct wm8995_priv *wm8995 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/wm8996.c b/sound/soc/codecs/wm8996.c
index 49a4147..e0544e2 100644
--- a/sound/soc/codecs/wm8996.c
+++ b/sound/soc/codecs/wm8996.c
@@ -3077,7 +3077,7 @@ err:
return ret;
}
-static __devexit int wm8996_i2c_remove(struct i2c_client *client)
+static int wm8996_i2c_remove(struct i2c_client *client)
{
struct wm8996_priv *wm8996 = i2c_get_clientdata(client);
int i;
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c
index f6b522a..e85754b 100644
--- a/sound/soc/codecs/wm9081.c
+++ b/sound/soc/codecs/wm9081.c
@@ -1393,7 +1393,7 @@ err:
return ret;
}
-static __devexit int wm9081_i2c_remove(struct i2c_client *client)
+static int wm9081_i2c_remove(struct i2c_client *client)
{
struct wm9081_priv *wm9081 = i2c_get_clientdata(client);
diff --git a/sound/soc/codecs/wm9090.c b/sound/soc/codecs/wm9090.c
index bfb22dc..3d70611 100644
--- a/sound/soc/codecs/wm9090.c
+++ b/sound/soc/codecs/wm9090.c
@@ -668,7 +668,7 @@ err:
return ret;
}
-static int __devexit wm9090_i2c_remove(struct i2c_client *i2c)
+static int wm9090_i2c_remove(struct i2c_client *i2c)
{
struct wm9090_priv *wm9090 = i2c_get_clientdata(i2c);
diff --git a/sound/soc/codecs/wm9705.c b/sound/soc/codecs/wm9705.c
index b330d7a..05b1f34 100644
--- a/sound/soc/codecs/wm9705.c
+++ b/sound/soc/codecs/wm9705.c
@@ -388,7 +388,7 @@ static int wm9705_probe(struct platform_device *pdev)
&soc_codec_dev_wm9705, wm9705_dai, ARRAY_SIZE(wm9705_dai));
}
-static int __devexit wm9705_remove(struct platform_device *pdev)
+static int wm9705_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c
index c44ea10..8e9a6a3 100644
--- a/sound/soc/codecs/wm9712.c
+++ b/sound/soc/codecs/wm9712.c
@@ -691,7 +691,7 @@ static int wm9712_probe(struct platform_device *pdev)
&soc_codec_dev_wm9712, wm9712_dai, ARRAY_SIZE(wm9712_dai));
}
-static int __devexit wm9712_remove(struct platform_device *pdev)
+static int wm9712_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index 0285223..f7afa68 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -1260,7 +1260,7 @@ static int wm9713_probe(struct platform_device *pdev)
&soc_codec_dev_wm9713, wm9713_dai, ARRAY_SIZE(wm9713_dai));
}
-static int __devexit wm9713_remove(struct platform_device *pdev)
+static int wm9713_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
diff --git a/sound/soc/fsl/eukrea-tlv320.c b/sound/soc/fsl/eukrea-tlv320.c
index 8a87f0e..75ffdf0 100644
--- a/sound/soc/fsl/eukrea-tlv320.c
+++ b/sound/soc/fsl/eukrea-tlv320.c
@@ -142,7 +142,7 @@ static int eukrea_tlv320_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit eukrea_tlv320_remove(struct platform_device *pdev)
+static int eukrea_tlv320_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&eukrea_tlv320);
diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c
index 8a07360..9cc5c1f 100644
--- a/sound/soc/fsl/fsl_dma.c
+++ b/sound/soc/fsl/fsl_dma.c
@@ -958,7 +958,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit fsl_soc_dma_remove(struct platform_device *pdev)
+static int fsl_soc_dma_remove(struct platform_device *pdev)
{
struct dma_object *dma = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/fsl/imx-audmux.c b/sound/soc/fsl/imx-audmux.c
index 71454ae..251f4d9 100644
--- a/sound/soc/fsl/imx-audmux.c
+++ b/sound/soc/fsl/imx-audmux.c
@@ -162,7 +162,7 @@ static void __init audmux_debugfs_init(void)
}
}
-static void __devexit audmux_debugfs_remove(void)
+static void audmux_debugfs_remove(void)
{
debugfs_remove_recursive(audmux_debugfs_root);
}
@@ -278,7 +278,7 @@ static int imx_audmux_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit imx_audmux_remove(struct platform_device *pdev)
+static int imx_audmux_remove(struct platform_device *pdev)
{
if (audmux_type == IMX31_AUDMUX)
audmux_debugfs_remove();
diff --git a/sound/soc/fsl/imx-mc13783.c b/sound/soc/fsl/imx-mc13783.c
index 6803e0a..4ae30f2 100644
--- a/sound/soc/fsl/imx-mc13783.c
+++ b/sound/soc/fsl/imx-mc13783.c
@@ -148,7 +148,7 @@ static int imx_mc13783_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit imx_mc13783_remove(struct platform_device *pdev)
+static int imx_mc13783_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&imx_mc13783);
diff --git a/sound/soc/fsl/imx-pcm-dma.c b/sound/soc/fsl/imx-pcm-dma.c
index d0ebbfa..bf363d8 100644
--- a/sound/soc/fsl/imx-pcm-dma.c
+++ b/sound/soc/fsl/imx-pcm-dma.c
@@ -159,7 +159,7 @@ static int imx_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
}
-static int __devexit imx_soc_platform_remove(struct platform_device *pdev)
+static int imx_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/fsl/imx-pcm-fiq.c b/sound/soc/fsl/imx-pcm-fiq.c
index 5a452a4..5ec362a 100644
--- a/sound/soc/fsl/imx-pcm-fiq.c
+++ b/sound/soc/fsl/imx-pcm-fiq.c
@@ -315,7 +315,7 @@ failed_register:
return ret;
}
-static int __devexit imx_soc_platform_remove(struct platform_device *pdev)
+static int imx_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c
index 013322c..9dfec02 100644
--- a/sound/soc/fsl/imx-sgtl5000.c
+++ b/sound/soc/fsl/imx-sgtl5000.c
@@ -184,7 +184,7 @@ fail:
return ret;
}
-static int __devexit imx_sgtl5000_remove(struct platform_device *pdev)
+static int imx_sgtl5000_remove(struct platform_device *pdev)
{
struct imx_sgtl5000_data *data = platform_get_drvdata(pdev);
diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c
index 0392e7b..3b48042 100644
--- a/sound/soc/fsl/imx-ssi.c
+++ b/sound/soc/fsl/imx-ssi.c
@@ -638,7 +638,7 @@ failed_clk:
return ret;
}
-static int __devexit imx_ssi_remove(struct platform_device *pdev)
+static int imx_ssi_remove(struct platform_device *pdev)
{
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
struct imx_ssi *ssi = platform_get_drvdata(pdev);
diff --git a/sound/soc/fsl/mpc5200_psc_ac97.c b/sound/soc/fsl/mpc5200_psc_ac97.c
index 7ba4764..a4aec04 100644
--- a/sound/soc/fsl/mpc5200_psc_ac97.c
+++ b/sound/soc/fsl/mpc5200_psc_ac97.c
@@ -310,7 +310,7 @@ static int psc_ac97_of_probe(struct platform_device *op)
return 0;
}
-static int __devexit psc_ac97_of_remove(struct platform_device *op)
+static int psc_ac97_of_remove(struct platform_device *op)
{
mpc5200_audio_dma_destroy(op);
snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_ac97_dai));
diff --git a/sound/soc/fsl/mpc5200_psc_i2s.c b/sound/soc/fsl/mpc5200_psc_i2s.c
index 39ef9ad..b95b966 100644
--- a/sound/soc/fsl/mpc5200_psc_i2s.c
+++ b/sound/soc/fsl/mpc5200_psc_i2s.c
@@ -205,7 +205,7 @@ static int psc_i2s_of_probe(struct platform_device *op)
}
-static int __devexit psc_i2s_of_remove(struct platform_device *op)
+static int psc_i2s_of_remove(struct platform_device *op)
{
mpc5200_audio_dma_destroy(op);
snd_soc_unregister_dais(&op->dev, ARRAY_SIZE(psc_i2s_dai));
diff --git a/sound/soc/fsl/mpc8610_hpcd.c b/sound/soc/fsl/mpc8610_hpcd.c
index 2b6dc68..228c52e 100644
--- a/sound/soc/fsl/mpc8610_hpcd.c
+++ b/sound/soc/fsl/mpc8610_hpcd.c
@@ -368,7 +368,7 @@ error_alloc:
*
* This function is called when the platform device is removed.
*/
-static int __devexit mpc8610_hpcd_remove(struct platform_device *pdev)
+static int mpc8610_hpcd_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct mpc8610_hpcd_data *machine_data =
diff --git a/sound/soc/fsl/mx27vis-aic32x4.c b/sound/soc/fsl/mx27vis-aic32x4.c
index e88a5ea..3d10741 100644
--- a/sound/soc/fsl/mx27vis-aic32x4.c
+++ b/sound/soc/fsl/mx27vis-aic32x4.c
@@ -219,7 +219,7 @@ static int mx27vis_aic32x4_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit mx27vis_aic32x4_remove(struct platform_device *pdev)
+static int mx27vis_aic32x4_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&mx27vis_aic32x4);
diff --git a/sound/soc/fsl/p1022_ds.c b/sound/soc/fsl/p1022_ds.c
index a54ad5b..ba59c23 100644
--- a/sound/soc/fsl/p1022_ds.c
+++ b/sound/soc/fsl/p1022_ds.c
@@ -376,7 +376,7 @@ error_put:
*
* This function is called when the platform device is removed.
*/
-static int __devexit p1022_ds_remove(struct platform_device *pdev)
+static int p1022_ds_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct machine_data *mdata =
diff --git a/sound/soc/fsl/p1022_rdk.c b/sound/soc/fsl/p1022_rdk.c
index fa5fd14..f215519 100644
--- a/sound/soc/fsl/p1022_rdk.c
+++ b/sound/soc/fsl/p1022_rdk.c
@@ -326,7 +326,7 @@ error_put:
*
* This function is called when the platform device is removed.
*/
-static int __devexit p1022_rdk_remove(struct platform_device *pdev)
+static int p1022_rdk_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct machine_data *mdata =
diff --git a/sound/soc/fsl/pcm030-audio-fabric.c b/sound/soc/fsl/pcm030-audio-fabric.c
index b4b449c..8e52c148 100644
--- a/sound/soc/fsl/pcm030-audio-fabric.c
+++ b/sound/soc/fsl/pcm030-audio-fabric.c
@@ -101,7 +101,7 @@ static int __init pcm030_fabric_probe(struct platform_device *op)
return ret;
}
-static int __devexit pcm030_fabric_remove(struct platform_device *op)
+static int pcm030_fabric_remove(struct platform_device *op)
{
struct pcm030_audio_data *pdata = platform_get_drvdata(op);
int ret;
diff --git a/sound/soc/jz4740/jz4740-i2s.c b/sound/soc/jz4740/jz4740-i2s.c
index 21051b3..6cef491 100644
--- a/sound/soc/jz4740/jz4740-i2s.c
+++ b/sound/soc/jz4740/jz4740-i2s.c
@@ -492,7 +492,7 @@ err_free:
return ret;
}
-static int __devexit jz4740_i2s_dev_remove(struct platform_device *pdev)
+static int jz4740_i2s_dev_remove(struct platform_device *pdev)
{
struct jz4740_i2s *i2s = platform_get_drvdata(pdev);
diff --git a/sound/soc/jz4740/jz4740-pcm.c b/sound/soc/jz4740/jz4740-pcm.c
index 770e4e2..7100592 100644
--- a/sound/soc/jz4740/jz4740-pcm.c
+++ b/sound/soc/jz4740/jz4740-pcm.c
@@ -340,7 +340,7 @@ static int jz4740_pcm_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &jz4740_soc_platform);
}
-static int __devexit jz4740_pcm_remove(struct platform_device *pdev)
+static int jz4740_pcm_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/jz4740/qi_lb60.c b/sound/soc/jz4740/qi_lb60.c
index 5937ddf..55fd6b5 100644
--- a/sound/soc/jz4740/qi_lb60.c
+++ b/sound/soc/jz4740/qi_lb60.c
@@ -116,7 +116,7 @@ static int qi_lb60_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit qi_lb60_remove(struct platform_device *pdev)
+static int qi_lb60_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/kirkwood/kirkwood-dma.c b/sound/soc/kirkwood/kirkwood-dma.c
index 23ead2b..4407844 100644
--- a/sound/soc/kirkwood/kirkwood-dma.c
+++ b/sound/soc/kirkwood/kirkwood-dma.c
@@ -374,7 +374,7 @@ static int kirkwood_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &kirkwood_soc_platform);
}
-static int __devexit kirkwood_soc_platform_remove(struct platform_device *pdev)
+static int kirkwood_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index 2c6e99f..4fa01cb 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -476,7 +476,7 @@ error:
return err;
}
-static __devexit int kirkwood_i2s_dev_remove(struct platform_device *pdev)
+static int kirkwood_i2s_dev_remove(struct platform_device *pdev)
{
struct kirkwood_dma_data *priv = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/kirkwood/kirkwood-openrd.c b/sound/soc/kirkwood/kirkwood-openrd.c
index 1c682ef..b979c71 100644
--- a/sound/soc/kirkwood/kirkwood-openrd.c
+++ b/sound/soc/kirkwood/kirkwood-openrd.c
@@ -85,7 +85,7 @@ static int openrd_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit openrd_remove(struct platform_device *pdev)
+static int openrd_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/kirkwood/kirkwood-t5325.c b/sound/soc/kirkwood/kirkwood-t5325.c
index bc142a7..1d0ed6f 100644
--- a/sound/soc/kirkwood/kirkwood-t5325.c
+++ b/sound/soc/kirkwood/kirkwood-t5325.c
@@ -106,7 +106,7 @@ static int t5325_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit t5325_remove(struct platform_device *pdev)
+static int t5325_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/mid-x86/mfld_machine.c b/sound/soc/mid-x86/mfld_machine.c
index 671eb18..4139116 100644
--- a/sound/soc/mid-x86/mfld_machine.c
+++ b/sound/soc/mid-x86/mfld_machine.c
@@ -417,7 +417,7 @@ unalloc:
return ret_val;
}
-static int __devexit snd_mfld_mc_remove(struct platform_device *pdev)
+static int snd_mfld_mc_remove(struct platform_device *pdev)
{
struct mfld_mc_private *mc_drv_ctx = platform_get_drvdata(pdev);
diff --git a/sound/soc/mxs/mxs-pcm.c b/sound/soc/mxs/mxs-pcm.c
index d41c770..564b5b6 100644
--- a/sound/soc/mxs/mxs-pcm.c
+++ b/sound/soc/mxs/mxs-pcm.c
@@ -226,7 +226,7 @@ int mxs_pcm_platform_register(struct device *dev)
}
EXPORT_SYMBOL_GPL(mxs_pcm_platform_register);
-void __devexit mxs_pcm_platform_unregister(struct device *dev)
+void mxs_pcm_platform_unregister(struct device *dev)
{
snd_soc_unregister_platform(dev);
}
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c
index c8c882a..0a78e60 100644
--- a/sound/soc/mxs/mxs-saif.c
+++ b/sound/soc/mxs/mxs-saif.c
@@ -790,7 +790,7 @@ failed_pdev_alloc:
return ret;
}
-static int __devexit mxs_saif_remove(struct platform_device *pdev)
+static int mxs_saif_remove(struct platform_device *pdev)
{
mxs_pcm_platform_unregister(&pdev->dev);
snd_soc_unregister_dai(&pdev->dev);
diff --git a/sound/soc/mxs/mxs-sgtl5000.c b/sound/soc/mxs/mxs-sgtl5000.c
index 638c42d..b1d9b5e 100644
--- a/sound/soc/mxs/mxs-sgtl5000.c
+++ b/sound/soc/mxs/mxs-sgtl5000.c
@@ -176,7 +176,7 @@ static int mxs_sgtl5000_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit mxs_sgtl5000_remove(struct platform_device *pdev)
+static int mxs_sgtl5000_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c
index 0121557..0418467 100644
--- a/sound/soc/nuc900/nuc900-ac97.c
+++ b/sound/soc/nuc900/nuc900-ac97.c
@@ -382,7 +382,7 @@ out0:
return ret;
}
-static int __devexit nuc900_ac97_drvremove(struct platform_device *pdev)
+static int nuc900_ac97_drvremove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
diff --git a/sound/soc/nuc900/nuc900-pcm.c b/sound/soc/nuc900/nuc900-pcm.c
index 37d8cc3..c894ff0 100644
--- a/sound/soc/nuc900/nuc900-pcm.c
+++ b/sound/soc/nuc900/nuc900-pcm.c
@@ -342,7 +342,7 @@ static int nuc900_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &nuc900_soc_platform);
}
-static int __devexit nuc900_soc_platform_remove(struct platform_device *pdev)
+static int nuc900_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/omap/ams-delta.c b/sound/soc/omap/ams-delta.c
index 1acab65..2600447 100644
--- a/sound/soc/omap/ams-delta.c
+++ b/sound/soc/omap/ams-delta.c
@@ -591,7 +591,7 @@ static int ams_delta_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit ams_delta_remove(struct platform_device *pdev)
+static int ams_delta_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/omap/mcbsp.c b/sound/soc/omap/mcbsp.c
index e166312..b741958 100644
--- a/sound/soc/omap/mcbsp.c
+++ b/sound/soc/omap/mcbsp.c
@@ -1087,7 +1087,7 @@ err_thres:
return ret;
}
-void __devexit omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp)
+void omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp)
{
if (mcbsp->pdata->buffer_size)
sysfs_remove_group(&mcbsp->dev->kobj, &additional_attr_group);
diff --git a/sound/soc/omap/mcbsp.h b/sound/soc/omap/mcbsp.h
index 27bf6c3..3adacfb 100644
--- a/sound/soc/omap/mcbsp.h
+++ b/sound/soc/omap/mcbsp.h
@@ -342,6 +342,6 @@ int omap_st_disable(struct omap_mcbsp *mcbsp);
int omap_st_is_enabled(struct omap_mcbsp *mcbsp);
int omap_mcbsp_init(struct platform_device *pdev);
-void __devexit omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp);
+void omap_mcbsp_sysfs_remove(struct omap_mcbsp *mcbsp);
#endif /* __ASOC_MCBSP_H */
diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c
index a594ebf..5ea8b60 100644
--- a/sound/soc/omap/omap-abe-twl6040.c
+++ b/sound/soc/omap/omap-abe-twl6040.c
@@ -390,7 +390,7 @@ err_unregister:
return ret;
}
-static int __devexit omap_abe_remove(struct platform_device *pdev)
+static int omap_abe_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct abe_twl6040 *priv = snd_soc_card_get_drvdata(card);
diff --git a/sound/soc/omap/omap-dmic.c b/sound/soc/omap/omap-dmic.c
index bd46176..ba49ccd 100644
--- a/sound/soc/omap/omap-dmic.c
+++ b/sound/soc/omap/omap-dmic.c
@@ -518,7 +518,7 @@ err_put_clk:
return ret;
}
-static int __devexit asoc_dmic_remove(struct platform_device *pdev)
+static int asoc_dmic_remove(struct platform_device *pdev)
{
struct omap_dmic *dmic = platform_get_drvdata(pdev);
diff --git a/sound/soc/omap/omap-hdmi-card.c b/sound/soc/omap/omap-hdmi-card.c
index 092d45c..d4eaa92 100644
--- a/sound/soc/omap/omap-hdmi-card.c
+++ b/sound/soc/omap/omap-hdmi-card.c
@@ -61,7 +61,7 @@ static int omap_hdmi_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit omap_hdmi_remove(struct platform_device *pdev)
+static int omap_hdmi_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/omap/omap-hdmi.c b/sound/soc/omap/omap-hdmi.c
index 3845781..7ea2481 100644
--- a/sound/soc/omap/omap-hdmi.c
+++ b/sound/soc/omap/omap-hdmi.c
@@ -324,7 +324,7 @@ static int omap_hdmi_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit omap_hdmi_remove(struct platform_device *pdev)
+static int omap_hdmi_remove(struct platform_device *pdev)
{
struct hdmi_priv *hdmi_data = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 316ea7d..0ad16ab 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -799,7 +799,7 @@ static int asoc_mcbsp_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit asoc_mcbsp_remove(struct platform_device *pdev)
+static int asoc_mcbsp_remove(struct platform_device *pdev)
{
struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev);
diff --git a/sound/soc/omap/omap-mcpdm.c b/sound/soc/omap/omap-mcpdm.c
index 803ff6a..2fe8be2 100644
--- a/sound/soc/omap/omap-mcpdm.c
+++ b/sound/soc/omap/omap-mcpdm.c
@@ -487,7 +487,7 @@ static int asoc_mcpdm_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &omap_mcpdm_dai);
}
-static int __devexit asoc_mcpdm_remove(struct platform_device *pdev)
+static int asoc_mcpdm_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index 21f927b..47bdbd4 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -308,7 +308,7 @@ static int omap_pcm_probe(struct platform_device *pdev)
&omap_soc_platform);
}
-static int __devexit omap_pcm_remove(struct platform_device *pdev)
+static int omap_pcm_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/omap/omap-twl4030.c b/sound/soc/omap/omap-twl4030.c
index c505ec2..4541d28 100644
--- a/sound/soc/omap/omap-twl4030.c
+++ b/sound/soc/omap/omap-twl4030.c
@@ -154,7 +154,7 @@ static int omap_twl4030_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit omap_twl4030_remove(struct platform_device *pdev)
+static int omap_twl4030_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/brownstone.c b/sound/soc/pxa/brownstone.c
index 8c5b325..4ad7609 100644
--- a/sound/soc/pxa/brownstone.c
+++ b/sound/soc/pxa/brownstone.c
@@ -152,7 +152,7 @@ static int brownstone_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit brownstone_remove(struct platform_device *pdev)
+static int brownstone_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&brownstone);
return 0;
diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index 3e08dcf..f4cce1e 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -317,7 +317,7 @@ static int corgi_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit corgi_remove(struct platform_device *pdev)
+static int corgi_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/e740_wm9705.c b/sound/soc/pxa/e740_wm9705.c
index 189d77c..70d799b 100644
--- a/sound/soc/pxa/e740_wm9705.c
+++ b/sound/soc/pxa/e740_wm9705.c
@@ -165,7 +165,7 @@ static int e740_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit e740_remove(struct platform_device *pdev)
+static int e740_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/e750_wm9705.c b/sound/soc/pxa/e750_wm9705.c
index 319d55b..f94d2ab 100644
--- a/sound/soc/pxa/e750_wm9705.c
+++ b/sound/soc/pxa/e750_wm9705.c
@@ -147,7 +147,7 @@ static int e750_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit e750_remove(struct platform_device *pdev)
+static int e750_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/e800_wm9712.c b/sound/soc/pxa/e800_wm9712.c
index 9fa2cd1..8768a64 100644
--- a/sound/soc/pxa/e800_wm9712.c
+++ b/sound/soc/pxa/e800_wm9712.c
@@ -137,7 +137,7 @@ static int e800_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit e800_remove(struct platform_device *pdev)
+static int e800_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c
index 40c07b3..dcc9b04 100644
--- a/sound/soc/pxa/hx4700.c
+++ b/sound/soc/pxa/hx4700.c
@@ -204,7 +204,7 @@ static int hx4700_audio_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit hx4700_audio_remove(struct platform_device *pdev)
+static int hx4700_audio_remove(struct platform_device *pdev)
{
snd_soc_jack_free_gpios(&hs_jack, 1, &hs_jack_gpio);
snd_soc_unregister_card(&snd_soc_card_hx4700);
diff --git a/sound/soc/pxa/imote2.c b/sound/soc/pxa/imote2.c
index e89441d..eef1f7b 100644
--- a/sound/soc/pxa/imote2.c
+++ b/sound/soc/pxa/imote2.c
@@ -79,7 +79,7 @@ static int imote2_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit imote2_remove(struct platform_device *pdev)
+static int imote2_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c
index 135a839..97b711e 100644
--- a/sound/soc/pxa/mioa701_wm9713.c
+++ b/sound/soc/pxa/mioa701_wm9713.c
@@ -202,7 +202,7 @@ static int mioa701_wm9713_probe(struct platform_device *pdev)
return rc;
}
-static int __devexit mioa701_wm9713_remove(struct platform_device *pdev)
+static int mioa701_wm9713_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/mmp-pcm.c b/sound/soc/pxa/mmp-pcm.c
index 1324673..190eb0b 100644
--- a/sound/soc/pxa/mmp-pcm.c
+++ b/sound/soc/pxa/mmp-pcm.c
@@ -274,7 +274,7 @@ static int mmp_pcm_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &mmp_soc_platform);
}
-static int __devexit mmp_pcm_remove(struct platform_device *pdev)
+static int mmp_pcm_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/pxa/mmp-sspa.c b/sound/soc/pxa/mmp-sspa.c
index c97ce5b0..41c3a09 100644
--- a/sound/soc/pxa/mmp-sspa.c
+++ b/sound/soc/pxa/mmp-sspa.c
@@ -453,7 +453,7 @@ static int asoc_mmp_sspa_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &mmp_sspa_dai);
}
-static int __devexit asoc_mmp_sspa_remove(struct platform_device *pdev)
+static int asoc_mmp_sspa_remove(struct platform_device *pdev)
{
struct sspa_priv *priv = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c
index b374f09..2074e2d 100644
--- a/sound/soc/pxa/palm27x.c
+++ b/sound/soc/pxa/palm27x.c
@@ -187,7 +187,7 @@ put_device:
return ret;
}
-static int __devexit palm27x_asoc_remove(struct platform_device *pdev)
+static int palm27x_asoc_remove(struct platform_device *pdev)
{
platform_device_unregister(palm27x_snd_device);
return 0;
diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c
index bc00684..fafe463 100644
--- a/sound/soc/pxa/poodle.c
+++ b/sound/soc/pxa/poodle.c
@@ -291,7 +291,7 @@ static int poodle_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit poodle_remove(struct platform_device *pdev)
+static int poodle_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index 6a61748..d3eb0c2 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -799,7 +799,7 @@ static int asoc_ssp_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &pxa_ssp_dai);
}
-static int __devexit asoc_ssp_remove(struct platform_device *pdev)
+static int asoc_ssp_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c
index 0a6194d..4b0a009 100644
--- a/sound/soc/pxa/pxa2xx-ac97.c
+++ b/sound/soc/pxa/pxa2xx-ac97.c
@@ -249,7 +249,7 @@ static int pxa2xx_ac97_dev_probe(struct platform_device *pdev)
ARRAY_SIZE(pxa_ac97_dai_driver));
}
-static int __devexit pxa2xx_ac97_dev_remove(struct platform_device *pdev)
+static int pxa2xx_ac97_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(pxa_ac97_dai_driver));
return 0;
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index 591ba1d..6b1a06f 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -365,7 +365,7 @@ static int pxa2xx_i2s_drv_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &pxa_i2s_dai);
}
-static int __devexit pxa2xx_i2s_drv_remove(struct platform_device *pdev)
+static int pxa2xx_i2s_drv_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c
index 9d6f78a..ecff116 100644
--- a/sound/soc/pxa/pxa2xx-pcm.c
+++ b/sound/soc/pxa/pxa2xx-pcm.c
@@ -125,7 +125,7 @@ static int pxa2xx_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &pxa2xx_soc_platform);
}
-static int __devexit pxa2xx_soc_platform_remove(struct platform_device *pdev)
+static int pxa2xx_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c
index 4f6d8b1..a3fe191 100644
--- a/sound/soc/pxa/tosa.c
+++ b/sound/soc/pxa/tosa.c
@@ -262,7 +262,7 @@ static int tosa_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit tosa_remove(struct platform_device *pdev)
+static int tosa_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/pxa/ttc-dkb.c b/sound/soc/pxa/ttc-dkb.c
index 490c76c..f4ea4f6 100644
--- a/sound/soc/pxa/ttc-dkb.c
+++ b/sound/soc/pxa/ttc-dkb.c
@@ -146,7 +146,7 @@ static int ttc_dkb_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit ttc_dkb_remove(struct platform_device *pdev)
+static int ttc_dkb_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/s6000/s6000-i2s.c b/sound/soc/s6000/s6000-i2s.c
index 79abcd0..fee4d47 100644
--- a/sound/soc/s6000/s6000-i2s.c
+++ b/sound/soc/s6000/s6000-i2s.c
@@ -566,7 +566,7 @@ err_release_none:
return ret;
}
-static void __devexit s6000_i2s_remove(struct platform_device *pdev)
+static void s6000_i2s_remove(struct platform_device *pdev)
{
struct s6000_i2s_dev *dev = dev_get_drvdata(&pdev->dev);
struct resource *region;
diff --git a/sound/soc/s6000/s6000-pcm.c b/sound/soc/s6000/s6000-pcm.c
index d4672ba..1358c7d 100644
--- a/sound/soc/s6000/s6000-pcm.c
+++ b/sound/soc/s6000/s6000-pcm.c
@@ -505,7 +505,7 @@ static int s6000_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &s6000_soc_platform);
}
-static int __devexit s6000_soc_platform_remove(struct platform_device *pdev)
+static int s6000_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/samsung/ac97.c b/sound/soc/samsung/ac97.c
index 1d097f7..c9a3fff 100644
--- a/sound/soc/samsung/ac97.c
+++ b/sound/soc/samsung/ac97.c
@@ -478,7 +478,7 @@ err1:
return ret;
}
-static __devexit int s3c_ac97_remove(struct platform_device *pdev)
+static int s3c_ac97_remove(struct platform_device *pdev)
{
struct resource *mem_res, *irq_res;
diff --git a/sound/soc/samsung/bells.c b/sound/soc/samsung/bells.c
index f7545ac..3733b01 100644
--- a/sound/soc/samsung/bells.c
+++ b/sound/soc/samsung/bells.c
@@ -429,7 +429,7 @@ static int bells_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit bells_remove(struct platform_device *pdev)
+static int bells_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&bells_cards[pdev->id]);
diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c
index 3705a8a..897dedc 100644
--- a/sound/soc/samsung/dma.c
+++ b/sound/soc/samsung/dma.c
@@ -437,7 +437,7 @@ static int samsung_asoc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &samsung_asoc_platform);
}
-static int __devexit samsung_asoc_platform_remove(struct platform_device *pdev)
+static int samsung_asoc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index 6a60e71..533f454 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -1113,7 +1113,7 @@ err:
return ret;
}
-static __devexit int samsung_i2s_remove(struct platform_device *pdev)
+static int samsung_i2s_remove(struct platform_device *pdev)
{
struct i2s_dai *i2s, *other;
struct resource *res;
diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c
index 136285b..a07950b 100644
--- a/sound/soc/samsung/idma.c
+++ b/sound/soc/samsung/idma.c
@@ -421,7 +421,7 @@ static int asoc_idma_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &asoc_idma_platform);
}
-static int __devexit asoc_idma_platform_remove(struct platform_device *pdev)
+static int asoc_idma_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/samsung/littlemill.c b/sound/soc/samsung/littlemill.c
index 0d06249..86f49b2 100644
--- a/sound/soc/samsung/littlemill.c
+++ b/sound/soc/samsung/littlemill.c
@@ -314,7 +314,7 @@ static int littlemill_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit littlemill_remove(struct platform_device *pdev)
+static int littlemill_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/samsung/lowland.c b/sound/soc/samsung/lowland.c
index e4f08fc..4ab621d 100644
--- a/sound/soc/samsung/lowland.c
+++ b/sound/soc/samsung/lowland.c
@@ -197,7 +197,7 @@ static int lowland_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit lowland_remove(struct platform_device *pdev)
+static int lowland_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index 3708658..2731457a 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -605,7 +605,7 @@ err1:
return ret;
}
-static __devexit int s3c_pcm_dev_remove(struct platform_device *pdev)
+static int s3c_pcm_dev_remove(struct platform_device *pdev)
{
struct s3c_pcm_info *pcm = &s3c_pcm[pdev->id];
struct resource *mem_res;
diff --git a/sound/soc/samsung/s3c2412-i2s.c b/sound/soc/samsung/s3c2412-i2s.c
index e2db71e..7243cc3 100644
--- a/sound/soc/samsung/s3c2412-i2s.c
+++ b/sound/soc/samsung/s3c2412-i2s.c
@@ -165,7 +165,7 @@ static int s3c2412_iis_dev_probe(struct platform_device *pdev)
return s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai);
}
-static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev)
+static int s3c2412_iis_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/samsung/s3c24xx-i2s.c b/sound/soc/samsung/s3c24xx-i2s.c
index 05491d9..142e130 100644
--- a/sound/soc/samsung/s3c24xx-i2s.c
+++ b/sound/soc/samsung/s3c24xx-i2s.c
@@ -470,7 +470,7 @@ static int s3c24xx_iis_dev_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &s3c24xx_i2s_dai);
}
-static __devexit int s3c24xx_iis_dev_remove(struct platform_device *pdev)
+static int s3c24xx_iis_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/samsung/s3c24xx_simtec.c b/sound/soc/samsung/s3c24xx_simtec.c
index 98b7c98..3564444 100644
--- a/sound/soc/samsung/s3c24xx_simtec.c
+++ b/sound/soc/samsung/s3c24xx_simtec.c
@@ -371,7 +371,7 @@ err_clk:
}
EXPORT_SYMBOL_GPL(simtec_audio_core_probe);
-int __devexit simtec_audio_remove(struct platform_device *pdev)
+int simtec_audio_remove(struct platform_device *pdev)
{
struct platform_device *snd_dev = platform_get_drvdata(pdev);
diff --git a/sound/soc/samsung/smdk_wm8580pcm.c b/sound/soc/samsung/smdk_wm8580pcm.c
index 649997e..b0bf4c8 100644
--- a/sound/soc/samsung/smdk_wm8580pcm.c
+++ b/sound/soc/samsung/smdk_wm8580pcm.c
@@ -173,7 +173,7 @@ static int snd_smdk_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit snd_smdk_remove(struct platform_device *pdev)
+static int snd_smdk_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&smdk_pcm);
platform_set_drvdata(pdev, NULL);
diff --git a/sound/soc/samsung/smdk_wm8994.c b/sound/soc/samsung/smdk_wm8994.c
index 1a01571..ede44d3 100644
--- a/sound/soc/samsung/smdk_wm8994.c
+++ b/sound/soc/samsung/smdk_wm8994.c
@@ -164,7 +164,7 @@ static int smdk_audio_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit smdk_audio_remove(struct platform_device *pdev)
+static int smdk_audio_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/samsung/smdk_wm8994pcm.c b/sound/soc/samsung/smdk_wm8994pcm.c
index 84d8f94..0154fb3 100644
--- a/sound/soc/samsung/smdk_wm8994pcm.c
+++ b/sound/soc/samsung/smdk_wm8994pcm.c
@@ -143,7 +143,7 @@ static int snd_smdk_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit snd_smdk_remove(struct platform_device *pdev)
+static int snd_smdk_remove(struct platform_device *pdev)
{
snd_soc_unregister_card(&smdk_pcm);
platform_set_drvdata(pdev, NULL);
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 5612ea8..73f6646 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -453,7 +453,7 @@ err0:
return ret;
}
-static __devexit int spdif_remove(struct platform_device *pdev)
+static int spdif_remove(struct platform_device *pdev)
{
struct samsung_spdif_info *spdif = &spdif_info;
struct resource *mem_res;
diff --git a/sound/soc/samsung/speyside.c b/sound/soc/samsung/speyside.c
index 01bad86..f9ed2d6 100644
--- a/sound/soc/samsung/speyside.c
+++ b/sound/soc/samsung/speyside.c
@@ -337,7 +337,7 @@ static int speyside_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit speyside_remove(struct platform_device *pdev)
+static int speyside_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/samsung/tobermory.c b/sound/soc/samsung/tobermory.c
index 01d474c..6565184 100644
--- a/sound/soc/samsung/tobermory.c
+++ b/sound/soc/samsung/tobermory.c
@@ -231,7 +231,7 @@ static int tobermory_probe(struct platform_device *pdev)
return 0;
}
-static int __devexit tobermory_remove(struct platform_device *pdev)
+static int tobermory_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c
index 9b06724..19eff8f 100644
--- a/sound/soc/sh/dma-sh7760.c
+++ b/sound/soc/sh/dma-sh7760.c
@@ -353,7 +353,7 @@ static int sh7760_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &sh7760_soc_platform);
}
-static int __devexit sh7760_soc_platform_remove(struct platform_device *pdev)
+static int sh7760_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/sh/hac.c b/sound/soc/sh/hac.c
index 2efdd48..4cc2d64 100644
--- a/sound/soc/sh/hac.c
+++ b/sound/soc/sh/hac.c
@@ -316,7 +316,7 @@ static int hac_soc_platform_probe(struct platform_device *pdev)
ARRAY_SIZE(sh4_hac_dai));
}
-static int __devexit hac_soc_platform_remove(struct platform_device *pdev)
+static int hac_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_hac_dai));
return 0;
diff --git a/sound/soc/sh/siu_dai.c b/sound/soc/sh/siu_dai.c
index 694cb96..34facdc 100644
--- a/sound/soc/sh/siu_dai.c
+++ b/sound/soc/sh/siu_dai.c
@@ -815,7 +815,7 @@ ereqfw:
return ret;
}
-static int __devexit siu_remove(struct platform_device *pdev)
+static int siu_remove(struct platform_device *pdev)
{
struct siu_info *info = dev_get_drvdata(&pdev->dev);
struct resource *res;
diff --git a/sound/soc/sh/ssi.c b/sound/soc/sh/ssi.c
index 1b26656..c8e73a7 100644
--- a/sound/soc/sh/ssi.c
+++ b/sound/soc/sh/ssi.c
@@ -385,7 +385,7 @@ static int sh4_soc_dai_probe(struct platform_device *pdev)
ARRAY_SIZE(sh4_ssi_dai));
}
-static int __devexit sh4_soc_dai_remove(struct platform_device *pdev)
+static int sh4_soc_dai_remove(struct platform_device *pdev)
{
snd_soc_unregister_dais(&pdev->dev, ARRAY_SIZE(sh4_ssi_dai));
return 0;
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c
index 813689d..fe4541d 100644
--- a/sound/soc/soc-utils.c
+++ b/sound/soc/soc-utils.c
@@ -111,7 +111,7 @@ static int snd_soc_dummy_probe(struct platform_device *pdev)
return ret;
}
-static __devexit int snd_soc_dummy_remove(struct platform_device *pdev)
+static int snd_soc_dummy_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
snd_soc_unregister_codec(&pdev->dev);
diff --git a/sound/soc/spear/spear_pcm.c b/sound/soc/spear/spear_pcm.c
index 29c23d3..9b76cc5 100644
--- a/sound/soc/spear/spear_pcm.c
+++ b/sound/soc/spear/spear_pcm.c
@@ -189,7 +189,7 @@ static int spear_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &spear_soc_platform);
}
-static int __devexit spear_soc_platform_remove(struct platform_device *pdev)
+static int spear_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
diff --git a/sound/soc/tegra/tegra20_das.c b/sound/soc/tegra/tegra20_das.c
index 7b0a1f5..6543184 100644
--- a/sound/soc/tegra/tegra20_das.c
+++ b/sound/soc/tegra/tegra20_das.c
@@ -200,7 +200,7 @@ err:
return ret;
}
-static int __devexit tegra20_das_remove(struct platform_device *pdev)
+static int tegra20_das_remove(struct platform_device *pdev)
{
if (!das)
return -ENODEV;
diff --git a/sound/soc/tegra/tegra20_i2s.c b/sound/soc/tegra/tegra20_i2s.c
index 34557d3..caa772d 100644
--- a/sound/soc/tegra/tegra20_i2s.c
+++ b/sound/soc/tegra/tegra20_i2s.c
@@ -447,7 +447,7 @@ err:
return ret;
}
-static int __devexit tegra20_i2s_platform_remove(struct platform_device *pdev)
+static int tegra20_i2s_platform_remove(struct platform_device *pdev)
{
struct tegra20_i2s *i2s = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/tegra/tegra20_spdif.c b/sound/soc/tegra/tegra20_spdif.c
index a2f9fe8..04771d1 100644
--- a/sound/soc/tegra/tegra20_spdif.c
+++ b/sound/soc/tegra/tegra20_spdif.c
@@ -357,7 +357,7 @@ err:
return ret;
}
-static int __devexit tegra20_spdif_platform_remove(struct platform_device *pdev)
+static int tegra20_spdif_platform_remove(struct platform_device *pdev)
{
struct tegra20_spdif *spdif = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/tegra/tegra30_ahub.c b/sound/soc/tegra/tegra30_ahub.c
index e1cc576..f354dc3 100644
--- a/sound/soc/tegra/tegra30_ahub.c
+++ b/sound/soc/tegra/tegra30_ahub.c
@@ -585,7 +585,7 @@ err:
return ret;
}
-static int __devexit tegra30_ahub_remove(struct platform_device *pdev)
+static int tegra30_ahub_remove(struct platform_device *pdev)
{
if (!ahub)
return -ENODEV;
diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c
index 18d6847..27e91dd 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -492,7 +492,7 @@ err:
return ret;
}
-static int __devexit tegra30_i2s_platform_remove(struct platform_device *pdev)
+static int tegra30_i2s_platform_remove(struct platform_device *pdev)
{
struct tegra30_i2s *i2s = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c
index b2e3c00..c80adb9 100644
--- a/sound/soc/tegra/tegra_alc5632.c
+++ b/sound/soc/tegra/tegra_alc5632.c
@@ -227,7 +227,7 @@ err:
return ret;
}
-static int __devexit tegra_alc5632_remove(struct platform_device *pdev)
+static int tegra_alc5632_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(card);
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c
index 4061984..c925ab0 100644
--- a/sound/soc/tegra/tegra_pcm.c
+++ b/sound/soc/tegra/tegra_pcm.c
@@ -259,7 +259,7 @@ int tegra_pcm_platform_register(struct device *dev)
}
EXPORT_SYMBOL_GPL(tegra_pcm_platform_register);
-void __devexit tegra_pcm_platform_unregister(struct device *dev)
+void tegra_pcm_platform_unregister(struct device *dev)
{
snd_soc_unregister_platform(dev);
}
diff --git a/sound/soc/tegra/tegra_wm8753.c b/sound/soc/tegra/tegra_wm8753.c
index 53008b0..c8ef88a6 100644
--- a/sound/soc/tegra/tegra_wm8753.c
+++ b/sound/soc/tegra/tegra_wm8753.c
@@ -188,7 +188,7 @@ err:
return ret;
}
-static int __devexit tegra_wm8753_driver_remove(struct platform_device *pdev)
+static int tegra_wm8753_driver_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct tegra_wm8753 *machine = snd_soc_card_get_drvdata(card);
diff --git a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c
index 2599252..bbd79bf 100644
--- a/sound/soc/tegra/tegra_wm8903.c
+++ b/sound/soc/tegra/tegra_wm8903.c
@@ -402,7 +402,7 @@ err:
return ret;
}
-static int __devexit tegra_wm8903_driver_remove(struct platform_device *pdev)
+static int tegra_wm8903_driver_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card);
diff --git a/sound/soc/tegra/trimslice.c b/sound/soc/tegra/trimslice.c
index 055fd0e..7fcf6c2 100644
--- a/sound/soc/tegra/trimslice.c
+++ b/sound/soc/tegra/trimslice.c
@@ -183,7 +183,7 @@ err:
return ret;
}
-static int __devexit tegra_snd_trimslice_remove(struct platform_device *pdev)
+static int tegra_snd_trimslice_remove(struct platform_device *pdev)
{
struct snd_soc_card *card = platform_get_drvdata(pdev);
struct tegra_trimslice *trimslice = snd_soc_card_get_drvdata(card);
diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c
index 4855398..16ab696 100644
--- a/sound/soc/txx9/txx9aclc-ac97.c
+++ b/sound/soc/txx9/txx9aclc-ac97.c
@@ -208,7 +208,7 @@ static int txx9aclc_ac97_dev_probe(struct platform_device *pdev)
return snd_soc_register_dai(&pdev->dev, &txx9aclc_ac97_dai);
}
-static int __devexit txx9aclc_ac97_dev_remove(struct platform_device *pdev)
+static int txx9aclc_ac97_dev_remove(struct platform_device *pdev)
{
snd_soc_unregister_dai(&pdev->dev);
return 0;
diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c
index bdb8165..45a6428 100644
--- a/sound/soc/txx9/txx9aclc.c
+++ b/sound/soc/txx9/txx9aclc.c
@@ -422,7 +422,7 @@ static int txx9aclc_soc_platform_probe(struct platform_device *pdev)
return snd_soc_register_platform(&pdev->dev, &txx9aclc_soc_platform);
}
-static int __devexit txx9aclc_soc_platform_remove(struct platform_device *pdev)
+static int txx9aclc_soc_platform_remove(struct platform_device *pdev)
{
snd_soc_unregister_platform(&pdev->dev);
return 0;
diff --git a/sound/soc/ux500/mop500.c b/sound/soc/ux500/mop500.c
index c04c927..fb694e9 100644
--- a/sound/soc/ux500/mop500.c
+++ b/sound/soc/ux500/mop500.c
@@ -136,7 +136,7 @@ static int mop500_probe(struct platform_device *pdev)
return ret;
}
-static int __devexit mop500_remove(struct platform_device *pdev)
+static int mop500_remove(struct platform_device *pdev)
{
struct snd_soc_card *mop500_card = platform_get_drvdata(pdev);
diff --git a/sound/soc/ux500/ux500_msp_dai.c b/sound/soc/ux500/ux500_msp_dai.c
index 5e9fc81..6a284fb 100644
--- a/sound/soc/ux500/ux500_msp_dai.c
+++ b/sound/soc/ux500/ux500_msp_dai.c
@@ -844,7 +844,7 @@ err_pclk:
return ret;
}
-static int __devexit ux500_msp_drv_remove(struct platform_device *pdev)
+static int ux500_msp_drv_remove(struct platform_device *pdev)
{
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
diff --git a/sound/soc/ux500/ux500_pcm.c b/sound/soc/ux500/ux500_pcm.c
index 9703b2d..a5cb09d 100644
--- a/sound/soc/ux500/ux500_pcm.c
+++ b/sound/soc/ux500/ux500_pcm.c
@@ -281,7 +281,7 @@ static struct snd_soc_platform_driver ux500_pcm_soc_drv = {
.pcm_new = ux500_pcm_new,
};
-static int __devexit ux500_pcm_drv_probe(struct platform_device *pdev)
+static int ux500_pcm_drv_probe(struct platform_device *pdev)
{
int ret;
diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c
index 0953402..b4e9254 100644
--- a/sound/sparc/cs4231.c
+++ b/sound/sparc/cs4231.c
@@ -2086,7 +2086,7 @@ static int cs4231_probe(struct platform_device *op)
return -ENODEV;
}
-static int __devexit cs4231_remove(struct platform_device *op)
+static int cs4231_remove(struct platform_device *op)
{
struct snd_cs4231 *chip = dev_get_drvdata(&op->dev);
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c
index aca99ec..71faacb 100644
--- a/sound/sparc/dbri.c
+++ b/sound/sparc/dbri.c
@@ -2663,7 +2663,7 @@ _err:
return err;
}
-static int __devexit dbri_remove(struct platform_device *op)
+static int dbri_remove(struct platform_device *op)
{
struct snd_card *card = dev_get_drvdata(&op->dev);
diff --git a/sound/spi/at73c213.c b/sound/spi/at73c213.c
index 9d92ecb..f78eae8 100644
--- a/sound/spi/at73c213.c
+++ b/sound/spi/at73c213.c
@@ -1007,7 +1007,7 @@ out:
return retval;
}
-static int __devexit snd_at73c213_remove(struct spi_device *spi)
+static int snd_at73c213_remove(struct spi_device *spi)
{
struct snd_card *card = dev_get_drvdata(&spi->dev);
struct snd_at73c213 *chip = card->private_data;
--
1.8.0
^ permalink raw reply related
* Re: [PATCH 159/493] usb: remove use of __devinit
From: Felipe Balbi @ 2012-11-19 20:15 UTC (permalink / raw)
To: Bill Pemberton
Cc: cbe-oss-dev, Kukjin Kim, Wan ZongShun, Alexander Shishkin, gregkh,
linux-usb, linuxppc-dev, Felipe Balbi, Geoff Levand, linux-omap,
linux-samsung-soc, Alan Stern, Ben Dooks, Olav Kongas,
Lennert Buytenhek, linux-arm-kernel
In-Reply-To: <1353349642-3677-159-git-send-email-wfp5p@virginia.edu>
[-- Attachment #1: Type: text/plain, Size: 5478 bytes --]
Hi,
On Mon, Nov 19, 2012 at 01:21:48PM -0500, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Peter Korsgaard <jacmet@sunsite.dk>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Geoff Levand <geoff@infradead.org>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Olav Kongas <ok@artecdesign.ee>
> Cc: Lennert Buytenhek <kernel@wantstofly.org>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-omap@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: cbe-oss-dev@lists.ozlabs.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org
> ---
> drivers/usb/c67x00/c67x00-drv.c | 2 +-
> drivers/usb/chipidea/ci13xxx_imx.c | 2 +-
> drivers/usb/chipidea/ci13xxx_msm.c | 2 +-
> drivers/usb/chipidea/ci13xxx_pci.c | 2 +-
> drivers/usb/chipidea/core.c | 2 +-
> drivers/usb/chipidea/usbmisc_imx6q.c | 2 +-
> drivers/usb/dwc3/core.c | 11 +++++------
> drivers/usb/dwc3/debugfs.c | 2 +-
> drivers/usb/dwc3/dwc3-exynos.c | 4 ++--
> drivers/usb/dwc3/dwc3-omap.c | 4 ++--
> drivers/usb/dwc3/dwc3-pci.c | 4 ++--
> drivers/usb/dwc3/gadget.c | 4 ++--
> drivers/usb/gadget/at91_udc.c | 4 ++--
> drivers/usb/gadget/bcm63xx_udc.c | 2 +-
> drivers/usb/gadget/f_uac2.c | 2 +-
> drivers/usb/gadget/fsl_qe_udc.c | 8 ++++----
> drivers/usb/gadget/mv_udc_core.c | 2 +-
> drivers/usb/gadget/net2272.c | 13 ++++++-------
> drivers/usb/gadget/omap_udc.c | 6 +++---
> drivers/usb/gadget/s3c-hsotg.c | 6 +++---
> drivers/usb/gadget/s3c-hsudc.c | 2 +-
> drivers/usb/host/bcma-hcd.c | 9 ++++-----
> drivers/usb/host/ehci-atmel.c | 2 +-
> drivers/usb/host/ehci-grlib.c | 2 +-
> drivers/usb/host/ehci-orion.c | 4 ++--
> drivers/usb/host/ehci-platform.c | 2 +-
> drivers/usb/host/ehci-ppc-of.c | 4 ++--
> drivers/usb/host/ehci-ps3.c | 2 +-
> drivers/usb/host/ehci-s5p.c | 2 +-
> drivers/usb/host/ehci-w90x900.c | 4 ++--
> drivers/usb/host/ehci-xilinx-of.c | 2 +-
> drivers/usb/host/fhci-hcd.c | 2 +-
> drivers/usb/host/fsl-mph-dr-of.c | 8 ++++----
> drivers/usb/host/imx21-hcd.c | 2 +-
> drivers/usb/host/isp116x-hcd.c | 2 +-
> drivers/usb/host/isp1362-hcd.c | 2 +-
> drivers/usb/host/isp1760-if.c | 4 ++--
> drivers/usb/host/ohci-at91.c | 12 ++++++------
> drivers/usb/host/ohci-ep93xx.c | 2 +-
> drivers/usb/host/ohci-exynos.c | 2 +-
> drivers/usb/host/ohci-jz4740.c | 2 +-
> drivers/usb/host/ohci-nxp.c | 4 ++--
> drivers/usb/host/ohci-octeon.c | 2 +-
> drivers/usb/host/ohci-omap3.c | 2 +-
> drivers/usb/host/ohci-pci.c | 2 +-
> drivers/usb/host/ohci-platform.c | 2 +-
> drivers/usb/host/ohci-ppc-of.c | 4 ++--
> drivers/usb/host/ohci-ps3.c | 4 ++--
> drivers/usb/host/ohci-pxa27x.c | 6 +++---
> drivers/usb/host/ohci-s3c2410.c | 2 +-
> drivers/usb/host/ohci-sa1111.c | 2 +-
> drivers/usb/host/ohci-spear.c | 2 +-
> drivers/usb/host/ohci-tmio.c | 2 +-
> drivers/usb/host/pci-quirks.c | 14 +++++++-------
> drivers/usb/host/r8a66597-hcd.c | 2 +-
> drivers/usb/host/sl811-hcd.c | 2 +-
> drivers/usb/host/ssb-hcd.c | 11 +++++------
> drivers/usb/host/u132-hcd.c | 2 +-
> drivers/usb/host/uhci-grlib.c | 2 +-
> drivers/usb/host/uhci-platform.c | 2 +-
> drivers/usb/musb/am35x.c | 2 +-
> drivers/usb/musb/blackfin.c | 2 +-
> drivers/usb/musb/cppi_dma.c | 3 +--
> drivers/usb/musb/da8xx.c | 2 +-
> drivers/usb/musb/davinci.c | 2 +-
> drivers/usb/musb/musb_core.c | 15 +++++++--------
> drivers/usb/musb/musb_debugfs.c | 2 +-
> drivers/usb/musb/musb_dma.h | 3 +--
> drivers/usb/musb/musb_dsps.c | 4 ++--
> drivers/usb/musb/musb_gadget.c | 6 +++---
> drivers/usb/musb/musbhsdma.c | 3 +--
> drivers/usb/musb/omap2430.c | 2 +-
> drivers/usb/musb/tusb6010.c | 2 +-
> drivers/usb/musb/tusb6010_omap.c | 3 +--
> drivers/usb/musb/ux500.c | 2 +-
> drivers/usb/musb/ux500_dma.c | 3 +--
> drivers/usb/otg/ab8500-usb.c | 2 +-
> drivers/usb/otg/fsl_otg.c | 2 +-
> drivers/usb/otg/isp1301_omap.c | 2 +-
> drivers/usb/otg/nop-usb-xceiv.c | 2 +-
> drivers/usb/otg/twl4030-usb.c | 2 +-
> drivers/usb/otg/twl6030-usb.c | 2 +-
> drivers/usb/phy/mv_u3d_phy.c | 2 +-
> drivers/usb/phy/omap-usb2.c | 2 +-
> drivers/usb/phy/rcar-phy.c | 2 +-
> 85 files changed, 145 insertions(+), 155 deletions(-)
For drivers/usb/gadget, drivers/usb/dwc3/, drivers/usb/musb/,
drivers/usb/otg/, drivers/usb/phy, and drivers/usb/renesas_usbhs:
Acked-by: Felipe Balbi <balbi@ti.com>
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH 119/493] usb: remove use of __devexit_p
From: Felipe Balbi @ 2012-11-19 20:14 UTC (permalink / raw)
To: Bill Pemberton
Cc: Kukjin Kim, Wan ZongShun, Alexander Shishkin, gregkh, linux-usb,
Felipe Balbi, linux-omap, linux-samsung-soc, Alan Stern,
Ben Dooks, linuxppc-dev, linux-arm-kernel
In-Reply-To: <1353349642-3677-119-git-send-email-wfp5p@virginia.edu>
[-- Attachment #1: Type: text/plain, Size: 3655 bytes --]
Hi,
On Mon, Nov 19, 2012 at 01:21:08PM -0500, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Peter Korsgaard <jacmet@sunsite.dk>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-omap@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org
> ---
> drivers/usb/c67x00/c67x00-drv.c | 2 +-
> drivers/usb/chipidea/ci13xxx_imx.c | 2 +-
> drivers/usb/chipidea/ci13xxx_msm.c | 2 +-
> drivers/usb/chipidea/ci13xxx_pci.c | 2 +-
> drivers/usb/chipidea/core.c | 2 +-
> drivers/usb/chipidea/usbmisc_imx6q.c | 2 +-
> drivers/usb/dwc3/core.c | 2 +-
> drivers/usb/dwc3/dwc3-exynos.c | 2 +-
> drivers/usb/dwc3/dwc3-omap.c | 2 +-
> drivers/usb/dwc3/dwc3-pci.c | 2 +-
> drivers/usb/gadget/bcm63xx_udc.c | 2 +-
> drivers/usb/gadget/fsl_qe_udc.c | 2 +-
> drivers/usb/gadget/hid.c | 2 +-
> drivers/usb/gadget/lpc32xx_udc.c | 2 +-
> drivers/usb/gadget/net2272.c | 4 ++--
> drivers/usb/gadget/omap_udc.c | 2 +-
> drivers/usb/gadget/s3c-hsotg.c | 2 +-
> drivers/usb/host/bcma-hcd.c | 2 +-
> drivers/usb/host/ehci-atmel.c | 2 +-
> drivers/usb/host/ehci-msm.c | 2 +-
> drivers/usb/host/ehci-platform.c | 2 +-
> drivers/usb/host/ehci-s5p.c | 2 +-
> drivers/usb/host/ehci-w90x900.c | 2 +-
> drivers/usb/host/fhci-hcd.c | 2 +-
> drivers/usb/host/fsl-mph-dr-of.c | 2 +-
> drivers/usb/host/isp1362-hcd.c | 2 +-
> drivers/usb/host/isp1760-if.c | 2 +-
> drivers/usb/host/ohci-at91.c | 2 +-
> drivers/usb/host/ohci-exynos.c | 2 +-
> drivers/usb/host/ohci-jz4740.c | 2 +-
> drivers/usb/host/ohci-omap3.c | 2 +-
> drivers/usb/host/ohci-platform.c | 2 +-
> drivers/usb/host/ohci-s3c2410.c | 2 +-
> drivers/usb/host/ohci-tmio.c | 2 +-
> drivers/usb/host/r8a66597-hcd.c | 2 +-
> drivers/usb/host/sl811-hcd.c | 2 +-
> drivers/usb/host/ssb-hcd.c | 2 +-
> drivers/usb/host/u132-hcd.c | 2 +-
> drivers/usb/musb/am35x.c | 2 +-
> drivers/usb/musb/da8xx.c | 2 +-
> drivers/usb/musb/davinci.c | 2 +-
> drivers/usb/musb/musb_core.c | 2 +-
> drivers/usb/musb/musb_dsps.c | 2 +-
> drivers/usb/musb/omap2430.c | 2 +-
> drivers/usb/musb/tusb6010.c | 2 +-
> drivers/usb/musb/ux500.c | 2 +-
> drivers/usb/otg/ab8500-usb.c | 2 +-
> drivers/usb/otg/fsl_otg.c | 2 +-
> drivers/usb/otg/msm_otg.c | 2 +-
> drivers/usb/otg/mxs-phy.c | 2 +-
> drivers/usb/otg/nop-usb-xceiv.c | 2 +-
> drivers/usb/phy/mv_u3d_phy.c | 2 +-
> drivers/usb/phy/omap-usb2.c | 2 +-
> drivers/usb/phy/rcar-phy.c | 2 +-
> drivers/usb/renesas_usbhs/common.c | 2 +-
> 55 files changed, 56 insertions(+), 56 deletions(-)
For drivers/usb/gadget, drivers/usb/dwc3/, drivers/usb/musb/,
drivers/usb/otg/, drivers/usb/phy, and drivers/usb/renesas_usbhs:
Acked-by: Felipe Balbi <balbi@ti.com>
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH 371/493] usb: remove use of __devinitconst
From: Felipe Balbi @ 2012-11-19 20:16 UTC (permalink / raw)
To: Bill Pemberton; +Cc: gregkh, linuxppc-dev, linux-usb, Felipe Balbi
In-Reply-To: <1353349642-3677-371-git-send-email-wfp5p@virginia.edu>
[-- Attachment #1: Type: text/plain, Size: 743 bytes --]
Hi,
On Mon, Nov 19, 2012 at 01:25:20PM -0500, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devinitconst is no
> longer needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> ---
> drivers/usb/gadget/fsl_qe_udc.c | 2 +-
> drivers/usb/host/bcma-hcd.c | 2 +-
> drivers/usb/host/pci-quirks.c | 2 +-
> drivers/usb/host/ssb-hcd.c | 2 +-
> drivers/usb/musb/musb_dsps.c | 6 +++---
> 5 files changed, 7 insertions(+), 7 deletions(-)
For drivers/usb/gadget, drivers/usb/musb/:
Acked-by: Felipe Balbi <balbi@ti.com>
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH 431/493] usb: remove use of __devexit
From: Felipe Balbi @ 2012-11-19 20:17 UTC (permalink / raw)
To: Bill Pemberton
Cc: Kukjin Kim, Wan ZongShun, Alexander Shishkin, gregkh, linux-usb,
Felipe Balbi, linux-omap, linux-samsung-soc, Alan Stern,
Ben Dooks, linuxppc-dev, linux-arm-kernel
In-Reply-To: <1353349642-3677-431-git-send-email-wfp5p@virginia.edu>
[-- Attachment #1: Type: text/plain, Size: 3817 bytes --]
Hi,
On Mon, Nov 19, 2012 at 01:26:20PM -0500, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devexit is no
> longer needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Peter Korsgaard <jacmet@sunsite.dk>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-omap@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org
> ---
> drivers/usb/c67x00/c67x00-drv.c | 2 +-
> drivers/usb/chipidea/ci13xxx_imx.c | 2 +-
> drivers/usb/chipidea/ci13xxx_msm.c | 2 +-
> drivers/usb/chipidea/ci13xxx_pci.c | 2 +-
> drivers/usb/chipidea/core.c | 2 +-
> drivers/usb/chipidea/usbmisc_imx6q.c | 2 +-
> drivers/usb/dwc3/core.c | 2 +-
> drivers/usb/dwc3/debugfs.c | 2 +-
> drivers/usb/dwc3/dwc3-exynos.c | 2 +-
> drivers/usb/dwc3/dwc3-omap.c | 2 +-
> drivers/usb/dwc3/dwc3-pci.c | 2 +-
> drivers/usb/gadget/bcm63xx_udc.c | 2 +-
> drivers/usb/gadget/fsl_qe_udc.c | 2 +-
> drivers/usb/gadget/hid.c | 2 +-
> drivers/usb/gadget/lpc32xx_udc.c | 2 +-
> drivers/usb/gadget/mv_u3d_core.c | 2 +-
> drivers/usb/gadget/mv_udc_core.c | 2 +-
> drivers/usb/gadget/net2272.c | 10 +++++-----
> drivers/usb/gadget/omap_udc.c | 2 +-
> drivers/usb/gadget/s3c-hsotg.c | 4 ++--
> drivers/usb/host/bcma-hcd.c | 2 +-
> drivers/usb/host/ehci-atmel.c | 2 +-
> drivers/usb/host/ehci-msm.c | 2 +-
> drivers/usb/host/ehci-platform.c | 2 +-
> drivers/usb/host/ehci-s5p.c | 2 +-
> drivers/usb/host/ehci-w90x900.c | 2 +-
> drivers/usb/host/fhci-hcd.c | 4 ++--
> drivers/usb/host/fsl-mph-dr-of.c | 4 ++--
> drivers/usb/host/isp1362-hcd.c | 2 +-
> drivers/usb/host/isp1760-if.c | 2 +-
> drivers/usb/host/ohci-at91.c | 6 +++---
> drivers/usb/host/ohci-exynos.c | 2 +-
> drivers/usb/host/ohci-jz4740.c | 2 +-
> drivers/usb/host/ohci-omap3.c | 2 +-
> drivers/usb/host/ohci-platform.c | 2 +-
> drivers/usb/host/ohci-s3c2410.c | 2 +-
> drivers/usb/host/ohci-tmio.c | 2 +-
> drivers/usb/host/r8a66597-hcd.c | 2 +-
> drivers/usb/host/sl811-hcd.c | 2 +-
> drivers/usb/host/ssb-hcd.c | 4 ++--
> drivers/usb/host/u132-hcd.c | 2 +-
> drivers/usb/musb/am35x.c | 2 +-
> drivers/usb/musb/blackfin.c | 2 +-
> drivers/usb/musb/da8xx.c | 2 +-
> drivers/usb/musb/davinci.c | 2 +-
> drivers/usb/musb/musb_core.c | 2 +-
> drivers/usb/musb/musb_dsps.c | 2 +-
> drivers/usb/musb/omap2430.c | 2 +-
> drivers/usb/musb/tusb6010.c | 2 +-
> drivers/usb/musb/ux500.c | 2 +-
> drivers/usb/otg/ab8500-usb.c | 2 +-
> drivers/usb/otg/fsl_otg.c | 2 +-
> drivers/usb/otg/msm_otg.c | 2 +-
> drivers/usb/otg/mxs-phy.c | 2 +-
> drivers/usb/otg/nop-usb-xceiv.c | 2 +-
> drivers/usb/phy/omap-usb2.c | 2 +-
> drivers/usb/phy/rcar-phy.c | 2 +-
> drivers/usb/renesas_usbhs/common.c | 2 +-
For drivers/usb/gadget, drivers/usb/dwc3/, drivers/usb/musb/,
drivers/usb/otg/, drivers/usb/phy, and drivers/usb/renesas_usbhs:
Acked-by: Felipe Balbi <balbi@ti.com>
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH 3/4] perf/POWER7: Make event translations available in sysfs
From: Jiri Olsa @ 2012-11-19 20:34 UTC (permalink / raw)
To: Sukadev Bhattiprolu
Cc: Peter Zijlstra, robert.richter, Anton Blanchard, linux-kernel,
linuxppc-dev, Ingo Molnar, Paul Mackerras,
Arnaldo Carvalho de Melo
In-Reply-To: <20121116193537.GA11800@us.ibm.com>
On Fri, Nov 16, 2012 at 11:35:37AM -0800, Sukadev Bhattiprolu wrote:
> Jiri Olsa [jolsa@redhat.com] wrote:
> | >
> | > Can we remove the assumption that the event id is a generic event that
> | > has PERF_COUNT_HW_ prefix and also let the architectures pass in a "show"
> | > function ? This would allow architectures to display any arch specific
> | > events that don't yet have a generic counterpart.
> | >
> | > IOW, can we do something like this (untested) and make PERF_EVENT_ATTR global:
> |
> | hm, then you probably can use following:
> |
> | http://www.spinics.net/lists/kernel/msg1434233.html
>
> For now, power events can simply be u64 - so am hoping to have something
> like this and replace the raw codes:
>
> #define PM_CYC 0x1e
> #define PM_GCT_NOSLOT_CYC 0x100f8
>
> EVENT_ATTR_STR() is interesting, but would require new/extra macros like
>
> #define PM_CYC_STR "0x1e"
> #define PM_GCT_NOSLOT_CYC_STR "0x100f8"
>
> I went down the path we discussed earlier - to have x86 and Power share
> the EVENT_ATTR() macros. This is making the x86 code less concise
>
> EVENT_ATTR(cpu-cycles, CPU_CYCLES)
>
> becomes
>
> EVENT_ATTR(cpu-cycles, PERF_COUNT_HW_CPU_CYCLES, events_sysfs_show)
>
> with each EVENT_ATTR() explcitly adding events_sysfs_show or needing another
> wrapper around the wrappers.
>
> Still tweaking it, but would it be flexible to make 'struct pmu_events_attr'
> common and let architectures define the EVENT_ATTR() as needed ? Would
> duplicate some code but hopefully not a lot.
sounds good, let's see ;)
jirka
^ permalink raw reply
* [PATCH] vfio powerpc: enabled and supported on powernv platform
From: Alexey Kardashevskiy @ 2012-11-20 0:48 UTC (permalink / raw)
To: Alex Williamson
Cc: kvm, Alexey Kardashevskiy, linux-kernel, Paul Mackerras,
linuxppc-dev, David Gibson
In-Reply-To: <20121113033832.GW4696@truffula.fritz.box>
VFIO implements platform independent stuff such as
a PCI driver, BAR access (via read/write on a file descriptor
or direct mapping when possible) and IRQ signaling.
The platform dependent part includes IOMMU initialization
and handling.
This patch initializes IOMMU groups based on the IOMMU
configuration discovered during the PCI scan, only POWERNV
platform is supported at the moment.
Also the patch implements an VFIO-IOMMU driver which
manages DMA mapping/unmapping requests coming from
the client (now QEMU). It also returns a DMA window
information to let the guest initialize the device tree
for a guest OS properly. Although this driver has been
tested only on POWERNV, it should work on any platform
supporting TCE tables.
To enable VFIO on POWER, enable SPAPR_TCE_IOMMU config
option.
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
---
arch/powerpc/include/asm/iommu.h | 6 +
arch/powerpc/kernel/iommu.c | 140 +++++++++++++++++++
arch/powerpc/platforms/powernv/pci.c | 135 +++++++++++++++++++
drivers/iommu/Kconfig | 8 ++
drivers/vfio/Kconfig | 6 +
drivers/vfio/Makefile | 1 +
drivers/vfio/vfio_iommu_spapr_tce.c | 247 ++++++++++++++++++++++++++++++++++
include/linux/vfio.h | 20 +++
8 files changed, 563 insertions(+)
create mode 100644 drivers/vfio/vfio_iommu_spapr_tce.c
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index cbfe678..5ba66cb 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -64,30 +64,33 @@ struct iommu_pool {
} ____cacheline_aligned_in_smp;
struct iommu_table {
unsigned long it_busno; /* Bus number this table belongs to */
unsigned long it_size; /* Size of iommu table in entries */
unsigned long it_offset; /* Offset into global table */
unsigned long it_base; /* mapped address of tce table */
unsigned long it_index; /* which iommu table this is */
unsigned long it_type; /* type: PCI or Virtual Bus */
unsigned long it_blocksize; /* Entries in each block (cacheline) */
unsigned long poolsize;
unsigned long nr_pools;
struct iommu_pool large_pool;
struct iommu_pool pools[IOMMU_NR_POOLS];
unsigned long *it_map; /* A simple allocation bitmap for now */
+#ifdef CONFIG_IOMMU_API
+ struct iommu_group *it_group;
+#endif
};
struct scatterlist;
static inline void set_iommu_table_base(struct device *dev, void *base)
{
dev->archdata.dma_data.iommu_table_base = base;
}
static inline void *get_iommu_table_base(struct device *dev)
{
return dev->archdata.dma_data.iommu_table_base;
}
/* Frees table for an individual device node */
@@ -135,17 +138,20 @@ static inline void pci_iommu_init(void) { }
extern void alloc_dart_table(void);
#if defined(CONFIG_PPC64) && defined(CONFIG_PM)
static inline void iommu_save(void)
{
if (ppc_md.iommu_save)
ppc_md.iommu_save();
}
static inline void iommu_restore(void)
{
if (ppc_md.iommu_restore)
ppc_md.iommu_restore();
}
#endif
+extern long iommu_put_tces(struct iommu_table *tbl, unsigned long entry, uint64_t tce,
+ enum dma_data_direction direction, unsigned long pages);
+
#endif /* __KERNEL__ */
#endif /* _ASM_IOMMU_H */
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index ff5a6ce..94f614b 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -32,30 +32,31 @@
#include <linux/dma-mapping.h>
#include <linux/bitmap.h>
#include <linux/iommu-helper.h>
#include <linux/crash_dump.h>
#include <linux/hash.h>
#include <linux/fault-inject.h>
#include <linux/pci.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/iommu.h>
#include <asm/pci-bridge.h>
#include <asm/machdep.h>
#include <asm/kdump.h>
#include <asm/fadump.h>
#include <asm/vio.h>
+#include <asm/tce.h>
#define DBG(...)
static int novmerge;
static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int);
static int __init setup_iommu(char *str)
{
if (!strcmp(str, "novmerge"))
novmerge = 1;
else if (!strcmp(str, "vmerge"))
novmerge = 0;
return 1;
}
@@ -844,15 +845,154 @@ void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
}
void iommu_free_coherent(struct iommu_table *tbl, size_t size,
void *vaddr, dma_addr_t dma_handle)
{
if (tbl) {
unsigned int nio_pages;
size = PAGE_ALIGN(size);
nio_pages = size >> IOMMU_PAGE_SHIFT;
iommu_free(tbl, dma_handle, nio_pages);
size = PAGE_ALIGN(size);
free_pages((unsigned long)vaddr, get_order(size));
}
}
+
+#ifdef CONFIG_IOMMU_API
+/*
+ * SPAPR TCE API
+ */
+static struct page *free_tce(struct iommu_table *tbl, unsigned long entry)
+{
+ struct page *page = NULL;
+ unsigned long oldtce;
+
+ oldtce = ppc_md.tce_get(tbl, entry);
+
+ if (!(oldtce & (TCE_PCI_WRITE | TCE_PCI_READ)))
+ return NULL;
+
+ page = pfn_to_page(oldtce >> PAGE_SHIFT);
+
+ WARN_ON(!page);
+ if (page && (oldtce & TCE_PCI_WRITE))
+ SetPageDirty(page);
+ ppc_md.tce_free(tbl, entry, 1);
+
+ return page;
+}
+
+static int put_tce(struct iommu_table *tbl, unsigned long entry,
+ uint64_t tce, enum dma_data_direction direction)
+{
+ int ret;
+ struct page *page = NULL;
+ unsigned long kva, offset;
+
+ /* Map new TCE */
+ offset = (tce & IOMMU_PAGE_MASK) - (tce & PAGE_MASK);
+ ret = get_user_pages_fast(tce & PAGE_MASK, 1,
+ direction != DMA_TO_DEVICE, &page);
+ if (ret < 1) {
+ printk(KERN_ERR "tce_vfio: get_user_pages_fast failed tce=%llx ioba=%lx ret=%d\n",
+ tce, entry << IOMMU_PAGE_SHIFT, ret);
+ if (!ret)
+ ret = -EFAULT;
+ }
+
+ kva = (unsigned long) page_address(page);
+ kva += offset;
+
+ /* tce_build receives a virtual address */
+ entry += tbl->it_offset; /* Offset into real TCE table */
+ ret = ppc_md.tce_build(tbl, entry, 1, kva, direction, NULL);
+
+ /* tce_build() only returns non-zero for transient errors */
+ if (unlikely(ret)) {
+ printk(KERN_ERR "tce_vfio: tce_put failed on tce=%llx ioba=%lx kva=%lx ret=%d\n",
+ tce, entry << IOMMU_PAGE_SHIFT, kva, ret);
+ put_page(page);
+ return -EIO;
+ }
+
+ return 0;
+}
+
+static void tce_flush(struct iommu_table *tbl)
+{
+ /* Flush/invalidate TLB caches if necessary */
+ if (ppc_md.tce_flush)
+ ppc_md.tce_flush(tbl);
+
+ /* Make sure updates are seen by hardware */
+ mb();
+}
+
+long iommu_put_tces(struct iommu_table *tbl, unsigned long entry, uint64_t tce,
+ enum dma_data_direction direction, unsigned long pages)
+{
+ int i, ret = 0, pages_to_put = 0;
+ struct page *page;
+ struct iommu_pool *pool = get_pool(tbl, entry);
+ struct page **oldpages;
+ const int oldpagesnum = PAGE_SIZE/sizeof(*oldpages);
+
+ BUILD_BUG_ON(PAGE_SIZE < IOMMU_PAGE_SIZE);
+
+ /* Handle a single page request without allocation
+ of pages-to-release array */
+ if (pages == 1) {
+ spin_lock(&(pool->lock));
+ page = free_tce(tbl, entry);
+
+ if (direction != DMA_NONE)
+ ret = put_tce(tbl, entry, tce, direction);
+
+ tce_flush(tbl);
+
+ if (page)
+ put_page(page);
+
+ spin_unlock(&(pool->lock));
+ return ret;
+ }
+
+ /* Releasing multiple pages */
+ /* Allocate an array for pages to be released after TCE table
+ is updated */
+ oldpages = kmalloc(PAGE_SIZE, GFP_KERNEL);
+ if (!oldpages)
+ return -ENOMEM;
+
+ spin_lock(&(pool->lock));
+
+ for (i = 0; (i < pages) && !ret; ++i, ++entry, tce += IOMMU_PAGE_SIZE) {
+ page = free_tce(tbl, entry);
+ if (page) {
+ oldpages[pages_to_put] = page;
+ ++pages_to_put;
+ }
+
+ if (direction != DMA_NONE)
+ ret = put_tce(tbl, entry, tce, direction);
+
+ /* Release old pages if we reached the end of oldpages[] or
+ it is the last page or we are about to exit the loop */
+ if ((pages_to_put == oldpagesnum) || (i == pages - 1) || ret) {
+ tce_flush(tbl);
+
+ /* Release pages after removing them from TCE table */
+ while (pages_to_put) {
+ --pages_to_put;
+ put_page(oldpages[pages_to_put]);
+ }
+ }
+ }
+
+ spin_unlock(&(pool->lock));
+ kfree(oldpages);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(iommu_put_tces);
+#endif /* CONFIG_IOMMU_API */
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c
index 05205cf..676f4d9 100644
--- a/arch/powerpc/platforms/powernv/pci.c
+++ b/arch/powerpc/platforms/powernv/pci.c
@@ -8,30 +8,31 @@
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/string.h>
#include <linux/init.h>
#include <linux/bootmem.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/msi.h>
+#include <linux/iommu.h>
#include <asm/sections.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/pci-bridge.h>
#include <asm/machdep.h>
#include <asm/ppc-pci.h>
#include <asm/opal.h>
#include <asm/iommu.h>
#include <asm/tce.h>
#include <asm/abs_addr.h>
#include <asm/firmware.h>
#include "powernv.h"
#include "pci.h"
@@ -601,15 +602,149 @@ void __init pnv_pci_init(void)
/* Configure IOMMU DMA hooks */
ppc_md.pci_dma_dev_setup = pnv_pci_dma_dev_setup;
ppc_md.tce_build = pnv_tce_build;
ppc_md.tce_free = pnv_tce_free;
ppc_md.tce_get = pnv_tce_get;
ppc_md.pci_probe_mode = pnv_pci_probe_mode;
set_pci_dma_ops(&dma_iommu_ops);
/* Configure MSIs */
#ifdef CONFIG_PCI_MSI
ppc_md.msi_check_device = pnv_msi_check_device;
ppc_md.setup_msi_irqs = pnv_setup_msi_irqs;
ppc_md.teardown_msi_irqs = pnv_teardown_msi_irqs;
#endif
}
+
+#ifdef CONFIG_IOMMU_API
+/*
+ * IOMMU groups support required by VFIO
+ */
+static int add_device(struct device *dev)
+{
+ struct iommu_table *tbl;
+ int ret = 0;
+
+ if (WARN_ON(dev->iommu_group)) {
+ printk(KERN_WARNING "tce_vfio: device %s is already in iommu group %d, skipping\n",
+ dev->kobj.name,
+ iommu_group_id(dev->iommu_group));
+ return -EBUSY;
+ }
+
+ tbl = get_iommu_table_base(dev);
+ if (!tbl) {
+ pr_debug("tce_vfio: skipping device %s with no tbl\n",
+ dev->kobj.name);
+ return 0;
+ }
+
+ pr_debug("tce_vfio: adding %s to iommu group %d\n",
+ dev->kobj.name, iommu_group_id(tbl->it_group));
+
+ ret = iommu_group_add_device(tbl->it_group, dev);
+ if (ret < 0)
+ printk(KERN_ERR "tce_vfio: %s has not been added, ret=%d\n",
+ dev->kobj.name, ret);
+
+ return ret;
+}
+
+static void del_device(struct device *dev)
+{
+ iommu_group_remove_device(dev);
+}
+
+static int iommu_bus_notifier(struct notifier_block *nb,
+ unsigned long action, void *data)
+{
+ struct device *dev = data;
+
+ switch (action) {
+ case BUS_NOTIFY_ADD_DEVICE:
+ return add_device(dev);
+ case BUS_NOTIFY_DEL_DEVICE:
+ del_device(dev);
+ return 0;
+ default:
+ return 0;
+ }
+}
+
+static struct notifier_block tce_iommu_bus_nb = {
+ .notifier_call = iommu_bus_notifier,
+};
+
+static void group_release(void *iommu_data)
+{
+ struct iommu_table *tbl = iommu_data;
+ tbl->it_group = NULL;
+}
+
+static int __init tce_iommu_init(void)
+{
+ struct pci_dev *pdev = NULL;
+ struct iommu_table *tbl;
+ struct iommu_group *grp;
+
+ bus_register_notifier(&pci_bus_type, &tce_iommu_bus_nb);
+
+ /* Allocate and initialize IOMMU groups */
+ for_each_pci_dev(pdev) {
+ tbl = get_iommu_table_base(&pdev->dev);
+ if (!tbl)
+ continue;
+
+ /* Skip already initialized */
+ if (tbl->it_group)
+ continue;
+
+ grp = iommu_group_alloc();
+ if (IS_ERR(grp)) {
+ printk(KERN_INFO "tce_vfio: cannot create "
+ "new IOMMU group, ret=%ld\n",
+ PTR_ERR(grp));
+ return PTR_ERR(grp);
+ }
+ tbl->it_group = grp;
+ iommu_group_set_iommudata(grp, tbl, group_release);
+ }
+
+ /* Add PCI devices to VFIO groups */
+ for_each_pci_dev(pdev)
+ add_device(&pdev->dev);
+
+ return 0;
+}
+
+static void __exit tce_iommu_cleanup(void)
+{
+ struct pci_dev *pdev = NULL;
+ struct iommu_table *tbl;
+ struct iommu_group *grp = NULL;
+
+ bus_unregister_notifier(&pci_bus_type, &tce_iommu_bus_nb);
+
+ /* Delete PCI devices from VFIO groups */
+ for_each_pci_dev(pdev)
+ del_device(&pdev->dev);
+
+ /* Release VFIO groups */
+ for_each_pci_dev(pdev) {
+ tbl = get_iommu_table_base(&pdev->dev);
+ if (!tbl)
+ continue;
+ grp = tbl->it_group;
+
+ /* Skip (already) uninitialized */
+ if (!grp)
+ continue;
+
+ /* Do actual release, group_release() is expected to work */
+ iommu_group_put(grp);
+ BUG_ON(tbl->it_group);
+ }
+}
+
+module_init(tce_iommu_init);
+module_exit(tce_iommu_cleanup);
+#endif /* CONFIG_IOMMU_API */
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index 9f69b56..29d11dc 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -175,16 +175,24 @@ config EXYNOS_IOMMU
processor family. This enables H/W multimedia accellerators to see
non-linear physical memory chunks as a linear memory in their
address spaces
If unsure, say N here.
config EXYNOS_IOMMU_DEBUG
bool "Debugging log for Exynos IOMMU"
depends on EXYNOS_IOMMU
help
Select this to see the detailed log message that shows what
happens in the IOMMU driver
Say N unless you need kernel log message for IOMMU debugging
+config SPAPR_TCE_IOMMU
+ bool "sPAPR TCE IOMMU Support"
+ depends on PPC_POWERNV
+ select IOMMU_API
+ help
+ Enables bits of IOMMU API required by VFIO. The iommu_ops is
+ still not implemented.
+
endif # IOMMU_SUPPORT
diff --git a/drivers/vfio/Kconfig b/drivers/vfio/Kconfig
index 7cd5dec..b464687 100644
--- a/drivers/vfio/Kconfig
+++ b/drivers/vfio/Kconfig
@@ -1,16 +1,22 @@
config VFIO_IOMMU_TYPE1
tristate
depends on VFIO
default n
+config VFIO_IOMMU_SPAPR_TCE
+ tristate
+ depends on VFIO && SPAPR_TCE_IOMMU
+ default n
+
menuconfig VFIO
tristate "VFIO Non-Privileged userspace driver framework"
depends on IOMMU_API
select VFIO_IOMMU_TYPE1 if X86
+ select VFIO_IOMMU_SPAPR_TCE if PPC_POWERNV
help
VFIO provides a framework for secure userspace device drivers.
See Documentation/vfio.txt for more details.
If you don't know what to do here, say N.
source "drivers/vfio/pci/Kconfig"
diff --git a/drivers/vfio/Makefile b/drivers/vfio/Makefile
index 2398d4a..72bfabc 100644
--- a/drivers/vfio/Makefile
+++ b/drivers/vfio/Makefile
@@ -1,3 +1,4 @@
obj-$(CONFIG_VFIO) += vfio.o
obj-$(CONFIG_VFIO_IOMMU_TYPE1) += vfio_iommu_type1.o
+obj-$(CONFIG_VFIO_IOMMU_SPAPR_TCE) += vfio_iommu_spapr_tce.o
obj-$(CONFIG_VFIO_PCI) += pci/
diff --git a/drivers/vfio/vfio_iommu_spapr_tce.c b/drivers/vfio/vfio_iommu_spapr_tce.c
new file mode 100644
index 0000000..ac72c74d
--- /dev/null
+++ b/drivers/vfio/vfio_iommu_spapr_tce.c
@@ -0,0 +1,247 @@
+/*
+ * VFIO: IOMMU DMA mapping support for TCE on POWER
+ *
+ * Copyright (C) 2012 IBM Corp. All rights reserved.
+ * Author: Alexey Kardashevskiy <aik@ozlabs.ru>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Derived from original vfio_iommu_type1.c:
+ * Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+ * Author: Alex Williamson <alex.williamson@redhat.com>
+ */
+
+#include <linux/module.h>
+#include <linux/pci.h>
+#include <linux/slab.h>
+#include <linux/uaccess.h>
+#include <linux/err.h>
+#include <linux/vfio.h>
+#include <asm/iommu.h>
+
+#define DRIVER_VERSION "0.1"
+#define DRIVER_AUTHOR "aik@ozlabs.ru"
+#define DRIVER_DESC "VFIO IOMMU SPAPR TCE"
+
+static void tce_iommu_detach_group(void *iommu_data,
+ struct iommu_group *iommu_group);
+
+/*
+ * VFIO IOMMU fd for SPAPR_TCE IOMMU implementation
+ */
+
+/*
+ * The container descriptor supports only a single group per container.
+ * Required by the API as the container is not supplied with the IOMMU group
+ * at the moment of initialization.
+ */
+struct tce_container {
+ struct mutex lock;
+ struct iommu_table *tbl;
+};
+
+static void *tce_iommu_open(unsigned long arg)
+{
+ struct tce_container *container;
+
+ if (arg != VFIO_SPAPR_TCE_IOMMU) {
+ printk(KERN_ERR "tce_vfio: Wrong IOMMU type\n");
+ return ERR_PTR(-EINVAL);
+ }
+
+ container = kzalloc(sizeof(*container), GFP_KERNEL);
+ if (!container)
+ return ERR_PTR(-ENOMEM);
+
+ mutex_init(&container->lock);
+
+ return container;
+}
+
+static void tce_iommu_release(void *iommu_data)
+{
+ struct tce_container *container = iommu_data;
+
+ WARN_ON(container->tbl && !container->tbl->it_group);
+ if (container->tbl && container->tbl->it_group)
+ tce_iommu_detach_group(iommu_data, container->tbl->it_group);
+
+ mutex_destroy(&container->lock);
+
+ kfree(container);
+}
+
+static long tce_iommu_ioctl(void *iommu_data,
+ unsigned int cmd, unsigned long arg)
+{
+ struct tce_container *container = iommu_data;
+ unsigned long minsz;
+
+ switch (cmd) {
+ case VFIO_CHECK_EXTENSION: {
+ return (arg == VFIO_SPAPR_TCE_IOMMU) ? 1 : 0;
+ }
+ case VFIO_IOMMU_SPAPR_TCE_GET_INFO: {
+ struct vfio_iommu_spapr_tce_info info;
+ struct iommu_table *tbl = container->tbl;
+
+ if (WARN_ON(!tbl))
+ return -ENXIO;
+
+ minsz = offsetofend(struct vfio_iommu_spapr_tce_info,
+ dma64_window_size);
+
+ if (copy_from_user(&info, (void __user *)arg, minsz))
+ return -EFAULT;
+
+ if (info.argsz < minsz)
+ return -EINVAL;
+
+ info.dma32_window_start = tbl->it_offset << IOMMU_PAGE_SHIFT;
+ info.dma32_window_size = tbl->it_size << IOMMU_PAGE_SHIFT;
+ info.dma64_window_start = 0;
+ info.dma64_window_size = 0;
+ info.flags = 0;
+
+ if (copy_to_user((void __user *)arg, &info, minsz))
+ return -EFAULT;
+
+ return 0;
+ }
+ case VFIO_IOMMU_MAP_DMA: {
+ vfio_iommu_spapr_tce_dma_map par;
+ struct iommu_table *tbl = container->tbl;
+ enum dma_data_direction direction = DMA_NONE;
+
+ if (WARN_ON(!tbl))
+ return -ENXIO;
+
+ minsz = offsetofend(vfio_iommu_spapr_tce_dma_map, size);
+
+ if (copy_from_user(&par, (void __user *)arg, minsz))
+ return -EFAULT;
+
+ if (par.argsz < minsz)
+ return -EINVAL;
+
+ if ((par.flags & VFIO_DMA_MAP_FLAG_READ) &&
+ (par.flags & VFIO_DMA_MAP_FLAG_WRITE)) {
+ direction = DMA_BIDIRECTIONAL;
+ } else if (par.flags & VFIO_DMA_MAP_FLAG_READ) {
+ direction = DMA_TO_DEVICE;
+ } else if (par.flags & VFIO_DMA_MAP_FLAG_WRITE) {
+ direction = DMA_FROM_DEVICE;
+ }
+
+ par.size += par.iova & ~IOMMU_PAGE_MASK;
+ par.size = _ALIGN_UP(par.size, IOMMU_PAGE_SIZE);
+
+ return iommu_put_tces(tbl, par.iova >> IOMMU_PAGE_SHIFT,
+ par.vaddr & IOMMU_PAGE_MASK, direction,
+ par.size >> IOMMU_PAGE_SHIFT);
+ }
+ case VFIO_IOMMU_UNMAP_DMA: {
+ vfio_iommu_spapr_tce_dma_unmap par;
+ struct iommu_table *tbl = container->tbl;
+
+ if (WARN_ON(!tbl))
+ return -ENXIO;
+
+ minsz = offsetofend(vfio_iommu_spapr_tce_dma_unmap, size);
+
+ if (copy_from_user(&par, (void __user *)arg, minsz))
+ return -EFAULT;
+
+ if (par.argsz < minsz)
+ return -EINVAL;
+
+ par.size += par.iova & ~IOMMU_PAGE_MASK;
+ par.size = _ALIGN_UP(par.size, IOMMU_PAGE_SIZE);
+
+ return iommu_put_tces(tbl, par.iova >> IOMMU_PAGE_SHIFT,
+ 0, DMA_NONE, par.size >> IOMMU_PAGE_SHIFT);
+ }
+ default:
+ printk(KERN_WARNING "tce_vfio: unexpected cmd %x\n", cmd);
+ }
+
+ return -ENOTTY;
+}
+
+static int tce_iommu_attach_group(void *iommu_data,
+ struct iommu_group *iommu_group)
+{
+ struct tce_container *container = iommu_data;
+ struct iommu_table *tbl = iommu_group_get_iommudata(iommu_group);
+
+ BUG_ON(!tbl);
+ mutex_lock(&container->lock);
+ pr_debug("tce_vfio: Attaching group #%u to iommu %p\n",
+ iommu_group_id(iommu_group), iommu_group);
+ if (container->tbl) {
+ printk(KERN_WARNING "tce_vfio: Only one group per IOMMU container is allowed, existing id=%d, attaching id=%d\n",
+ iommu_group_id(container->tbl->it_group),
+ iommu_group_id(iommu_group));
+ mutex_unlock(&container->lock);
+ return -EBUSY;
+ }
+
+ container->tbl = tbl;
+ mutex_unlock(&container->lock);
+
+ return 0;
+}
+
+static void tce_iommu_detach_group(void *iommu_data,
+ struct iommu_group *iommu_group)
+{
+ struct tce_container *container = iommu_data;
+ struct iommu_table *tbl = iommu_group_get_iommudata(iommu_group);
+
+ BUG_ON(!tbl);
+ mutex_lock(&container->lock);
+ if (tbl != container->tbl) {
+ printk(KERN_WARNING "tce_vfio: detaching group #%u, expected group is #%u\n",
+ iommu_group_id(iommu_group),
+ iommu_group_id(tbl->it_group));
+ } else {
+
+ pr_debug("tce_vfio: detaching group #%u from iommu %p\n",
+ iommu_group_id(iommu_group), iommu_group);
+
+ iommu_put_tces(tbl, tbl->it_offset, 0, DMA_NONE, tbl->it_size);
+ container->tbl = NULL;
+ }
+ mutex_unlock(&container->lock);
+}
+
+const struct vfio_iommu_driver_ops tce_iommu_driver_ops = {
+ .name = "iommu-vfio-powerpc",
+ .owner = THIS_MODULE,
+ .open = tce_iommu_open,
+ .release = tce_iommu_release,
+ .ioctl = tce_iommu_ioctl,
+ .attach_group = tce_iommu_attach_group,
+ .detach_group = tce_iommu_detach_group,
+};
+
+static int __init tce_iommu_init(void)
+{
+ return vfio_register_iommu_driver(&tce_iommu_driver_ops);
+}
+
+static void __exit tce_iommu_cleanup(void)
+{
+ vfio_unregister_iommu_driver(&tce_iommu_driver_ops);
+}
+
+module_init(tce_iommu_init);
+module_exit(tce_iommu_cleanup);
+
+MODULE_VERSION(DRIVER_VERSION);
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR(DRIVER_AUTHOR);
+MODULE_DESCRIPTION(DRIVER_DESC);
+
diff --git a/include/linux/vfio.h b/include/linux/vfio.h
index 0a4f180..3ecd65c 100644
--- a/include/linux/vfio.h
+++ b/include/linux/vfio.h
@@ -87,30 +87,31 @@ extern void vfio_unregister_iommu_driver(
* Simple helper macro for dealing with variable sized structures passed
* from user space. This allows us to easily determine if the provided
* structure is sized to include various fields.
*/
#define offsetofend(TYPE, MEMBER) ({ \
TYPE tmp; \
offsetof(TYPE, MEMBER) + sizeof(tmp.MEMBER); }) \
#endif /* __KERNEL__ */
/* Kernel & User level defines for VFIO IOCTLs. */
/* Extensions */
#define VFIO_TYPE1_IOMMU 1
+#define VFIO_SPAPR_TCE_IOMMU 2
/*
* The IOCTL interface is designed for extensibility by embedding the
* structure length (argsz) and flags into structures passed between
* kernel and userspace. We therefore use the _IO() macro for these
* defines to avoid implicitly embedding a size into the ioctl request.
* As structure fields are added, argsz will increase to match and flag
* bits will be defined to indicate additional fields with valid data.
* It's *always* the caller's responsibility to indicate the size of
* the structure passed by setting argsz appropriately.
*/
#define VFIO_TYPE (';')
#define VFIO_BASE 100
@@ -430,16 +431,35 @@ struct vfio_iommu_type1_dma_map {
/**
* VFIO_IOMMU_UNMAP_DMA - _IOW(VFIO_TYPE, VFIO_BASE + 14, struct vfio_dma_unmap)
*
* Unmap IO virtual addresses using the provided struct vfio_dma_unmap.
* Caller sets argsz.
*/
struct vfio_iommu_type1_dma_unmap {
__u32 argsz;
__u32 flags;
__u64 iova; /* IO virtual address */
__u64 size; /* Size of mapping (bytes) */
};
#define VFIO_IOMMU_UNMAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 14)
+/* -------- Additional API for SPAPR TCE (Server POWERPC) IOMMU -------- */
+
+struct vfio_iommu_spapr_tce_info {
+ __u32 argsz;
+ __u32 flags;
+ __u32 dma32_window_start;
+ __u32 dma32_window_size;
+ __u64 dma64_window_start;
+ __u64 dma64_window_size;
+};
+
+#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
+
+/* Reuse type1 map/unmap structs as they are the same at the moment */
+typedef struct vfio_iommu_type1_dma_map vfio_iommu_spapr_tce_dma_map;
+typedef struct vfio_iommu_type1_dma_unmap vfio_iommu_spapr_tce_dma_unmap;
+
+/* ***************************************************************** */
+
#endif /* VFIO_H */
--
1.7.10.4
^ permalink raw reply related
* Re: [PATCH] powerpc: added DSCR support to ptrace
From: Alexey Kardashevskiy @ 2012-11-20 1:18 UTC (permalink / raw)
To: Alexey Kardashevskiy
Cc: linuxppc-dev, Paul Mackerras, Anton Blanchard, linux-kernel
In-Reply-To: <1350281910-5238-1-git-send-email-aik@ozlabs.ru>
Ping?
On 15/10/12 17:18, Alexey Kardashevskiy wrote:
> The DSCR (aka Data Stream Control Register) is supported on some
> server PowerPC chips and allow some control over the prefetch
> of data streams.
>
> The kernel already supports DSCR value per thread but there is also
> a need in a ability to change it from an external process for
> the specific pid.
>
> The patch adds new register index PT_DSCR (index=44) which can be
> set/get by:
> ptrace(PTRACE_POKEUSER, traced_process, PT_DSCR << 3, dscr);
> dscr = ptrace(PTRACE_PEEKUSER, traced_process, PT_DSCR << 3, NULL);
>
> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
> ---
> arch/powerpc/include/asm/ptrace.h | 3 ++-
> arch/powerpc/kernel/ptrace.c | 16 ++++++++++++++++
> 2 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h
> index 84cc784..946c556 100644
> --- a/arch/powerpc/include/asm/ptrace.h
> +++ b/arch/powerpc/include/asm/ptrace.h
> @@ -276,7 +276,8 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
> #define PT_DAR 41
> #define PT_DSISR 42
> #define PT_RESULT 43
> -#define PT_REGS_COUNT 44
> +#define PT_DSCR 44
> +#define PT_REGS_COUNT 45
>
> #define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
>
> diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
> index 8d8e028..4798acf 100644
> --- a/arch/powerpc/kernel/ptrace.c
> +++ b/arch/powerpc/kernel/ptrace.c
> @@ -179,6 +179,17 @@ static int set_user_msr(struct task_struct *task, unsigned long msr)
> return 0;
> }
>
> +static unsigned long get_user_dscr(struct task_struct *task)
> +{
> + return task->thread.dscr;
> +}
> +
> +static int set_user_dscr(struct task_struct *task, unsigned long dscr)
> +{
> + task->thread.dscr = dscr;
> + return 0;
> +}
> +
> /*
> * We prevent mucking around with the reserved area of trap
> * which are used internally by the kernel.
> @@ -200,6 +211,9 @@ unsigned long ptrace_get_reg(struct task_struct *task, int regno)
> if (regno == PT_MSR)
> return get_user_msr(task);
>
> + if (regno == PT_DSCR)
> + return get_user_dscr(task);
> +
> if (regno < (sizeof(struct pt_regs) / sizeof(unsigned long)))
> return ((unsigned long *)task->thread.regs)[regno];
>
> @@ -218,6 +232,8 @@ int ptrace_put_reg(struct task_struct *task, int regno, unsigned long data)
> return set_user_msr(task, data);
> if (regno == PT_TRAP)
> return set_user_trap(task, data);
> + if (regno == PT_DSCR)
> + return set_user_dscr(task, data);
>
> if (regno <= PT_MAX_PUT_REG) {
> ((unsigned long *)task->thread.regs)[regno] = data;
>
--
Alexey
^ permalink raw reply
* Re: [PATCH 158/493] video: remove use of __devinit
From: Jingoo Han @ 2012-11-20 1:58 UTC (permalink / raw)
To: Bill Pemberton
Cc: linux-fbdev@vger.kernel.org,
virtualization@lists.linux-foundation.org, Michal Januszewski,
Paul Mackerras, linux-nvidia@lists.surfsouth.com, Daniel Walker,
Kukjin Kim, Russell King, Wan ZongShun, Florian Tobias Schandinat,
Jingoo Han, Tomi Valkeinen, David Brown, Jaya Kumar,
cbe-oss-dev@lists.ozlabs.org, Antonino Daplas,
linux-arm-msm@vger.kernel.org, Thomas Winischhofer,
linux-geode@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, Ben Dooks,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Maik Broemme, Geoff Levand, gregkh@linuxfoundation.org,
Ferenc Bakonyi, Tony Prisk, Bryan Huntsman, Kristoffer Ericson,
linuxppc-dev@lists.ozlabs.org, xen-devel@lists.xensource.com
T24gVHVlc2RheSwgTm92ZW1iZXIgMjAsIDIwMTIgMzoyMiBBTSwgQmlsbCBQZW1iZXJ0b24gd3Jv
dGUNCj4gDQo+IENPTkZJR19IT1RQTFVHIGlzIGdvaW5nIGF3YXkgYXMgYW4gb3B0aW9uIHNvIF9f
ZGV2aW5pdCBpcyBubyBsb25nZXINCj4gbmVlZGVkLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogQmls
bCBQZW1iZXJ0b24gPHdmcDVwQHZpcmdpbmlhLmVkdT4NCj4gQ2M6IEZsb3JpYW4gVG9iaWFzIFNj
aGFuZGluYXQgPEZsb3JpYW5TY2hhbmRpbmF0QGdteC5kZT4NCj4gQ2M6IEpheWEgS3VtYXIgPGph
eWFsa0BpbnR3b3Jrcy5iaXo+DQo+IENjOiBQYXVsIE1hY2tlcnJhcyA8cGF1bHVzQHNhbWJhLm9y
Zz4NCj4gQ2M6IEJlbmphbWluIEhlcnJlbnNjaG1pZHQgPGJlbmhAa2VybmVsLmNyYXNoaW5nLm9y
Zz4NCj4gQ2M6IFJ1c3NlbGwgS2luZyA8bGludXhAYXJtLmxpbnV4Lm9yZy51az4NCj4gQ2M6IEpp
bmdvbyBIYW4gPGpnMS5oYW5Ac2Ftc3VuZy5jb20+DQo+IENjOiBGZXJlbmMgQmFrb255aSA8ZmVy
b0BkcmFtYS5vYnVkYS5rYW5kby5odT4NCj4gQ2M6IEFudG9uaW5vIERhcGxhcyA8YWRhcGxhc0Bn
bWFpbC5jb20+DQo+IENjOiBNYWlrIEJyb2VtbWUgPG1icm9lbW1lQHBsdXNzZXJ2ZXIuZGU+DQo+
IENjOiBEYXZpZCBCcm93biA8ZGF2aWRiQGNvZGVhdXJvcmEub3JnPg0KPiBDYzogRGFuaWVsIFdh
bGtlciA8ZHdhbGtlckBmaWZvOTkuY29tPg0KPiBDYzogQnJ5YW4gSHVudHNtYW4gPGJyeWFuaEBj
b2RlYXVyb3JhLm9yZz4NCj4gQ2M6IFdhbiBab25nU2h1biA8bWN1b3MuY29tQGdtYWlsLmNvbT4N
Cj4gQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+DQo+IENjOiBHZW9m
ZiBMZXZhbmQgPGdlb2ZmQGluZnJhZGVhZC5vcmc+DQo+IENjOiBLcmlzdG9mZmVyIEVyaWNzb24g
PGtyaXN0b2ZmZXIuZXJpY3NvbkBnbWFpbC5jb20+DQo+IENjOiBCZW4gRG9va3MgPGJlbi1saW51
eEBmbHVmZi5vcmc+DQo+IENjOiBLdWtqaW4gS2ltIDxrZ2VuZS5raW1Ac2Ftc3VuZy5jb20+DQo+
IENjOiBUaG9tYXMgV2luaXNjaGhvZmVyIDx0aG9tYXNAd2luaXNjaGhvZmVyLm5ldD4NCj4gQ2M6
IE1pY2hhbCBKYW51c3pld3NraSA8c3BvY2tAZ2VudG9vLm9yZz4NCj4gQ2M6IFRvbnkgUHJpc2sg
PGxpbnV4QHByaXNrdGVjaC5jby5uej4NCj4gQ2M6IGxpbnV4LWZiZGV2QHZnZXIua2VybmVsLm9y
Zw0KPiBDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnDQo+IENjOiBsaW51
eC1nZW9kZUBsaXN0cy5pbmZyYWRlYWQub3JnDQo+IENjOiBsaW51eC1udmlkaWFAbGlzdHMuc3Vy
ZnNvdXRoLmNvbQ0KPiBDYzogbGludXgtYXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6IGxp
bnV4LW9tYXBAdmdlci5rZXJuZWwub3JnDQo+IENjOiBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJz
Lm9yZw0KPiBDYzogY2JlLW9zcy1kZXZAbGlzdHMub3psYWJzLm9yZw0KPiBDYzogbGludXgtc2Ft
c3VuZy1zb2NAdmdlci5rZXJuZWwub3JnDQo+IENjOiB4ZW4tZGV2ZWxAbGlzdHMueGVuc291cmNl
LmNvbQ0KPiBDYzogdmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcNCj4g
LS0tDQo+ICBkcml2ZXJzL3ZpZGVvL2Fjb3JuZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8IDE0ICsrLS0NCj4gIGRyaXZlcnMvdmlkZW8vYXJjZmIuYyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vYXJrZmIuYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vYXNpbGlhbnRmYi5jICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0NCj4gIGRyaXZlcnMvdmlkZW8vYXR5L2F0eTEy
OGZiLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrLS0tDQo+ICBkcml2ZXJzL3ZpZGVv
L2F0eS9hdHlmYl9iYXNlLmMgICAgICAgICAgICAgICAgICAgICB8IDIyICsrKy0tLQ0KPiAgZHJp
dmVycy92aWRlby9hdHkvbWFjaDY0X2N0LmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0K
PiAgZHJpdmVycy92aWRlby9hdHkvbWFjaDY0X2N1cnNvci5jICAgICAgICAgICAgICAgICAgfCAg
MiArLQ0KPiAgZHJpdmVycy92aWRlby9hdHkvcmFkZW9uX2Jhc2UuYyAgICAgICAgICAgICAgICAg
ICAgfCAxNCArKy0tDQo+ICBkcml2ZXJzL3ZpZGVvL2F0eS9yYWRlb25fbW9uaXRvci5jICAgICAg
ICAgICAgICAgICB8IDE2ICsrLS0tDQo+ICBkcml2ZXJzL3ZpZGVvL2F1MTEwMGZiLmMgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2F1MTIwMGZiLmMg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2F1b19r
MTkwMGZiLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVv
L2F1b19rMTkwMWZiLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJz
L3ZpZGVvL2F1b19rMTkweC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBk
cml2ZXJzL3ZpZGVvL2JmNTM3LWxxMDM1LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICst
DQo+ICBkcml2ZXJzL3ZpZGVvL2JmNTR4LWxxMDQzZmIuYyAgICAgICAgICAgICAgICAgICAgICB8
ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2JmaW4tbHEwMzVxMS1mYi5jICAgICAgICAgICAgICAg
ICAgICB8ICA2ICstDQo+ICBkcml2ZXJzL3ZpZGVvL2JmaW4tdDM1MG1jcWItZmIuYyAgICAgICAg
ICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2JmaW5fYWR2NzM5M2ZiLmMgICAg
ICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2Jyb2Fkc2hlZXRmYi5j
ICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICstLQ0KPiAgZHJpdmVycy92aWRlby9idzIuYyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQ0KPiAgZHJpdmVycy92aWRlby9j
YXJtaW5lZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVycy92
aWRlby9jZzE0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJp
dmVycy92aWRlby9jZzMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArLS0N
Cj4gIGRyaXZlcnMvdmlkZW8vY2c2LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
IDggKy0tDQo+ICBkcml2ZXJzL3ZpZGVvL2NoaXBzZmIuYyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICstDQo+ICBkcml2ZXJzL3ZpZGVvL2NpcnJ1c2ZiLmMgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8IDEwICstLQ0KPiAgZHJpdmVycy92aWRlby9jb2JhbHRfbGNkZmIuYyAgICAg
ICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9jb25zb2xlL3N0aWNv
cmUuYyAgICAgICAgICAgICAgICAgICAgfCA0NyArKysrKystLS0tLS0tDQo+ICBkcml2ZXJzL3Zp
ZGVvL2N5YmVyMjAwMGZiLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrLS0NCj4gIGRy
aXZlcnMvdmlkZW8vZGE4eHgtZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0N
Cj4gIGRyaXZlcnMvdmlkZW8vZG5mYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
IDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vZXA5M3h4LWZiLmMgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8vZXh5bm9zL2V4eW5vc19kcF9jb3JlLmMgICAg
ICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vZmZiLmMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vZm0yZmIuYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8vZnNsLWRpdS1m
Yi5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8vZ2Jl
ZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlk
ZW8vZ2VvZGUvZ3gxZmJfY29yZS5jICAgICAgICAgICAgICAgICAgIHwgIDYgKy0NCj4gIGRyaXZl
cnMvdmlkZW8vZ2VvZGUvZ3hmYl9jb3JlLmMgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0tDQo+
ICBkcml2ZXJzL3ZpZGVvL2dlb2RlL2x4ZmJfY29yZS5jICAgICAgICAgICAgICAgICAgICB8IDEw
ICstLQ0KPiAgZHJpdmVycy92aWRlby9ncnZnYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgNCArLQ0KPiAgZHJpdmVycy92aWRlby9neHQ0NTAwLmMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVycy92aWRlby9oZWN1YmFmYi5jICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9oZ2FmYi5jICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVycy92aWRlby9oaXRmYi5jICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9ocGZi
LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVycy92aWRl
by9pNzQwZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVy
cy92aWRlby9pODEwL2k4MTBfbWFpbi5jICAgICAgICAgICAgICAgICAgICAgfCAyNiArKystLS0t
DQo+ICBkcml2ZXJzL3ZpZGVvL2k4MTAvaTgxMF9tYWluLmggICAgICAgICAgICAgICAgICAgICB8
ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2ltc3R0ZmIuYyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICstDQo+ICBkcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYmRydi5jICAgICAg
ICAgICAgICAgICB8IDE2ICsrLS0tDQo+ICBkcml2ZXJzL3ZpZGVvL2p6NDc0MF9mYi5jICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2t5cm8vZmJkZXYu
YyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL2xlby5j
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVv
L21iODYyeHgvbWI4NjJ4eGZiZHJ2LmMgICAgICAgICAgICAgICB8ICA2ICstDQo+ICBkcml2ZXJz
L3ZpZGVvL21ieC9tYnhkZWJ1Z2ZzLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBk
cml2ZXJzL3ZpZGVvL21ieC9tYnhmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICst
LQ0KPiAgZHJpdmVycy92aWRlby9tZXRyb25vbWVmYi5jICAgICAgICAgICAgICAgICAgICAgICAg
fCAxMiArKy0tDQo+ICBkcml2ZXJzL3ZpZGVvL21zbS9tZGRpLmMgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICA2ICstDQo+ICBkcml2ZXJzL3ZpZGVvL214c2ZiLmMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICA2ICstDQo+ICBkcml2ZXJzL3ZpZGVvL25lb2ZiLmMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8IDEyICsrLS0NCj4gIGRyaXZlcnMvdmlkZW8vbnVjOTAwZmIu
YyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8vbnZp
ZGlhL252aWRpYS5jICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKystLQ0KPiAgLi4uL29tYXAy
L2Rpc3BsYXlzL3BhbmVsLWxncGhpbGlwcy1sYjAzNXEwMi5jICAgICAgfCAgMiArLQ0KPiAgZHJp
dmVycy92aWRlby9wOTEwMC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0K
PiAgZHJpdmVycy92aWRlby9wbGF0aW51bWZiLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
NiArLQ0KPiAgZHJpdmVycy92aWRlby9wbTJmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9wbTNmYi5jICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVycy92aWRlby9wbWFnLWJhLWZiLmMgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9wbWFnYi1iLWZiLmMgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQ0KPiAgZHJpdmVycy92aWRlby9wczNmYi5jICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9wdnIy
ZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQ0KPiAgZHJpdmVycy92aWRl
by9weGExNjhmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQ0KPiAgZHJpdmVy
cy92aWRlby9weGEzeHgtZ2N1LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAg
ZHJpdmVycy92aWRlby9weGFmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMCAr
KystLS0NCj4gIGRyaXZlcnMvdmlkZW8vcTQwZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vcml2YS9mYmRldi5jICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMjAgKysrLS0tDQo+ICBkcml2ZXJzL3ZpZGVvL3JpdmEvcml2YWZiLWkyYy5j
ICAgICAgICAgICAgICAgICAgICB8ICA2ICstDQo+ICBkcml2ZXJzL3ZpZGVvL3MxZDEzeHh4ZmIu
YyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstDQo+ICBkcml2ZXJzL3ZpZGVvL3MzYy1m
Yi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstDQo+ICBkcml2ZXJzL3ZpZGVv
L3MzYzI0MTBmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICstLQ0KPiAgZHJpdmVy
cy92aWRlby9zM2ZiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQ0KPiAg
ZHJpdmVycy92aWRlby9zYTExMDBmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiAr
LQ0KPiAgZHJpdmVycy92aWRlby9zYXZhZ2Uvc2F2YWdlZmJfZHJpdmVyLmMgICAgICAgICAgICAg
fCAgOCArLS0NCj4gIGRyaXZlcnMvdmlkZW8vc2dpdndmYi5jICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vc2g3NzYwZmIuYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vc2hfbW9iaWxlX2xjZGNmYi5j
ICAgICAgICAgICAgICAgICAgIHwgMTYgKystLS0NCj4gIGRyaXZlcnMvdmlkZW8vc2hfbW9iaWxl
X21lcmFtLmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vc2lz
L3Npc19tYWluLmMgICAgICAgICAgICAgICAgICAgICAgIHwgODIgKysrKysrKysrKystLS0tLS0t
LS0tLQ0KPiAgZHJpdmVycy92aWRlby9za2VsZXRvbmZiLmMgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRlby9zbTUwMWZiLmMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgOCArLS0NCj4gIGRyaXZlcnMvdmlkZW8vc3N0ZmIuYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgMTggKystLS0NCj4gIGRyaXZlcnMvdmlkZW8vc3VueHZyMTAwMC5j
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0NCj4gIGRyaXZlcnMvdmlkZW8vc3VueHZy
MjUwMC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0NCj4gIGRyaXZlcnMvdmlkZW8v
c3VueHZyNTAwLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0NCj4gIGRyaXZlcnMv
dmlkZW8vdGN4LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRy
aXZlcnMvdmlkZW8vdGRmeGZiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0t
DQo+ICBkcml2ZXJzL3ZpZGVvL3RnYWZiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
IDE2ICsrLS0tDQo+ICBkcml2ZXJzL3ZpZGVvL3RtaW9mYi5jICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAyICstDQo+ICBkcml2ZXJzL3ZpZGVvL3RyaWRlbnRmYi5jICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICA4ICstLQ0KPiAgZHJpdmVycy92aWRlby91dmVzYWZiLmMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAzMCArKysrLS0tLQ0KPiAgZHJpdmVycy92aWRlby92ZXJt
aWxpb24vdmVybWlsaW9uLmMgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVycy92aWRl
by92ZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJpdmVy
cy92aWRlby92Z2ExNmZiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAg
ZHJpdmVycy92aWRlby92aWEvZHZpLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCAr
LS0NCj4gIGRyaXZlcnMvdmlkZW8vdmlhL2R2aS5oICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8vdmlhL2h3LmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgMTYgKystLS0NCj4gIGRyaXZlcnMvdmlkZW8vdmlhL2h3LmggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8vdmlhL2xjZC5jICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKy0tDQo+ICBkcml2ZXJzL3ZpZGVvL3ZpYS9sY2Qu
aCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstDQo+ICBkcml2ZXJzL3ZpZGVvL3Zp
YS92aWEtY29yZS5jICAgICAgICAgICAgICAgICAgICAgICB8IDEwICstLQ0KPiAgZHJpdmVycy92
aWRlby92aWEvdmlhLWdwaW8uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgZHJp
dmVycy92aWRlby92aWEvdmlhZmJkZXYuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArLS0N
Cj4gIGRyaXZlcnMvdmlkZW8vdnQ4NTAwbGNkZmIuYyAgICAgICAgICAgICAgICAgICAgICAgIHwg
IDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vdnQ4NjIzZmIuYyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vdzEwMGZiLmMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDYgKy0NCj4gIGRyaXZlcnMvdmlkZW8vd204NTA1ZmIuYyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8vd210X2dlX3JvcHMuYyAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIGRyaXZlcnMvdmlkZW8veGVuLWZiZnJv
bnQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0NCj4gIGRyaXZlcnMvdmlkZW8veGls
aW54ZmIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIDEyMiBmaWxlcyBj
aGFuZ2VkLCA0MzggaW5zZXJ0aW9ucygrKSwgNDQzIGRlbGV0aW9ucygtKQ0KPiANCg0KRm9yIGRy
aXZlcnMvdmlkZW8vczNjLWZiLmMsIGRyaXZlcnMvdmlkZW8vZXh5bm9zL2V4eW5vc19kcF9jb3Jl
LmMNCg0KQWNrZWQtYnk6IEppbmdvbyBIYW4gPGpnMS5oYW5Ac2Ftc3VuZy5jb20+DQoNCg0KQmVz
dCByZWdhcmRzLA0KSmluZ29vIEhhbg0KDQo=
^ permalink raw reply
* Re: [PATCH 226/493] dma: remove use of __devinit
From: viresh kumar @ 2012-11-20 3:07 UTC (permalink / raw)
To: Bill Pemberton
Cc: gregkh, Zhang Wei, Barry Song, linuxppc-dev, linux-arm-kernel
In-Reply-To: <1353349642-3677-226-git-send-email-wfp5p@virginia.edu>
On Mon, Nov 19, 2012 at 11:52 PM, Bill Pemberton <wfp5p@virginia.edu> wrote:
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Viresh Kumar <viresh.linux@gmail.com>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Zhang Wei <zw@zh-kernel.org>
> Cc: Barry Song <baohua.song@csr.com>
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> drivers/dma/dw_dmac.c | 4 ++--
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
^ permalink raw reply
* [PATCH 1/2] powerpc/85xx: p1022ds: Use NULL instead of 0 for pointers
From: Tushar Behera @ 2012-11-20 4:31 UTC (permalink / raw)
To: linuxppc-dev, devicetree-discuss; +Cc: patches
The third argument for of_get_property() is a pointer, hence pass
NULL instead of 0.
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
---
arch/powerpc/platforms/85xx/p1022_ds.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/platforms/85xx/p1022_ds.c b/arch/powerpc/platforms/85xx/p1022_ds.c
index 8fb1257..7328b8d 100644
--- a/arch/powerpc/platforms/85xx/p1022_ds.c
+++ b/arch/powerpc/platforms/85xx/p1022_ds.c
@@ -249,7 +249,7 @@ static void p1022ds_set_monitor_port(enum fsl_diu_monitor_port port)
goto exit;
}
- iprop = of_get_property(law_node, "fsl,num-laws", 0);
+ iprop = of_get_property(law_node, "fsl,num-laws", NULL);
if (!iprop) {
pr_err("p1022ds: LAW node is missing fsl,num-laws property\n");
goto exit;
--
1.7.4.1
^ permalink raw reply related
* [PATCH 2/2] powerpc/pseries: pci: Use NULL instead of 0 for pointers
From: Tushar Behera @ 2012-11-20 4:31 UTC (permalink / raw)
To: linuxppc-dev, devicetree-discuss; +Cc: patches
In-Reply-To: <1353385912-25882-1-git-send-email-tushar.behera@linaro.org>
The third argument for of_get_property() is a pointer, hence pass
NULL instead of 0.
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
---
This code is in a '#if 0' section, but I went ahead with the patch as
this is the only location in kernel where of_get_property is passed 0
as the third argument. If this function is not going to be used again,
then we may consider removing the code altogether.
arch/powerpc/platforms/pseries/pci.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 56b864d..0b580f4 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -40,7 +40,8 @@ void pcibios_name_device(struct pci_dev *dev)
*/
dn = pci_device_to_OF_node(dev);
if (dn) {
- const char *loc_code = of_get_property(dn, "ibm,loc-code", 0);
+ const char *loc_code = of_get_property(dn, "ibm,loc-code",
+ NULL);
if (loc_code) {
int loc_len = strlen(loc_code);
if (loc_len < sizeof(dev->dev.name)) {
--
1.7.4.1
^ permalink raw reply related
* Re: [PATCH v3 06/12] memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
From: Jaegeuk Hanse @ 2012-11-20 6:22 UTC (permalink / raw)
To: Yasuaki Ishimatsu, Wen Congyang
Cc: linux-s390, linux-ia64, Len Brown, linux-acpi, linux-sh, x86,
linux-kernel, cmetcalf, Jianguo Wu, linux-mm, Yasuaki Ishimatsu,
paulus, Minchan Kim, KOSAKI Motohiro, David Rientjes, sparclinux,
Christoph Lameter, linuxppc-dev, Andrew Morton, Jiang Liu
In-Reply-To: <1351763083-7905-7-git-send-email-wency@cn.fujitsu.com>
On 11/01/2012 05:44 PM, Wen Congyang wrote:
> From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>
> Currently __remove_section for SPARSEMEM_VMEMMAP does nothing. But even if
> we use SPARSEMEM_VMEMMAP, we can unregister the memory_section.
>
> So the patch add unregister_memory_section() into __remove_section().
Hi Yasuaki,
In order to review this patch, I should dig sparse memory codes in
advance. But I have some confuse of codes. Why need encode/decode mem
map instead of set mem_map to ms->section_mem_map directly?
Regards,
Jaegeuk
>
> CC: David Rientjes <rientjes@google.com>
> CC: Jiang Liu <liuj97@gmail.com>
> CC: Len Brown <len.brown@intel.com>
> CC: Christoph Lameter <cl@linux.com>
> Cc: Minchan Kim <minchan.kim@gmail.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> CC: Wen Congyang <wency@cn.fujitsu.com>
> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
> ---
> mm/memory_hotplug.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index ca07433..66a79a7 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -286,11 +286,14 @@ static int __meminit __add_section(int nid, struct zone *zone,
> #ifdef CONFIG_SPARSEMEM_VMEMMAP
> static int __remove_section(struct zone *zone, struct mem_section *ms)
> {
> - /*
> - * XXX: Freeing memmap with vmemmap is not implement yet.
> - * This should be removed later.
> - */
> - return -EBUSY;
> + int ret = -EINVAL;
> +
> + if (!valid_section(ms))
> + return ret;
> +
> + ret = unregister_memory_section(ms);
> +
> + return ret;
> }
> #else
> static int __remove_section(struct zone *zone, struct mem_section *ms)
^ permalink raw reply
* Re: Forward: [PATCH 146/493] ASoC: remove use of __devexit_p
From: Mark Brown @ 2012-11-20 6:30 UTC (permalink / raw)
To: Takashi Iwai, Bill Pemberton
Cc: alsa-devel, Philipp Zabel, Takashi Iwai, Jaroslav Kysela,
Peter Ujfalusi, M R Swami Reddy, device-drivers-devel, Kukjin Kim,
Russell King, patches, Vishwas A Deshpande, Paul Parsons,
Haojian Zhuang, linux-samsung-soc, Ben Dooks, linux-omap,
linux-arm-kernel, Eric Miao, gregkh, uclinux-dist-devel,
linuxppc-dev, Jarkko Nikula
In-Reply-To: <s5hehjordzj.wl%tiwai@suse.de>
[-- Attachment #1: Type: text/plain, Size: 1296 bytes --]
On Tue, Nov 20, 2012 at 07:21:36AM +0100, Takashi Iwai wrote:
> Yet another one for ASoC.
> Date: Mon, 19 Nov 2012 13:21:35 -0500
> From: Bill Pemberton <wfp5p@virginia.edu>
> To: gregkh@linuxfoundation.org
> Cc: Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.de>, M R
> Swami Reddy <mr.swami.reddy@ti.com>, Vishwas A Deshpande
> <vishwas.a.deshpande@ti.com>, Peter Ujfalusi <peter.ujfalusi@ti.com>,
> Jarkko Nikula <jarkko.nikula@bitmer.com>, Eric Miao
> <eric.y.miao@gmail.com>, Russell King <linux@arm.linux.org.uk>, Haojian
> Zhuang <haojian.zhuang@gmail.com>, Philipp Zabel
> <philipp.zabel@gmail.com>, Paul Parsons <lost.distance@yahoo.com>, Ben
> Dooks <ben-linux@fluff.org>, Kukjin Kim <kgene.kim@samsung.com>,
> alsa-devel@alsa-project.org, uclinux-dist-devel@blackfin.uclinux.org,
> device-drivers-devel@blackfin.uclinux.org,
> patches@opensource.wolfsonmicro.com, linuxppc-dev@lists.ozlabs.org,
> linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
> linux-samsung-soc@vger.kernel.org
This time you've got an extravagantly large CC list but not managed to
CC the maintainers at all... ho hum. Anyway, this doesn't apply
against current code due to the Atmel changes. Please rebase against
for-next (or ideally the topic branches) and resend.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH v3 06/12] memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
From: Wen Congyang @ 2012-11-20 6:55 UTC (permalink / raw)
To: Jaegeuk Hanse
Cc: linux-s390, linux-ia64, Len Brown, linux-acpi, linux-sh, x86,
linux-kernel, cmetcalf, Jianguo Wu, linux-mm, Yasuaki Ishimatsu,
paulus, Minchan Kim, KOSAKI Motohiro, David Rientjes, sparclinux,
Christoph Lameter, linuxppc-dev, Andrew Morton, Jiang Liu
In-Reply-To: <50AB21A4.8050709@gmail.com>
At 11/20/2012 02:22 PM, Jaegeuk Hanse Wrote:
> On 11/01/2012 05:44 PM, Wen Congyang wrote:
>> From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>
>> Currently __remove_section for SPARSEMEM_VMEMMAP does nothing. But
>> even if
>> we use SPARSEMEM_VMEMMAP, we can unregister the memory_section.
>>
>> So the patch add unregister_memory_section() into __remove_section().
>
> Hi Yasuaki,
>
> In order to review this patch, I should dig sparse memory codes in
> advance. But I have some confuse of codes. Why need encode/decode mem
> map instead of set mem_map to ms->section_mem_map directly?
The memmap is aligned, and the low bits are zero. We store some information
in these bits. So we need to encode/decode memmap here.
Thanks
Wen Congyang
>
> Regards,
> Jaegeuk
>
>>
>> CC: David Rientjes <rientjes@google.com>
>> CC: Jiang Liu <liuj97@gmail.com>
>> CC: Len Brown <len.brown@intel.com>
>> CC: Christoph Lameter <cl@linux.com>
>> Cc: Minchan Kim <minchan.kim@gmail.com>
>> CC: Andrew Morton <akpm@linux-foundation.org>
>> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
>> CC: Wen Congyang <wency@cn.fujitsu.com>
>> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>> ---
>> mm/memory_hotplug.c | 13 ++++++++-----
>> 1 file changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>> index ca07433..66a79a7 100644
>> --- a/mm/memory_hotplug.c
>> +++ b/mm/memory_hotplug.c
>> @@ -286,11 +286,14 @@ static int __meminit __add_section(int nid,
>> struct zone *zone,
>> #ifdef CONFIG_SPARSEMEM_VMEMMAP
>> static int __remove_section(struct zone *zone, struct mem_section *ms)
>> {
>> - /*
>> - * XXX: Freeing memmap with vmemmap is not implement yet.
>> - * This should be removed later.
>> - */
>> - return -EBUSY;
>> + int ret = -EINVAL;
>> +
>> + if (!valid_section(ms))
>> + return ret;
>> +
>> + ret = unregister_memory_section(ms);
>> +
>> + return ret;
>> }
>> #else
>> static int __remove_section(struct zone *zone, struct mem_section *ms)
>
>
^ permalink raw reply
* Re: [PATCH v3 06/12] memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
From: Jaegeuk Hanse @ 2012-11-20 6:58 UTC (permalink / raw)
To: Wen Congyang
Cc: linux-s390, linux-ia64, Len Brown, linux-acpi, linux-sh, x86,
linux-kernel, cmetcalf, Jianguo Wu, linux-mm, Yasuaki Ishimatsu,
paulus, Minchan Kim, KOSAKI Motohiro, David Rientjes, sparclinux,
Christoph Lameter, linuxppc-dev, Andrew Morton, Jiang Liu
In-Reply-To: <50AB2967.5010302@cn.fujitsu.com>
On 11/20/2012 02:55 PM, Wen Congyang wrote:
> At 11/20/2012 02:22 PM, Jaegeuk Hanse Wrote:
>> On 11/01/2012 05:44 PM, Wen Congyang wrote:
>>> From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>>
>>> Currently __remove_section for SPARSEMEM_VMEMMAP does nothing. But
>>> even if
>>> we use SPARSEMEM_VMEMMAP, we can unregister the memory_section.
>>>
>>> So the patch add unregister_memory_section() into __remove_section().
>> Hi Yasuaki,
>>
>> In order to review this patch, I should dig sparse memory codes in
>> advance. But I have some confuse of codes. Why need encode/decode mem
>> map instead of set mem_map to ms->section_mem_map directly?
> The memmap is aligned, and the low bits are zero. We store some information
> in these bits. So we need to encode/decode memmap here.
Hi Congyang,
Thanks for you reponse. But I mean why return (unsigned long)(mem_map -
(section_nr_to_pfn(pnum))); in function sparse_encode_mem_map, and then
return ((struct page *)coded_mem_map) + section_nr_to_pfn(pnum); in
funtion sparse_decode_mem_map instead of just store mem_map in
ms->section_mep_map directly.
Regards,
Jaegeuk
>
> Thanks
> Wen Congyang
>
>> Regards,
>> Jaegeuk
>>
>>> CC: David Rientjes <rientjes@google.com>
>>> CC: Jiang Liu <liuj97@gmail.com>
>>> CC: Len Brown <len.brown@intel.com>
>>> CC: Christoph Lameter <cl@linux.com>
>>> Cc: Minchan Kim <minchan.kim@gmail.com>
>>> CC: Andrew Morton <akpm@linux-foundation.org>
>>> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
>>> CC: Wen Congyang <wency@cn.fujitsu.com>
>>> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>> ---
>>> mm/memory_hotplug.c | 13 ++++++++-----
>>> 1 file changed, 8 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>>> index ca07433..66a79a7 100644
>>> --- a/mm/memory_hotplug.c
>>> +++ b/mm/memory_hotplug.c
>>> @@ -286,11 +286,14 @@ static int __meminit __add_section(int nid,
>>> struct zone *zone,
>>> #ifdef CONFIG_SPARSEMEM_VMEMMAP
>>> static int __remove_section(struct zone *zone, struct mem_section *ms)
>>> {
>>> - /*
>>> - * XXX: Freeing memmap with vmemmap is not implement yet.
>>> - * This should be removed later.
>>> - */
>>> - return -EBUSY;
>>> + int ret = -EINVAL;
>>> +
>>> + if (!valid_section(ms))
>>> + return ret;
>>> +
>>> + ret = unregister_memory_section(ms);
>>> +
>>> + return ret;
>>> }
>>> #else
>>> static int __remove_section(struct zone *zone, struct mem_section *ms)
>>
^ permalink raw reply
* Re: [PATCH 065/493] i2c: remove use of __devexit_p
From: Shubhrajyoti Datta @ 2012-11-20 6:59 UTC (permalink / raw)
To: Bill Pemberton
Cc: Rudolf Marek, Tony Lindgren, gregkh, Wolfram Sang, Olof Johansson,
linux-omap, Mark M. Hoffman, linux-i2c, Ben Dooks, Barry Song,
Jean Delvare, Guan Xuetao, linuxppc-dev, linux-arm-kernel
In-Reply-To: <1353349642-3677-65-git-send-email-wfp5p@virginia.edu>
On Mon, Nov 19, 2012 at 11:50 PM, Bill Pemberton <wfp5p@virginia.edu> wrote:
> CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
> needed.
>
Reviewed-by: Shubhrajyoti D <shubhrajyoti@ti.com>
^ permalink raw reply
* Re: [PATCH] PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc()
From: Benjamin Herrenschmidt @ 2012-11-20 7:20 UTC (permalink / raw)
To: Ben Hutchings
Cc: Stephen Rothwell, linux-pci, LKML, Jesse Barnes, Bjorn Helgaas,
ppc-dev
In-Reply-To: <1279893388.2089.9.camel@achroite.uk.solarflarecom.com>
On Fri, 2010-07-23 at 14:56 +0100, Ben Hutchings wrote:
> commit 2ca1af9aa3285c6a5f103ed31ad09f7399fc65d7 "PCI: MSI: Remove
> unsafe and unnecessary hardware access" changed read_msi_msg_desc() to
> return the last MSI message written instead of reading it from the
> device, since it may be called while the device is in a reduced
> power state.
Looks reasonable... Jesse ?
Cheers,
Ben.
> However, the pSeries platform code really does need to read messages
> from the device, since they are initially written by firmware.
> Therefore:
> - Restore the previous behaviour of read_msi_msg_desc()
> - Add new functions get_cached_msi_msg{,_desc}() which return the
> last MSI message written
> - Use the new functions where appropriate
>
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> ---
> Compile-tested only.
>
> Ben.
>
> arch/ia64/kernel/msi_ia64.c | 2 +-
> arch/ia64/sn/kernel/msi_sn.c | 2 +-
> arch/x86/kernel/apic/io_apic.c | 2 +-
> drivers/pci/msi.c | 47 +++++++++++++++++++++++++++++++++++----
> include/linux/msi.h | 2 +
> 5 files changed, 47 insertions(+), 8 deletions(-)
>
> diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
> index 6c89228..4a746ea 100644
> --- a/arch/ia64/kernel/msi_ia64.c
> +++ b/arch/ia64/kernel/msi_ia64.c
> @@ -25,7 +25,7 @@ static int ia64_set_msi_irq_affinity(unsigned int irq,
> if (irq_prepare_move(irq, cpu))
> return -1;
>
> - read_msi_msg(irq, &msg);
> + get_cached_msi_msg(irq, &msg);
>
> addr = msg.address_lo;
> addr &= MSI_ADDR_DEST_ID_MASK;
> diff --git a/arch/ia64/sn/kernel/msi_sn.c b/arch/ia64/sn/kernel/msi_sn.c
> index ebfdd6a..0c72dd4 100644
> --- a/arch/ia64/sn/kernel/msi_sn.c
> +++ b/arch/ia64/sn/kernel/msi_sn.c
> @@ -175,7 +175,7 @@ static int sn_set_msi_irq_affinity(unsigned int irq,
> * Release XIO resources for the old MSI PCI address
> */
>
> - read_msi_msg(irq, &msg);
> + get_cached_msi_msg(irq, &msg);
> sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
> pdev = sn_pdev->pdi_linux_pcidev;
> provider = SN_PCIDEV_BUSPROVIDER(pdev);
> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> index e41ed24..4dc0084 100644
> --- a/arch/x86/kernel/apic/io_apic.c
> +++ b/arch/x86/kernel/apic/io_apic.c
> @@ -3397,7 +3397,7 @@ static int set_msi_irq_affinity(unsigned int irq, const struct cpumask *mask)
>
> cfg = desc->chip_data;
>
> - read_msi_msg_desc(desc, &msg);
> + get_cached_msi_msg_desc(desc, &msg);
>
> msg.data &= ~MSI_DATA_VECTOR_MASK;
> msg.data |= MSI_DATA_VECTOR(cfg->vector);
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 4c14f31..69b7be3 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -197,9 +197,46 @@ void read_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg)
> {
> struct msi_desc *entry = get_irq_desc_msi(desc);
>
> - /* We do not touch the hardware (which may not even be
> - * accessible at the moment) but return the last message
> - * written. Assert that this is valid, assuming that
> + BUG_ON(entry->dev->current_state != PCI_D0);
> +
> + if (entry->msi_attrib.is_msix) {
> + void __iomem *base = entry->mask_base +
> + entry->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE;
> +
> + msg->address_lo = readl(base + PCI_MSIX_ENTRY_LOWER_ADDR);
> + msg->address_hi = readl(base + PCI_MSIX_ENTRY_UPPER_ADDR);
> + msg->data = readl(base + PCI_MSIX_ENTRY_DATA);
> + } else {
> + struct pci_dev *dev = entry->dev;
> + int pos = entry->msi_attrib.pos;
> + u16 data;
> +
> + pci_read_config_dword(dev, msi_lower_address_reg(pos),
> + &msg->address_lo);
> + if (entry->msi_attrib.is_64) {
> + pci_read_config_dword(dev, msi_upper_address_reg(pos),
> + &msg->address_hi);
> + pci_read_config_word(dev, msi_data_reg(pos, 1), &data);
> + } else {
> + msg->address_hi = 0;
> + pci_read_config_word(dev, msi_data_reg(pos, 0), &data);
> + }
> + msg->data = data;
> + }
> +}
> +
> +void read_msi_msg(unsigned int irq, struct msi_msg *msg)
> +{
> + struct irq_desc *desc = irq_to_desc(irq);
> +
> + read_msi_msg_desc(desc, msg);
> +}
> +
> +void get_cached_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg)
> +{
> + struct msi_desc *entry = get_irq_desc_msi(desc);
> +
> + /* Assert that the cache is valid, assuming that
> * valid messages are not all-zeroes. */
> BUG_ON(!(entry->msg.address_hi | entry->msg.address_lo |
> entry->msg.data));
> @@ -207,11 +244,11 @@ void read_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg)
> *msg = entry->msg;
> }
>
> -void read_msi_msg(unsigned int irq, struct msi_msg *msg)
> +void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg)
> {
> struct irq_desc *desc = irq_to_desc(irq);
>
> - read_msi_msg_desc(desc, msg);
> + get_cached_msi_msg_desc(desc, msg);
> }
>
> void write_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg)
> diff --git a/include/linux/msi.h b/include/linux/msi.h
> index 6991ab5..91b05c1 100644
> --- a/include/linux/msi.h
> +++ b/include/linux/msi.h
> @@ -14,8 +14,10 @@ struct irq_desc;
> extern void mask_msi_irq(unsigned int irq);
> extern void unmask_msi_irq(unsigned int irq);
> extern void read_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg);
> +extern void get_cached_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg);
> extern void write_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg);
> extern void read_msi_msg(unsigned int irq, struct msi_msg *msg);
> +extern void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg);
> extern void write_msi_msg(unsigned int irq, struct msi_msg *msg);
>
> struct msi_desc {
> --
> 1.6.2.5
>
^ permalink raw reply
* Re: Please pull 'merge' branch of 5xxx tree
From: Anatolij Gustschin @ 2012-11-20 8:27 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In-Reply-To: <20121025224113.5a67a77d@wker>
Hi Ben,
On Thu, 25 Oct 2012 22:41:13 +0200
Anatolij Gustschin <agust@denx.de> wrote:
> Hi Ben,
>
> please pull three mpc5200 fixes for 3.7:
Ping.
^ permalink raw reply
* Re: [PATCH 207/493] i2c: remove use of __devinit
From: Jean Delvare @ 2012-11-20 8:20 UTC (permalink / raw)
To: Bill Pemberton
Cc: Rudolf Marek, Tony Lindgren, gregkh, Wolfram Sang,
Mark M. Hoffman, linux-omap, linux-i2c, Ben Dooks, Barry Song,
Olof Johansson, Guan Xuetao, linuxppc-dev, linux-arm-kernel
In-Reply-To: <1353349642-3677-207-git-send-email-wfp5p@virginia.edu>
Hi Bill,
On Mon, 19 Nov 2012 13:22:36 -0500, Bill Pemberton wrote:
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
Can you please point me/us to the discussion explaining the rationale
behind this move, and the explanation of what will be done exactly?
While I can easily understand that we want to drop CONFIG_HOTPLUG and
always enable hot-plug support, I don't see where we are going with
removing __devinit annotations and the like.
Thanks,
--
Jean Delvare
^ permalink raw reply
* Re: [PATCH v3 11/12] memory-hotplug: remove sysfs file of node
From: Wen Congyang @ 2012-11-20 9:35 UTC (permalink / raw)
To: Yasuaki Ishimatsu
Cc: linux-s390, linux-ia64, Len Brown, linux-acpi, linux-sh, x86,
linux-kernel, cmetcalf, Jianguo Wu, linux-mm, paulus, Minchan Kim,
KOSAKI Motohiro, David Rientjes, sparclinux, Christoph Lameter,
linuxppc-dev, Andrew Morton, Jiang Liu
In-Reply-To: <50AA0537.1000501@jp.fujitsu.com>
At 11/19/2012 06:08 PM, Yasuaki Ishimatsu Wrote:
> Hi Wen,
>
> This patch cannot be applied, if I apply latest acpi framework's patch-set:
>
> https://lkml.org/lkml/2012/11/15/21
>
> Because acpi_memory_disable_device() is gone by the patch-set.
The patchset is not for pm tree, so I don't apply the patchset in pm tree
before generating this patchset.
Thanks
Wen Congyang
>
> I updated the patch and attached it on the mail.
>
> 2012/11/01 18:44, Wen Congyang wrote:
>> This patch introduces a new function try_offline_node() to
>> remove sysfs file of node when all memory sections of this
>> node are removed. If some memory sections of this node are
>> not removed, this function does nothing.
>>
>> CC: David Rientjes <rientjes@google.com>
>> CC: Jiang Liu <liuj97@gmail.com>
>> CC: Len Brown <len.brown@intel.com>
>> CC: Christoph Lameter <cl@linux.com>
>> Cc: Minchan Kim <minchan.kim@gmail.com>
>> CC: Andrew Morton <akpm@linux-foundation.org>
>> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
>> CC: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
>> ---
>> drivers/acpi/acpi_memhotplug.c | 8 +++++-
>> include/linux/memory_hotplug.h | 2 +-
>> mm/memory_hotplug.c | 58 ++++++++++++++++++++++++++++++++++++++++--
>> 3 files changed, 64 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
>> index 24c807f..0780f99 100644
>> --- a/drivers/acpi/acpi_memhotplug.c
>> +++ b/drivers/acpi/acpi_memhotplug.c
>> @@ -310,7 +310,9 @@ static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
>> {
>> int result;
>> struct acpi_memory_info *info, *n;
>> + int node;
>>
>> + node = acpi_get_node(mem_device->device->handle);
>>
>> /*
>> * Ask the VM to offline this memory range.
>> @@ -318,7 +320,11 @@ static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
>> */
>> list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
>> if (info->enabled) {
>> - result = remove_memory(info->start_addr, info->length);
>> + if (node < 0)
>> + node = memory_add_physaddr_to_nid(
>> + info->start_addr);
>> + result = remove_memory(node, info->start_addr,
>> + info->length);
>> if (result)
>> return result;
>> }
>> diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
>> index d4c4402..7b4cfe6 100644
>> --- a/include/linux/memory_hotplug.h
>> +++ b/include/linux/memory_hotplug.h
>> @@ -231,7 +231,7 @@ extern int arch_add_memory(int nid, u64 start, u64 size);
>> extern int offline_pages(unsigned long start_pfn, unsigned long nr_pages);
>> extern int offline_memory_block(struct memory_block *mem);
>> extern bool is_memblock_offlined(struct memory_block *mem);
>> -extern int remove_memory(u64 start, u64 size);
>> +extern int remove_memory(int node, u64 start, u64 size);
>> extern int sparse_add_one_section(struct zone *zone, unsigned long start_pfn,
>> int nr_pages);
>> extern void sparse_remove_one_section(struct zone *zone, struct mem_section *ms);
>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>> index 7bcced0..d965da3 100644
>> --- a/mm/memory_hotplug.c
>> +++ b/mm/memory_hotplug.c
>> @@ -29,6 +29,7 @@
>> #include <linux/suspend.h>
>> #include <linux/mm_inline.h>
>> #include <linux/firmware-map.h>
>> +#include <linux/stop_machine.h>
>>
>> #include <asm/tlbflush.h>
>>
>> @@ -1299,7 +1300,58 @@ static int is_memblock_offlined_cb(struct memory_block *mem, void *arg)
>> return ret;
>> }
>>
>> -int __ref remove_memory(u64 start, u64 size)
>> +static int check_cpu_on_node(void *data)
>> +{
>> + struct pglist_data *pgdat = data;
>> + int cpu;
>> +
>> + for_each_present_cpu(cpu) {
>> + if (cpu_to_node(cpu) == pgdat->node_id)
>> + /*
>> + * the cpu on this node isn't removed, and we can't
>> + * offline this node.
>> + */
>> + return -EBUSY;
>> + }
>> +
>> + return 0;
>> +}
>> +
>> +/* offline the node if all memory sections of this node are removed */
>> +static void try_offline_node(int nid)
>> +{
>> + unsigned long start_pfn = NODE_DATA(nid)->node_start_pfn;
>> + unsigned long end_pfn = start_pfn + NODE_DATA(nid)->node_spanned_pages;
>> + unsigned long pfn;
>> +
>> + for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
>> + unsigned long section_nr = pfn_to_section_nr(pfn);
>> +
>> + if (!present_section_nr(section_nr))
>> + continue;
>> +
>> + if (pfn_to_nid(pfn) != nid)
>> + continue;
>> +
>> + /*
>> + * some memory sections of this node are not removed, and we
>> + * can't offline node now.
>> + */
>> + return;
>> + }
>> +
>> + if (stop_machine(check_cpu_on_node, NODE_DATA(nid), NULL))
>> + return;
>> +
>> + /*
>> + * all memory/cpu of this node are removed, we can offline this
>> + * node now.
>> + */
>> + node_set_offline(nid);
>> + unregister_one_node(nid);
>> +}
>> +
>> +int __ref remove_memory(int nid, u64 start, u64 size)
>> {
>> unsigned long start_pfn, end_pfn;
>> int ret = 0;
>> @@ -1346,6 +1398,8 @@ repeat:
>>
>> arch_remove_memory(start, size);
>>
>> + try_offline_node(nid);
>> +
>> unlock_memory_hotplug();
>>
>> return 0;
>> @@ -1355,7 +1409,7 @@ int offline_pages(unsigned long start_pfn, unsigned long nr_pages)
>> {
>> return -EINVAL;
>> }
>> -int remove_memory(u64 start, u64 size)
>> +int remove_memory(int nid, u64 start, u64 size)
>> {
>> return -EINVAL;
>> }
>>
>
> ---
> This patch introduces a new function try_offline_node() to
> remove sysfs file of node when all memory sections of this
> node are removed. If some memory sections of this node are
> not removed, this function does nothing.
>
> CC: David Rientjes <rientjes@google.com>
> CC: Jiang Liu <liuj97@gmail.com>
> CC: Len Brown <len.brown@intel.com>
> CC: Christoph Lameter <cl@linux.com>
> Cc: Minchan Kim <minchan.kim@gmail.com>
> CC: Andrew Morton <akpm@linux-foundation.org>
> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> CC: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
> ---
> drivers/acpi/acpi_memhotplug.c | 9 +++++-
> include/linux/memory_hotplug.h | 2 -
> mm/memory_hotplug.c | 58 +++++++++++++++++++++++++++++++++++++++--
> 3 files changed, 65 insertions(+), 4 deletions(-)
>
> Index: linux-3.7-rc6/drivers/acpi/acpi_memhotplug.c
> ===================================================================
> --- linux-3.7-rc6.orig/drivers/acpi/acpi_memhotplug.c 2012-11-19 16:16:55.161912688 +0900
> +++ linux-3.7-rc6/drivers/acpi/acpi_memhotplug.c 2012-11-19 16:17:05.346912109 +0900
> @@ -295,6 +295,9 @@ static int acpi_memory_remove_memory(str
> {
> int result = 0;
> struct acpi_memory_info *info, *n;
> + int node;
> +
> + node = acpi_get_node(mem_device->device->handle);
>
> list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
> if (info->failed)
> @@ -308,7 +311,11 @@ static int acpi_memory_remove_memory(str
> */
> return -EBUSY;
>
> - result = remove_memory(info->start_addr, info->length);
> + if (node < 0)
> + node = memory_add_physaddr_to_nid(
> + info->start_addr);
> + result = remove_memory(node, info->start_addr,
> + info->length);
> if (result)
> return result;
>
> Index: linux-3.7-rc6/include/linux/memory_hotplug.h
> ===================================================================
> --- linux-3.7-rc6.orig/include/linux/memory_hotplug.h 2012-11-19 16:16:55.167912687 +0900
> +++ linux-3.7-rc6/include/linux/memory_hotplug.h 2012-11-19 16:17:05.348912109 +0900
> @@ -242,7 +242,7 @@ extern int arch_add_memory(int nid, u64
> extern int offline_pages(unsigned long start_pfn, unsigned long nr_pages);
> extern int offline_memory_block(struct memory_block *mem);
> extern bool is_memblock_offlined(struct memory_block *mem);
> -extern int remove_memory(u64 start, u64 size);
> +extern int remove_memory(int node, u64 start, u64 size);
> extern int sparse_add_one_section(struct zone *zone, unsigned long start_pfn,
> int nr_pages);
> extern void sparse_remove_one_section(struct zone *zone, struct mem_section *ms);
> Index: linux-3.7-rc6/mm/memory_hotplug.c
> ===================================================================
> --- linux-3.7-rc6.orig/mm/memory_hotplug.c 2012-11-19 16:16:55.164912687 +0900
> +++ linux-3.7-rc6/mm/memory_hotplug.c 2012-11-19 16:17:05.356912108 +0900
> @@ -29,6 +29,7 @@
> #include <linux/suspend.h>
> #include <linux/mm_inline.h>
> #include <linux/firmware-map.h>
> +#include <linux/stop_machine.h>
>
> #include <asm/tlbflush.h>
>
> @@ -1652,7 +1653,58 @@ static int is_memblock_offlined_cb(struc
> return ret;
> }
>
> -int __ref remove_memory(u64 start, u64 size)
> +static int check_cpu_on_node(void *data)
> +{
> + struct pglist_data *pgdat = data;
> + int cpu;
> +
> + for_each_present_cpu(cpu) {
> + if (cpu_to_node(cpu) == pgdat->node_id)
> + /*
> + * the cpu on this node isn't removed, and we can't
> + * offline this node.
> + */
> + return -EBUSY;
> + }
> +
> + return 0;
> +}
> +
> +/* offline the node if all memory sections of this node are removed */
> +static void try_offline_node(int nid)
> +{
> + unsigned long start_pfn = NODE_DATA(nid)->node_start_pfn;
> + unsigned long end_pfn = start_pfn + NODE_DATA(nid)->node_spanned_pages;
> + unsigned long pfn;
> +
> + for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
> + unsigned long section_nr = pfn_to_section_nr(pfn);
> +
> + if (!present_section_nr(section_nr))
> + continue;
> +
> + if (pfn_to_nid(pfn) != nid)
> + continue;
> +
> + /*
> + * some memory sections of this node are not removed, and we
> + * can't offline node now.
> + */
> + return;
> + }
> +
> + if (stop_machine(check_cpu_on_node, NODE_DATA(nid), NULL))
> + return;
> +
> + /*
> + * all memory/cpu of this node are removed, we can offline this
> + * node now.
> + */
> + node_set_offline(nid);
> + unregister_one_node(nid);
> +}
> +
> +int __ref remove_memory(int nid, u64 start, u64 size)
> {
> unsigned long start_pfn, end_pfn;
> int ret = 0;
> @@ -1699,6 +1751,8 @@ repeat:
>
> arch_remove_memory(start, size);
>
> + try_offline_node(nid);
> +
> unlock_memory_hotplug();
>
> return 0;
> @@ -1708,7 +1762,7 @@ int offline_pages(unsigned long start_pf
> {
> return -EINVAL;
> }
> -int remove_memory(u64 start, u64 size)
> +int remove_memory(int nid, u64 start, u64 size)
> {
> return -EINVAL;
> }
>
>
^ permalink raw reply
* Re: [PATCH v3 06/12] memory-hotplug: unregister memory section on SPARSEMEM_VMEMMAP
From: Wen Congyang @ 2012-11-20 9:37 UTC (permalink / raw)
To: Jaegeuk Hanse
Cc: linux-s390, linux-ia64, Len Brown, linux-acpi, linux-sh, x86,
linux-kernel, cmetcalf, Jianguo Wu, linux-mm, Yasuaki Ishimatsu,
paulus, Minchan Kim, KOSAKI Motohiro, David Rientjes, sparclinux,
Christoph Lameter, linuxppc-dev, Andrew Morton, Jiang Liu
In-Reply-To: <50AB2A1A.6040606@gmail.com>
At 11/20/2012 02:58 PM, Jaegeuk Hanse Wrote:
> On 11/20/2012 02:55 PM, Wen Congyang wrote:
>> At 11/20/2012 02:22 PM, Jaegeuk Hanse Wrote:
>>> On 11/01/2012 05:44 PM, Wen Congyang wrote:
>>>> From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>>>
>>>> Currently __remove_section for SPARSEMEM_VMEMMAP does nothing. But
>>>> even if
>>>> we use SPARSEMEM_VMEMMAP, we can unregister the memory_section.
>>>>
>>>> So the patch add unregister_memory_section() into __remove_section().
>>> Hi Yasuaki,
>>>
>>> In order to review this patch, I should dig sparse memory codes in
>>> advance. But I have some confuse of codes. Why need encode/decode mem
>>> map instead of set mem_map to ms->section_mem_map directly?
>> The memmap is aligned, and the low bits are zero. We store some
>> information
>> in these bits. So we need to encode/decode memmap here.
>
> Hi Congyang,
>
> Thanks for you reponse. But I mean why return (unsigned long)(mem_map -
> (section_nr_to_pfn(pnum))); in function sparse_encode_mem_map, and then
> return ((struct page *)coded_mem_map) + section_nr_to_pfn(pnum); in
> funtion sparse_decode_mem_map instead of just store mem_map in
> ms->section_mep_map directly.
I don't know why. I try to find the reason, but I don't find any
place to use the pfn stored in the mem_map except in the decode
function. Maybe the designer doesn't want us to access the mem_map
directly.
Thanks
Wen Congyang
>
> Regards,
> Jaegeuk
>
>>
>> Thanks
>> Wen Congyang
>>
>>> Regards,
>>> Jaegeuk
>>>
>>>> CC: David Rientjes <rientjes@google.com>
>>>> CC: Jiang Liu <liuj97@gmail.com>
>>>> CC: Len Brown <len.brown@intel.com>
>>>> CC: Christoph Lameter <cl@linux.com>
>>>> Cc: Minchan Kim <minchan.kim@gmail.com>
>>>> CC: Andrew Morton <akpm@linux-foundation.org>
>>>> CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
>>>> CC: Wen Congyang <wency@cn.fujitsu.com>
>>>> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>>> ---
>>>> mm/memory_hotplug.c | 13 ++++++++-----
>>>> 1 file changed, 8 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
>>>> index ca07433..66a79a7 100644
>>>> --- a/mm/memory_hotplug.c
>>>> +++ b/mm/memory_hotplug.c
>>>> @@ -286,11 +286,14 @@ static int __meminit __add_section(int nid,
>>>> struct zone *zone,
>>>> #ifdef CONFIG_SPARSEMEM_VMEMMAP
>>>> static int __remove_section(struct zone *zone, struct mem_section
>>>> *ms)
>>>> {
>>>> - /*
>>>> - * XXX: Freeing memmap with vmemmap is not implement yet.
>>>> - * This should be removed later.
>>>> - */
>>>> - return -EBUSY;
>>>> + int ret = -EINVAL;
>>>> +
>>>> + if (!valid_section(ms))
>>>> + return ret;
>>>> +
>>>> + ret = unregister_memory_section(ms);
>>>> +
>>>> + return ret;
>>>> }
>>>> #else
>>>> static int __remove_section(struct zone *zone, struct mem_section
>>>> *ms)
>>>
>
>
^ permalink raw reply
* Re: [PATCH 159/493] usb: remove use of __devinit
From: Nicolas Ferre @ 2012-11-20 9:33 UTC (permalink / raw)
To: Bill Pemberton
Cc: cbe-oss-dev, Kukjin Kim, Wan ZongShun, Alexander Shishkin, gregkh,
linux-usb, Felipe Balbi, Geoff Levand, linux-samsung-soc,
Alan Stern, Ben Dooks, Olav Kongas, linux-omap, linuxppc-dev,
Lennert Buytenhek, linux-arm-kernel
In-Reply-To: <1353349642-3677-159-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 07:21 PM, Bill Pemberton :
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Peter Korsgaard <jacmet@sunsite.dk>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Geoff Levand <geoff@infradead.org>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Olav Kongas <ok@artecdesign.ee>
> Cc: Lennert Buytenhek <kernel@wantstofly.org>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-omap@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: cbe-oss-dev@lists.ozlabs.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org
> ---
> drivers/usb/gadget/at91_udc.c | 4 ++--
> drivers/usb/host/ehci-atmel.c | 2 +-
> drivers/usb/host/ohci-at91.c | 12 ++++++------
For Atmel's drivers:
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> diff --git a/drivers/usb/c67x00/c67x00-drv.c b/drivers/usb/c67x00/c67x00-drv.c
> index 855d538..21913dfe 100644
> --- a/drivers/usb/c67x00/c67x00-drv.c
> +++ b/drivers/usb/c67x00/c67x00-drv.c
> @@ -116,7 +116,7 @@ static irqreturn_t c67x00_irq(int irq, void *__dev)
>
> /* ------------------------------------------------------------------------- */
>
> -static int __devinit c67x00_drv_probe(struct platform_device *pdev)
> +static int c67x00_drv_probe(struct platform_device *pdev)
> {
> struct c67x00_device *c67x00;
> struct c67x00_platform_data *pdata;
> diff --git a/drivers/usb/chipidea/ci13xxx_imx.c b/drivers/usb/chipidea/ci13xxx_imx.c
> index 5659730..424bff9 100644
> --- a/drivers/usb/chipidea/ci13xxx_imx.c
> +++ b/drivers/usb/chipidea/ci13xxx_imx.c
> @@ -93,7 +93,7 @@ static struct ci13xxx_platform_data ci13xxx_imx_platdata __devinitdata = {
> .capoffset = DEF_CAPOFFSET,
> };
>
> -static int __devinit ci13xxx_imx_probe(struct platform_device *pdev)
> +static int ci13xxx_imx_probe(struct platform_device *pdev)
> {
> struct ci13xxx_imx_data *data;
> struct platform_device *plat_ci, *phy_pdev;
> diff --git a/drivers/usb/chipidea/ci13xxx_msm.c b/drivers/usb/chipidea/ci13xxx_msm.c
> index 406c5af..e8a8ba3 100644
> --- a/drivers/usb/chipidea/ci13xxx_msm.c
> +++ b/drivers/usb/chipidea/ci13xxx_msm.c
> @@ -55,7 +55,7 @@ static struct ci13xxx_platform_data ci13xxx_msm_platdata = {
> .notify_event = ci13xxx_msm_notify_event,
> };
>
> -static int __devinit ci13xxx_msm_probe(struct platform_device *pdev)
> +static int ci13xxx_msm_probe(struct platform_device *pdev)
> {
> struct platform_device *plat_ci;
>
> diff --git a/drivers/usb/chipidea/ci13xxx_pci.c b/drivers/usb/chipidea/ci13xxx_pci.c
> index e1cb2fb..cb7eb3e 100644
> --- a/drivers/usb/chipidea/ci13xxx_pci.c
> +++ b/drivers/usb/chipidea/ci13xxx_pci.c
> @@ -48,7 +48,7 @@ struct ci13xxx_platform_data penwell_pci_platdata = {
> * Allocates basic PCI resources for this USB device controller, and then
> * invokes the udc_probe() method to start the UDC associated with it
> */
> -static int __devinit ci13xxx_pci_probe(struct pci_dev *pdev,
> +static int ci13xxx_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> struct ci13xxx_platform_data *platdata = (void *)id->driver_data;
> diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
> index 46f23f2..7f9c0d2 100644
> --- a/drivers/usb/chipidea/core.c
> +++ b/drivers/usb/chipidea/core.c
> @@ -390,7 +390,7 @@ void ci13xxx_remove_device(struct platform_device *pdev)
> }
> EXPORT_SYMBOL_GPL(ci13xxx_remove_device);
>
> -static int __devinit ci_hdrc_probe(struct platform_device *pdev)
> +static int ci_hdrc_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct ci13xxx *ci;
> diff --git a/drivers/usb/chipidea/usbmisc_imx6q.c b/drivers/usb/chipidea/usbmisc_imx6q.c
> index 81238a4..ee6fa87 100644
> --- a/drivers/usb/chipidea/usbmisc_imx6q.c
> +++ b/drivers/usb/chipidea/usbmisc_imx6q.c
> @@ -82,7 +82,7 @@ static const struct of_device_id usbmisc_imx6q_dt_ids[] = {
> { /* sentinel */ }
> };
>
> -static int __devinit usbmisc_imx6q_probe(struct platform_device *pdev)
> +static int usbmisc_imx6q_probe(struct platform_device *pdev)
> {
> struct resource *res;
> struct imx6q_usbmisc *data;
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index 1a02442..8dceb83 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -140,8 +140,7 @@ static void dwc3_free_one_event_buffer(struct dwc3 *dwc,
> * Returns a pointer to the allocated event buffer structure on success
> * otherwise ERR_PTR(errno).
> */
> -static struct dwc3_event_buffer *__devinit
> -dwc3_alloc_one_event_buffer(struct dwc3 *dwc, unsigned length)
> +static struct dwc3_event_buffer *dwc3_alloc_one_event_buffer(struct dwc3 *dwc, unsigned length)
> {
> struct dwc3_event_buffer *evt;
>
> @@ -183,7 +182,7 @@ static void dwc3_free_event_buffers(struct dwc3 *dwc)
> * Returns 0 on success otherwise negative errno. In the error case, dwc
> * may contain some buffers allocated but not all which were requested.
> */
> -static int __devinit dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length)
> +static int dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length)
> {
> int num;
> int i;
> @@ -260,7 +259,7 @@ static void dwc3_event_buffers_cleanup(struct dwc3 *dwc)
> }
> }
>
> -static void __devinit dwc3_cache_hwparams(struct dwc3 *dwc)
> +static void dwc3_cache_hwparams(struct dwc3 *dwc)
> {
> struct dwc3_hwparams *parms = &dwc->hwparams;
>
> @@ -281,7 +280,7 @@ static void __devinit dwc3_cache_hwparams(struct dwc3 *dwc)
> *
> * Returns 0 on success otherwise negative errno.
> */
> -static int __devinit dwc3_core_init(struct dwc3 *dwc)
> +static int dwc3_core_init(struct dwc3 *dwc)
> {
> unsigned long timeout;
> u32 reg;
> @@ -362,7 +361,7 @@ static void dwc3_core_exit(struct dwc3 *dwc)
>
> #define DWC3_ALIGN_MASK (16 - 1)
>
> -static int __devinit dwc3_probe(struct platform_device *pdev)
> +static int dwc3_probe(struct platform_device *pdev)
> {
> struct device_node *node = pdev->dev.of_node;
> struct resource *res;
> diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c
> index d4a30f1..33ae98c5 100644
> --- a/drivers/usb/dwc3/debugfs.c
> +++ b/drivers/usb/dwc3/debugfs.c
> @@ -652,7 +652,7 @@ static const struct file_operations dwc3_link_state_fops = {
> .release = single_release,
> };
>
> -int __devinit dwc3_debugfs_init(struct dwc3 *dwc)
> +int dwc3_debugfs_init(struct dwc3 *dwc)
> {
> struct dentry *root;
> struct dentry *file;
> diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c
> index 19a9818..d43f076 100644
> --- a/drivers/usb/dwc3/dwc3-exynos.c
> +++ b/drivers/usb/dwc3/dwc3-exynos.c
> @@ -34,7 +34,7 @@ struct dwc3_exynos {
> struct clk *clk;
> };
>
> -static int __devinit dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
> +static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
> {
> struct nop_usb_xceiv_platform_data pdata;
> struct platform_device *pdev;
> @@ -90,7 +90,7 @@ err1:
>
> static u64 dwc3_exynos_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit dwc3_exynos_probe(struct platform_device *pdev)
> +static int dwc3_exynos_probe(struct platform_device *pdev)
> {
> struct platform_device *dwc3;
> struct dwc3_exynos *exynos;
> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> index afbc6e9..e114bb5 100644
> --- a/drivers/usb/dwc3/dwc3-omap.c
> +++ b/drivers/usb/dwc3/dwc3-omap.c
> @@ -157,7 +157,7 @@ static inline void dwc3_omap_writel(void __iomem *base, u32 offset, u32 value)
> writel(value, base + offset);
> }
>
> -static int __devinit dwc3_omap_register_phys(struct dwc3_omap *omap)
> +static int dwc3_omap_register_phys(struct dwc3_omap *omap)
> {
> struct nop_usb_xceiv_platform_data pdata;
> struct platform_device *pdev;
> @@ -262,7 +262,7 @@ static irqreturn_t dwc3_omap_interrupt(int irq, void *_omap)
> return IRQ_HANDLED;
> }
>
> -static int __devinit dwc3_omap_probe(struct platform_device *pdev)
> +static int dwc3_omap_probe(struct platform_device *pdev)
> {
> struct dwc3_omap_data *pdata = pdev->dev.platform_data;
> struct device_node *node = pdev->dev.of_node;
> diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c
> index b3eeec7..68e389b 100644
> --- a/drivers/usb/dwc3/dwc3-pci.c
> +++ b/drivers/usb/dwc3/dwc3-pci.c
> @@ -58,7 +58,7 @@ struct dwc3_pci {
> struct platform_device *usb3_phy;
> };
>
> -static int __devinit dwc3_pci_register_phys(struct dwc3_pci *glue)
> +static int dwc3_pci_register_phys(struct dwc3_pci *glue)
> {
> struct nop_usb_xceiv_platform_data pdata;
> struct platform_device *pdev;
> @@ -112,7 +112,7 @@ err1:
> return ret;
> }
>
> -static int __devinit dwc3_pci_probe(struct pci_dev *pci,
> +static int dwc3_pci_probe(struct pci_dev *pci,
> const struct pci_device_id *id)
> {
> struct resource res[2];
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 7b7dedd..2e43b33 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1579,7 +1579,7 @@ static const struct usb_gadget_ops dwc3_gadget_ops = {
>
> /* -------------------------------------------------------------------------- */
>
> -static int __devinit dwc3_gadget_init_endpoints(struct dwc3 *dwc)
> +static int dwc3_gadget_init_endpoints(struct dwc3 *dwc)
> {
> struct dwc3_ep *dep;
> u8 epnum;
> @@ -2374,7 +2374,7 @@ static irqreturn_t dwc3_interrupt(int irq, void *_dwc)
> *
> * Returns 0 on success otherwise negative errno.
> */
> -int __devinit dwc3_gadget_init(struct dwc3 *dwc)
> +int dwc3_gadget_init(struct dwc3 *dwc)
> {
> u32 reg;
> int ret;
> diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
> index a7b042b..59dcea2 100644
> --- a/drivers/usb/gadget/at91_udc.c
> +++ b/drivers/usb/gadget/at91_udc.c
> @@ -1673,7 +1673,7 @@ static void at91udc_shutdown(struct platform_device *dev)
> spin_unlock_irqrestore(&udc->lock, flags);
> }
>
> -static void __devinit at91udc_of_init(struct at91_udc *udc,
> +static void at91udc_of_init(struct at91_udc *udc,
> struct device_node *np)
> {
> struct at91_udc_data *board = &udc->board;
> @@ -1693,7 +1693,7 @@ static void __devinit at91udc_of_init(struct at91_udc *udc,
> board->pullup_active_low = (flags & OF_GPIO_ACTIVE_LOW) ? 1 : 0;
> }
>
> -static int __devinit at91udc_probe(struct platform_device *pdev)
> +static int at91udc_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct at91_udc *udc;
> diff --git a/drivers/usb/gadget/bcm63xx_udc.c b/drivers/usb/gadget/bcm63xx_udc.c
> index b44e436..18eff74 100644
> --- a/drivers/usb/gadget/bcm63xx_udc.c
> +++ b/drivers/usb/gadget/bcm63xx_udc.c
> @@ -2323,7 +2323,7 @@ static void bcm63xx_udc_gadget_release(struct device *dev)
> * Note that platform data is required, because pd.port_no varies from chip
> * to chip and is used to switch the correct USB port to device mode.
> */
> -static int __devinit bcm63xx_udc_probe(struct platform_device *pdev)
> +static int bcm63xx_udc_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct bcm63xx_usbd_platform_data *pd = dev->platform_data;
> diff --git a/drivers/usb/gadget/f_uac2.c b/drivers/usb/gadget/f_uac2.c
> index 91396a1..d7da258 100644
> --- a/drivers/usb/gadget/f_uac2.c
> +++ b/drivers/usb/gadget/f_uac2.c
> @@ -402,7 +402,7 @@ static struct snd_pcm_ops uac2_pcm_ops = {
> .prepare = uac2_pcm_null,
> };
>
> -static int __devinit snd_uac2_probe(struct platform_device *pdev)
> +static int snd_uac2_probe(struct platform_device *pdev)
> {
> struct snd_uac2_chip *uac2 = pdev_to_uac2(pdev);
> struct snd_card *card;
> diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c
> index 21db1f7..8ad04a0 100644
> --- a/drivers/usb/gadget/fsl_qe_udc.c
> +++ b/drivers/usb/gadget/fsl_qe_udc.c
> @@ -2347,7 +2347,7 @@ static int fsl_qe_stop(struct usb_gadget *gadget,
> }
>
> /* udc structure's alloc and setup, include ep-param alloc */
> -static struct qe_udc __devinit *qe_udc_config(struct platform_device *ofdev)
> +static struct qe_udc *qe_udc_config(struct platform_device *ofdev)
> {
> struct qe_udc *udc;
> struct device_node *np = ofdev->dev.of_node;
> @@ -2402,7 +2402,7 @@ cleanup:
> }
>
> /* USB Controller register init */
> -static int __devinit qe_udc_reg_init(struct qe_udc *udc)
> +static int qe_udc_reg_init(struct qe_udc *udc)
> {
> struct usb_ctlr __iomem *qe_usbregs;
> qe_usbregs = udc->usb_regs;
> @@ -2420,7 +2420,7 @@ static int __devinit qe_udc_reg_init(struct qe_udc *udc)
> return 0;
> }
>
> -static int __devinit qe_ep_config(struct qe_udc *udc, unsigned char pipe_num)
> +static int qe_ep_config(struct qe_udc *udc, unsigned char pipe_num)
> {
> struct qe_ep *ep = &udc->eps[pipe_num];
>
> @@ -2473,7 +2473,7 @@ static void qe_udc_release(struct device *dev)
>
> /* Driver probe functions */
> static const struct of_device_id qe_udc_match[];
> -static int __devinit qe_udc_probe(struct platform_device *ofdev)
> +static int qe_udc_probe(struct platform_device *ofdev)
> {
> struct qe_udc *udc;
> const struct of_device_id *match;
> diff --git a/drivers/usb/gadget/mv_udc_core.c b/drivers/usb/gadget/mv_udc_core.c
> index ea45224..2419649 100644
> --- a/drivers/usb/gadget/mv_udc_core.c
> +++ b/drivers/usb/gadget/mv_udc_core.c
> @@ -2188,7 +2188,7 @@ static int __devexit mv_udc_remove(struct platform_device *dev)
> return 0;
> }
>
> -static int __devinit mv_udc_probe(struct platform_device *dev)
> +static int mv_udc_probe(struct platform_device *dev)
> {
> struct mv_usb_platform_data *pdata = dev->dev.platform_data;
> struct mv_udc *udc;
> diff --git a/drivers/usb/gadget/net2272.c b/drivers/usb/gadget/net2272.c
> index 26c3053..f0103dd 100644
> --- a/drivers/usb/gadget/net2272.c
> +++ b/drivers/usb/gadget/net2272.c
> @@ -2215,8 +2215,7 @@ net2272_remove(struct net2272 *dev)
> dev_info(dev->dev, "unbind\n");
> }
>
> -static struct net2272 * __devinit
> -net2272_probe_init(struct device *dev, unsigned int irq)
> +static struct net2272 *net2272_probe_init(struct device *dev, unsigned int irq)
> {
> struct net2272 *ret;
>
> @@ -2246,7 +2245,7 @@ net2272_probe_init(struct device *dev, unsigned int irq)
> return ret;
> }
>
> -static int __devinit
> +static int
> net2272_probe_fin(struct net2272 *dev, unsigned int irqflags)
> {
> int ret;
> @@ -2306,7 +2305,7 @@ err_add_udc:
> * don't respond over USB until a gadget driver binds to us
> */
>
> -static int __devinit
> +static int
> net2272_rdk1_probe(struct pci_dev *pdev, struct net2272 *dev)
> {
> unsigned long resource, len, tmp;
> @@ -2389,7 +2388,7 @@ net2272_rdk1_probe(struct pci_dev *pdev, struct net2272 *dev)
> return ret;
> }
>
> -static int __devinit
> +static int
> net2272_rdk2_probe(struct pci_dev *pdev, struct net2272 *dev)
> {
> unsigned long resource, len;
> @@ -2447,7 +2446,7 @@ net2272_rdk2_probe(struct pci_dev *pdev, struct net2272 *dev)
> return ret;
> }
>
> -static int __devinit
> +static int
> net2272_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> {
> struct net2272 *dev;
> @@ -2595,7 +2594,7 @@ static inline void net2272_pci_unregister(void) { }
>
> /*---------------------------------------------------------------------------*/
>
> -static int __devinit
> +static int
> net2272_plat_probe(struct platform_device *pdev)
> {
> struct net2272 *dev;
> diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
> index 650fa23..164526f 100644
> --- a/drivers/usb/gadget/omap_udc.c
> +++ b/drivers/usb/gadget/omap_udc.c
> @@ -2508,7 +2508,7 @@ static inline void remove_proc_file(void) {}
> * UDC_SYSCON_1.CFG_LOCK is set can now work. We won't use that
> * capability yet though.
> */
> -static unsigned __devinit
> +static unsigned
> omap_ep_setup(char *name, u8 addr, u8 type,
> unsigned buf, unsigned maxp, int dbuf)
> {
> @@ -2626,7 +2626,7 @@ static void omap_udc_release(struct device *dev)
> udc = NULL;
> }
>
> -static int __devinit
> +static int
> omap_udc_setup(struct platform_device *odev, struct usb_phy *xceiv)
> {
> unsigned tmp, buf;
> @@ -2763,7 +2763,7 @@ omap_udc_setup(struct platform_device *odev, struct usb_phy *xceiv)
> return 0;
> }
>
> -static int __devinit omap_udc_probe(struct platform_device *pdev)
> +static int omap_udc_probe(struct platform_device *pdev)
> {
> int status = -ENODEV;
> int hmc;
> diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
> index 9fd6e5f..6fdb1bd 100644
> --- a/drivers/usb/gadget/s3c-hsotg.c
> +++ b/drivers/usb/gadget/s3c-hsotg.c
> @@ -3072,7 +3072,7 @@ static struct usb_gadget_ops s3c_hsotg_gadget_ops = {
> * creation) to give to the gadget driver. Setup the endpoint name, any
> * direction information and other state that may be required.
> */
> -static void __devinit s3c_hsotg_initep(struct s3c_hsotg *hsotg,
> +static void s3c_hsotg_initep(struct s3c_hsotg *hsotg,
> struct s3c_hsotg_ep *hs_ep,
> int epnum)
> {
> @@ -3414,7 +3414,7 @@ static const struct file_operations ep_fops = {
> * with the same name as the device itself, in case we end up
> * with multiple blocks in future systems.
> */
> -static void __devinit s3c_hsotg_create_debug(struct s3c_hsotg *hsotg)
> +static void s3c_hsotg_create_debug(struct s3c_hsotg *hsotg)
> {
> struct dentry *root;
> unsigned epidx;
> @@ -3490,7 +3490,7 @@ static void s3c_hsotg_release(struct device *dev)
> * @pdev: The platform information for the driver
> */
>
> -static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
> +static int s3c_hsotg_probe(struct platform_device *pdev)
> {
> struct s3c_hsotg_plat *plat = pdev->dev.platform_data;
> struct device *dev = &pdev->dev;
> diff --git a/drivers/usb/gadget/s3c-hsudc.c b/drivers/usb/gadget/s3c-hsudc.c
> index d8e785d..52379b1 100644
> --- a/drivers/usb/gadget/s3c-hsudc.c
> +++ b/drivers/usb/gadget/s3c-hsudc.c
> @@ -1261,7 +1261,7 @@ static struct usb_gadget_ops s3c_hsudc_gadget_ops = {
> .vbus_draw = s3c_hsudc_vbus_draw,
> };
>
> -static int __devinit s3c_hsudc_probe(struct platform_device *pdev)
> +static int s3c_hsudc_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct resource *res;
> diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c
> index f5143a0..8c83ed9 100644
> --- a/drivers/usb/host/bcma-hcd.c
> +++ b/drivers/usb/host/bcma-hcd.c
> @@ -54,7 +54,7 @@ static int bcma_wait_bits(struct bcma_device *dev, u16 reg, u32 bitmask,
> return -ETIMEDOUT;
> }
>
> -static void __devinit bcma_hcd_4716wa(struct bcma_device *dev)
> +static void bcma_hcd_4716wa(struct bcma_device *dev)
> {
> #ifdef CONFIG_BCMA_DRIVER_MIPS
> /* Work around for 4716 failures. */
> @@ -88,7 +88,7 @@ static void __devinit bcma_hcd_4716wa(struct bcma_device *dev)
> }
>
> /* based on arch/mips/brcm-boards/bcm947xx/pcibios.c */
> -static void __devinit bcma_hcd_init_chip(struct bcma_device *dev)
> +static void bcma_hcd_init_chip(struct bcma_device *dev)
> {
> u32 tmp;
>
> @@ -165,8 +165,7 @@ static const struct usb_ehci_pdata ehci_pdata = {
> static const struct usb_ohci_pdata ohci_pdata = {
> };
>
> -static struct platform_device * __devinit
> -bcma_hcd_create_pdev(struct bcma_device *dev, bool ohci, u32 addr)
> +static struct platform_device *bcma_hcd_create_pdev(struct bcma_device *dev, bool ohci, u32 addr)
> {
> struct platform_device *hci_dev;
> struct resource hci_res[2];
> @@ -212,7 +211,7 @@ err_alloc:
> return ERR_PTR(ret);
> }
>
> -static int __devinit bcma_hcd_probe(struct bcma_device *dev)
> +static int bcma_hcd_probe(struct bcma_device *dev)
> {
> int err;
> u16 chipid_top;
> diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> index 33f798e..96bf00d 100644
> --- a/drivers/usb/host/ehci-atmel.c
> +++ b/drivers/usb/host/ehci-atmel.c
> @@ -97,7 +97,7 @@ static const struct hc_driver ehci_atmel_hc_driver = {
>
> static u64 at91_ehci_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit ehci_atmel_drv_probe(struct platform_device *pdev)
> +static int ehci_atmel_drv_probe(struct platform_device *pdev)
> {
> struct usb_hcd *hcd;
> const struct hc_driver *driver = &ehci_atmel_hc_driver;
> diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c
> index da42695..1fc8929 100644
> --- a/drivers/usb/host/ehci-grlib.c
> +++ b/drivers/usb/host/ehci-grlib.c
> @@ -82,7 +82,7 @@ static const struct hc_driver ehci_grlib_hc_driver = {
> };
>
>
> -static int __devinit ehci_hcd_grlib_probe(struct platform_device *op)
> +static int ehci_hcd_grlib_probe(struct platform_device *op)
> {
> struct device_node *dn = op->dev.of_node;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c
> index 96da679..f74794c 100644
> --- a/drivers/usb/host/ehci-orion.c
> +++ b/drivers/usb/host/ehci-orion.c
> @@ -146,7 +146,7 @@ static const struct hc_driver ehci_orion_hc_driver = {
> .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
> };
>
> -static void __devinit
> +static void
> ehci_orion_conf_mbus_windows(struct usb_hcd *hcd,
> const struct mbus_dram_target_info *dram)
> {
> @@ -167,7 +167,7 @@ ehci_orion_conf_mbus_windows(struct usb_hcd *hcd,
> }
> }
>
> -static int __devinit ehci_orion_drv_probe(struct platform_device *pdev)
> +static int ehci_orion_drv_probe(struct platform_device *pdev)
> {
> struct orion_ehci_data *pd = pdev->dev.platform_data;
> const struct mbus_dram_target_info *dram;
> diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
> index b807648..615cba0 100644
> --- a/drivers/usb/host/ehci-platform.c
> +++ b/drivers/usb/host/ehci-platform.c
> @@ -61,7 +61,7 @@ static const struct ehci_driver_overrides platform_overrides __initdata = {
> .reset = ehci_platform_reset,
> };
>
> -static int __devinit ehci_platform_probe(struct platform_device *dev)
> +static int ehci_platform_probe(struct platform_device *dev)
> {
> struct usb_hcd *hcd;
> struct resource *res_mem;
> diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c
> index fa937d0..45aceef 100644
> --- a/drivers/usb/host/ehci-ppc-of.c
> +++ b/drivers/usb/host/ehci-ppc-of.c
> @@ -71,7 +71,7 @@ static const struct hc_driver ehci_ppc_of_hc_driver = {
> * Fix: Enable Break Memory Transfer (BMT) in INSNREG3
> */
> #define PPC440EPX_EHCI0_INSREG_BMT (0x1 << 0)
> -static int __devinit
> +static int
> ppc44x_enable_bmt(struct device_node *dn)
> {
> __iomem u32 *insreg_virt;
> @@ -87,7 +87,7 @@ ppc44x_enable_bmt(struct device_node *dn)
> }
>
>
> -static int __devinit ehci_hcd_ppc_of_probe(struct platform_device *op)
> +static int ehci_hcd_ppc_of_probe(struct platform_device *op)
> {
> struct device_node *dn = op->dev.of_node;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ehci-ps3.c b/drivers/usb/host/ehci-ps3.c
> index 45a356e..df5925a 100644
> --- a/drivers/usb/host/ehci-ps3.c
> +++ b/drivers/usb/host/ehci-ps3.c
> @@ -93,7 +93,7 @@ static const struct hc_driver ps3_ehci_hc_driver = {
> .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
> };
>
> -static int __devinit ps3_ehci_probe(struct ps3_system_bus_device *dev)
> +static int ps3_ehci_probe(struct ps3_system_bus_device *dev)
> {
> int result;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
> index f90a881..2cf19d1 100644
> --- a/drivers/usb/host/ehci-s5p.c
> +++ b/drivers/usb/host/ehci-s5p.c
> @@ -85,7 +85,7 @@ static void s5p_setup_vbus_gpio(struct platform_device *pdev)
>
> static u64 ehci_s5p_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit s5p_ehci_probe(struct platform_device *pdev)
> +static int s5p_ehci_probe(struct platform_device *pdev)
> {
> struct s5p_ehci_platdata *pdata;
> struct s5p_ehci_hcd *s5p_ehci;
> diff --git a/drivers/usb/host/ehci-w90x900.c b/drivers/usb/host/ehci-w90x900.c
> index 7bcb8b2..bf8d462 100644
> --- a/drivers/usb/host/ehci-w90x900.c
> +++ b/drivers/usb/host/ehci-w90x900.c
> @@ -18,7 +18,7 @@
> #define PHY0_CTR (0xA4)
> #define PHY1_CTR (0xA8)
>
> -static int __devinit usb_w90x900_probe(const struct hc_driver *driver,
> +static int usb_w90x900_probe(const struct hc_driver *driver,
> struct platform_device *pdev)
> {
> struct usb_hcd *hcd;
> @@ -147,7 +147,7 @@ static const struct hc_driver ehci_w90x900_hc_driver = {
> .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
> };
>
> -static int __devinit ehci_w90x900_probe(struct platform_device *pdev)
> +static int ehci_w90x900_probe(struct platform_device *pdev)
> {
> if (usb_disabled())
> return -ENODEV;
> diff --git a/drivers/usb/host/ehci-xilinx-of.c b/drivers/usb/host/ehci-xilinx-of.c
> index 6a3f921..4f285e8 100644
> --- a/drivers/usb/host/ehci-xilinx-of.c
> +++ b/drivers/usb/host/ehci-xilinx-of.c
> @@ -125,7 +125,7 @@ static const struct hc_driver ehci_xilinx_of_hc_driver = {
> * as HS only or HS/FS only, it checks the configuration in the device tree
> * entry, and sets an appropriate value for hcd->has_tt.
> */
> -static int __devinit ehci_hcd_xilinx_of_probe(struct platform_device *op)
> +static int ehci_hcd_xilinx_of_probe(struct platform_device *op)
> {
> struct device_node *dn = op->dev.of_node;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c
> index 92f4b99..618f143 100644
> --- a/drivers/usb/host/fhci-hcd.c
> +++ b/drivers/usb/host/fhci-hcd.c
> @@ -561,7 +561,7 @@ static const struct hc_driver fhci_driver = {
> .hub_control = fhci_hub_control,
> };
>
> -static int __devinit of_fhci_probe(struct platform_device *ofdev)
> +static int of_fhci_probe(struct platform_device *ofdev)
> {
> struct device *dev = &ofdev->dev;
> struct device_node *node = dev->of_node;
> diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c
> index 3a5c82f..dc0aeba 100644
> --- a/drivers/usb/host/fsl-mph-dr-of.c
> +++ b/drivers/usb/host/fsl-mph-dr-of.c
> @@ -42,7 +42,7 @@ struct fsl_usb2_dev_data dr_mode_data[] __devinitdata = {
> },
> };
>
> -struct fsl_usb2_dev_data * __devinit get_dr_mode_data(struct device_node *np)
> +struct fsl_usb2_dev_data *get_dr_mode_data(struct device_node *np)
> {
> const unsigned char *prop;
> int i;
> @@ -59,7 +59,7 @@ struct fsl_usb2_dev_data * __devinit get_dr_mode_data(struct device_node *np)
> return &dr_mode_data[0]; /* mode not specified, use host */
> }
>
> -static enum fsl_usb2_phy_modes __devinit determine_usb_phy(const char *phy_type)
> +static enum fsl_usb2_phy_modes determine_usb_phy(const char *phy_type)
> {
> if (!phy_type)
> return FSL_USB2_PHY_NONE;
> @@ -75,7 +75,7 @@ static enum fsl_usb2_phy_modes __devinit determine_usb_phy(const char *phy_type)
> return FSL_USB2_PHY_NONE;
> }
>
> -struct platform_device * __devinit fsl_usb2_device_register(
> +struct platform_device *fsl_usb2_device_register(
> struct platform_device *ofdev,
> struct fsl_usb2_platform_data *pdata,
> const char *name, int id)
> @@ -154,7 +154,7 @@ static int usb_get_ver_info(struct device_node *np)
> return ver;
> }
>
> -static int __devinit fsl_usb2_mph_dr_of_probe(struct platform_device *ofdev)
> +static int fsl_usb2_mph_dr_of_probe(struct platform_device *ofdev)
> {
> struct device_node *np = ofdev->dev.of_node;
> struct platform_device *usb_dev;
> diff --git a/drivers/usb/host/imx21-hcd.c b/drivers/usb/host/imx21-hcd.c
> index f19e269..bd6a744 100644
> --- a/drivers/usb/host/imx21-hcd.c
> +++ b/drivers/usb/host/imx21-hcd.c
> @@ -1680,7 +1680,7 @@ static int imx21_hc_reset(struct usb_hcd *hcd)
> return 0;
> }
>
> -static int __devinit imx21_hc_start(struct usb_hcd *hcd)
> +static int imx21_hc_start(struct usb_hcd *hcd)
> {
> struct imx21 *imx21 = hcd_to_imx21(hcd);
> unsigned long flags;
> diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
> index 9e65e30..b64e661 100644
> --- a/drivers/usb/host/isp116x-hcd.c
> +++ b/drivers/usb/host/isp116x-hcd.c
> @@ -1557,7 +1557,7 @@ static int isp116x_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static int __devinit isp116x_probe(struct platform_device *pdev)
> +static int isp116x_probe(struct platform_device *pdev)
> {
> struct usb_hcd *hcd;
> struct isp116x *isp116x;
> diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c
> index 1ad9d20..5f8b63c 100644
> --- a/drivers/usb/host/isp1362-hcd.c
> +++ b/drivers/usb/host/isp1362-hcd.c
> @@ -2680,7 +2680,7 @@ static int __devexit isp1362_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static int __devinit isp1362_probe(struct platform_device *pdev)
> +static int isp1362_probe(struct platform_device *pdev)
> {
> struct usb_hcd *hcd;
> struct isp1362_hcd *isp1362_hcd;
> diff --git a/drivers/usb/host/isp1760-if.c b/drivers/usb/host/isp1760-if.c
> index 5fb3cae..d752a4c 100644
> --- a/drivers/usb/host/isp1760-if.c
> +++ b/drivers/usb/host/isp1760-if.c
> @@ -172,7 +172,7 @@ static struct platform_driver isp1760_of_driver = {
> #endif
>
> #ifdef CONFIG_PCI
> -static int __devinit isp1761_pci_probe(struct pci_dev *dev,
> +static int isp1761_pci_probe(struct pci_dev *dev,
> const struct pci_device_id *id)
> {
> u8 latency, limit;
> @@ -346,7 +346,7 @@ static struct pci_driver isp1761_pci_driver = {
> };
> #endif
>
> -static int __devinit isp1760_plat_probe(struct platform_device *pdev)
> +static int isp1760_plat_probe(struct platform_device *pdev)
> {
> int ret = 0;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 51de2f9..0518348 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -108,7 +108,7 @@ static void __devexit usb_hcd_at91_remove (struct usb_hcd *, struct platform_dev
> * then invokes the start() method for the HCD associated with it
> * through the hotplug entry's driver_data.
> */
> -static int __devinit usb_hcd_at91_probe(const struct hc_driver *driver,
> +static int usb_hcd_at91_probe(const struct hc_driver *driver,
> struct platform_device *pdev)
> {
> int retval;
> @@ -222,7 +222,7 @@ static void __devexit usb_hcd_at91_remove(struct usb_hcd *hcd,
>
> /*-------------------------------------------------------------------------*/
>
> -static int __devinit
> +static int
> ohci_at91_reset (struct usb_hcd *hcd)
> {
> struct at91_usbh_data *board = hcd->self.controller->platform_data;
> @@ -236,7 +236,7 @@ ohci_at91_reset (struct usb_hcd *hcd)
> return 0;
> }
>
> -static int __devinit
> +static int
> ohci_at91_start (struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci (hcd);
> @@ -506,7 +506,7 @@ MODULE_DEVICE_TABLE(of, at91_ohci_dt_ids);
>
> static u64 at91_ohci_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit ohci_at91_of_init(struct platform_device *pdev)
> +static int ohci_at91_of_init(struct platform_device *pdev)
> {
> struct device_node *np = pdev->dev.of_node;
> int i, gpio;
> @@ -548,7 +548,7 @@ static int __devinit ohci_at91_of_init(struct platform_device *pdev)
> return 0;
> }
> #else
> -static int __devinit ohci_at91_of_init(struct platform_device *pdev)
> +static int ohci_at91_of_init(struct platform_device *pdev)
> {
> return 0;
> }
> @@ -556,7 +556,7 @@ static int __devinit ohci_at91_of_init(struct platform_device *pdev)
>
> /*-------------------------------------------------------------------------*/
>
> -static int __devinit ohci_hcd_at91_drv_probe(struct platform_device *pdev)
> +static int ohci_hcd_at91_drv_probe(struct platform_device *pdev)
> {
> struct at91_usbh_data *pdata;
> int i;
> diff --git a/drivers/usb/host/ohci-ep93xx.c b/drivers/usb/host/ohci-ep93xx.c
> index a982f04..8704e9fa 100644
> --- a/drivers/usb/host/ohci-ep93xx.c
> +++ b/drivers/usb/host/ohci-ep93xx.c
> @@ -107,7 +107,7 @@ static void usb_hcd_ep93xx_remove(struct usb_hcd *hcd,
> usb_put_hcd(hcd);
> }
>
> -static int __devinit ohci_ep93xx_start(struct usb_hcd *hcd)
> +static int ohci_ep93xx_start(struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> int ret;
> diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c
> index 2f673e8..1288cdb 100644
> --- a/drivers/usb/host/ohci-exynos.c
> +++ b/drivers/usb/host/ohci-exynos.c
> @@ -76,7 +76,7 @@ static const struct hc_driver exynos_ohci_hc_driver = {
>
> static u64 ohci_exynos_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit exynos_ohci_probe(struct platform_device *pdev)
> +static int exynos_ohci_probe(struct platform_device *pdev)
> {
> struct exynos4_ohci_platdata *pdata;
> struct exynos_ohci_hcd *exynos_ohci;
> diff --git a/drivers/usb/host/ohci-jz4740.c b/drivers/usb/host/ohci-jz4740.c
> index b4921b7..59feb87 100644
> --- a/drivers/usb/host/ohci-jz4740.c
> +++ b/drivers/usb/host/ohci-jz4740.c
> @@ -145,7 +145,7 @@ static const struct hc_driver ohci_jz4740_hc_driver = {
> };
>
>
> -static __devinit int jz4740_ohci_probe(struct platform_device *pdev)
> +static int jz4740_ohci_probe(struct platform_device *pdev)
> {
> int ret;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c
> index e068f03..2344040 100644
> --- a/drivers/usb/host/ohci-nxp.c
> +++ b/drivers/usb/host/ohci-nxp.c
> @@ -147,7 +147,7 @@ static void nxp_stop_hc(void)
> __raw_writel(tmp, USB_OTG_STAT_CONTROL);
> }
>
> -static int __devinit ohci_nxp_start(struct usb_hcd *hcd)
> +static int ohci_nxp_start(struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> int ret;
> @@ -205,7 +205,7 @@ static const struct hc_driver ohci_nxp_hc_driver = {
> .start_port_reset = ohci_start_port_reset,
> };
>
> -static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev)
> +static int usb_hcd_nxp_probe(struct platform_device *pdev)
> {
> struct usb_hcd *hcd = 0;
> struct ohci_hcd *ohci;
> diff --git a/drivers/usb/host/ohci-octeon.c b/drivers/usb/host/ohci-octeon.c
> index d469bf9..d44430d 100644
> --- a/drivers/usb/host/ohci-octeon.c
> +++ b/drivers/usb/host/ohci-octeon.c
> @@ -42,7 +42,7 @@ static void ohci_octeon_hw_stop(void)
> octeon2_usb_clocks_stop();
> }
>
> -static int __devinit ohci_octeon_start(struct usb_hcd *hcd)
> +static int ohci_octeon_start(struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> int ret;
> diff --git a/drivers/usb/host/ohci-omap3.c b/drivers/usb/host/ohci-omap3.c
> index 002c812..41382fc 100644
> --- a/drivers/usb/host/ohci-omap3.c
> +++ b/drivers/usb/host/ohci-omap3.c
> @@ -124,7 +124,7 @@ static const struct hc_driver ohci_omap3_hc_driver = {
> * then invokes the start() method for the HCD associated with it
> * through the hotplug entry's driver_data.
> */
> -static int __devinit ohci_hcd_omap3_probe(struct platform_device *pdev)
> +static int ohci_hcd_omap3_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct usb_hcd *hcd = NULL;
> diff --git a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c
> index 6afa7dc..951514e 100644
> --- a/drivers/usb/host/ohci-pci.c
> +++ b/drivers/usb/host/ohci-pci.c
> @@ -270,7 +270,7 @@ static int ohci_pci_reset (struct usb_hcd *hcd)
> }
>
>
> -static int __devinit ohci_pci_start (struct usb_hcd *hcd)
> +static int ohci_pci_start (struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci (hcd);
> int ret;
> diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
> index ffe6c98..c3f76fa 100644
> --- a/drivers/usb/host/ohci-platform.c
> +++ b/drivers/usb/host/ohci-platform.c
> @@ -83,7 +83,7 @@ static const struct hc_driver ohci_platform_hc_driver = {
> .start_port_reset = ohci_start_port_reset,
> };
>
> -static int __devinit ohci_platform_probe(struct platform_device *dev)
> +static int ohci_platform_probe(struct platform_device *dev)
> {
> struct usb_hcd *hcd;
> struct resource *res_mem;
> diff --git a/drivers/usb/host/ohci-ppc-of.c b/drivers/usb/host/ohci-ppc-of.c
> index e27d5ae..64c2ed9f 100644
> --- a/drivers/usb/host/ohci-ppc-of.c
> +++ b/drivers/usb/host/ohci-ppc-of.c
> @@ -19,7 +19,7 @@
> #include <asm/prom.h>
>
>
> -static int __devinit
> +static int
> ohci_ppc_of_start(struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> @@ -81,7 +81,7 @@ static const struct hc_driver ohci_ppc_of_hc_driver = {
> };
>
>
> -static int __devinit ohci_hcd_ppc_of_probe(struct platform_device *op)
> +static int ohci_hcd_ppc_of_probe(struct platform_device *op)
> {
> struct device_node *dn = op->dev.of_node;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ohci-ps3.c b/drivers/usb/host/ohci-ps3.c
> index 2ee1d8d..7d35cd9 100644
> --- a/drivers/usb/host/ohci-ps3.c
> +++ b/drivers/usb/host/ohci-ps3.c
> @@ -30,7 +30,7 @@ static int ps3_ohci_hc_reset(struct usb_hcd *hcd)
> return ohci_init(ohci);
> }
>
> -static int __devinit ps3_ohci_hc_start(struct usb_hcd *hcd)
> +static int ps3_ohci_hc_start(struct usb_hcd *hcd)
> {
> int result;
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> @@ -76,7 +76,7 @@ static const struct hc_driver ps3_ohci_hc_driver = {
> #endif
> };
>
> -static int __devinit ps3_ohci_probe(struct ps3_system_bus_device *dev)
> +static int ps3_ohci_probe(struct ps3_system_bus_device *dev)
> {
> int result;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c
> index 156d289..efe71f3 100644
> --- a/drivers/usb/host/ohci-pxa27x.c
> +++ b/drivers/usb/host/ohci-pxa27x.c
> @@ -284,7 +284,7 @@ MODULE_DEVICE_TABLE(of, pxa_ohci_dt_ids);
>
> static u64 pxa_ohci_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit ohci_pxa_of_init(struct platform_device *pdev)
> +static int ohci_pxa_of_init(struct platform_device *pdev)
> {
> struct device_node *np = pdev->dev.of_node;
> struct pxaohci_platform_data *pdata;
> @@ -330,7 +330,7 @@ static int __devinit ohci_pxa_of_init(struct platform_device *pdev)
> return 0;
> }
> #else
> -static int __devinit ohci_pxa_of_init(struct platform_device *pdev)
> +static int ohci_pxa_of_init(struct platform_device *pdev)
> {
> return 0;
> }
> @@ -471,7 +471,7 @@ void usb_hcd_pxa27x_remove (struct usb_hcd *hcd, struct platform_device *pdev)
>
> /*-------------------------------------------------------------------------*/
>
> -static int __devinit
> +static int
> ohci_pxa27x_start (struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci (hcd);
> diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
> index 5c5c017..4f29e0b 100644
> --- a/drivers/usb/host/ohci-s3c2410.c
> +++ b/drivers/usb/host/ohci-s3c2410.c
> @@ -458,7 +458,7 @@ static const struct hc_driver ohci_s3c2410_hc_driver = {
>
> /* device driver */
>
> -static int __devinit ohci_hcd_s3c2410_drv_probe(struct platform_device *pdev)
> +static int ohci_hcd_s3c2410_drv_probe(struct platform_device *pdev)
> {
> return usb_hcd_s3c2410_probe(&ohci_s3c2410_hc_driver, pdev);
> }
> diff --git a/drivers/usb/host/ohci-sa1111.c b/drivers/usb/host/ohci-sa1111.c
> index b6cc925..17b2a7d 100644
> --- a/drivers/usb/host/ohci-sa1111.c
> +++ b/drivers/usb/host/ohci-sa1111.c
> @@ -63,7 +63,7 @@ static int ohci_sa1111_reset(struct usb_hcd *hcd)
> return ohci_init(ohci);
> }
>
> -static int __devinit ohci_sa1111_start(struct usb_hcd *hcd)
> +static int ohci_sa1111_start(struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> int ret;
> diff --git a/drivers/usb/host/ohci-spear.c b/drivers/usb/host/ohci-spear.c
> index c69725d..b7fc2fc 100644
> --- a/drivers/usb/host/ohci-spear.c
> +++ b/drivers/usb/host/ohci-spear.c
> @@ -33,7 +33,7 @@ static void spear_stop_ohci(struct spear_ohci *ohci)
> clk_disable_unprepare(ohci->clk);
> }
>
> -static int __devinit ohci_spear_start(struct usb_hcd *hcd)
> +static int ohci_spear_start(struct usb_hcd *hcd)
> {
> struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> int ret;
> diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c
> index 94c6c55..5996a3b 100644
> --- a/drivers/usb/host/ohci-tmio.c
> +++ b/drivers/usb/host/ohci-tmio.c
> @@ -184,7 +184,7 @@ static const struct hc_driver ohci_tmio_hc_driver = {
> /*-------------------------------------------------------------------------*/
> static struct platform_driver ohci_hcd_tmio_driver;
>
> -static int __devinit ohci_hcd_tmio_drv_probe(struct platform_device *dev)
> +static int ohci_hcd_tmio_drv_probe(struct platform_device *dev)
> {
> const struct mfd_cell *cell = mfd_get_cell(dev);
> struct resource *regs = platform_get_resource(dev, IORESOURCE_MEM, 0);
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index 39f9e4a..a018e70 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -443,7 +443,7 @@ static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
> #define pio_enabled(dev) io_type_enabled(dev, PCI_COMMAND_IO)
> #define mmio_enabled(dev) io_type_enabled(dev, PCI_COMMAND_MEMORY)
>
> -static void __devinit quirk_usb_handoff_uhci(struct pci_dev *pdev)
> +static void quirk_usb_handoff_uhci(struct pci_dev *pdev)
> {
> unsigned long base = 0;
> int i;
> @@ -461,12 +461,12 @@ static void __devinit quirk_usb_handoff_uhci(struct pci_dev *pdev)
> uhci_check_and_reset_hc(pdev, base);
> }
>
> -static int __devinit mmio_resource_enabled(struct pci_dev *pdev, int idx)
> +static int mmio_resource_enabled(struct pci_dev *pdev, int idx)
> {
> return pci_resource_start(pdev, idx) && mmio_enabled(pdev);
> }
>
> -static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev)
> +static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
> {
> void __iomem *base;
> u32 control;
> @@ -558,7 +558,7 @@ static const struct dmi_system_id __devinitconst ehci_dmi_nohandoff_table[] = {
> { }
> };
>
> -static void __devinit ehci_bios_handoff(struct pci_dev *pdev,
> +static void ehci_bios_handoff(struct pci_dev *pdev,
> void __iomem *op_reg_base,
> u32 cap, u8 offset)
> {
> @@ -626,7 +626,7 @@ static void __devinit ehci_bios_handoff(struct pci_dev *pdev,
> writel(0, op_reg_base + EHCI_CONFIGFLAG);
> }
>
> -static void __devinit quirk_usb_disable_ehci(struct pci_dev *pdev)
> +static void quirk_usb_disable_ehci(struct pci_dev *pdev)
> {
> void __iomem *base, *op_reg_base;
> u32 hcc_params, cap, val;
> @@ -841,7 +841,7 @@ EXPORT_SYMBOL_GPL(usb_disable_xhci_ports);
> * and then waits 5 seconds for the BIOS to hand over control.
> * If we timeout, assume the BIOS is broken and take control anyway.
> */
> -static void __devinit quirk_usb_handoff_xhci(struct pci_dev *pdev)
> +static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> {
> void __iomem *base;
> int ext_cap_offset;
> @@ -941,7 +941,7 @@ hc_init:
> iounmap(base);
> }
>
> -static void __devinit quirk_usb_early_handoff(struct pci_dev *pdev)
> +static void quirk_usb_early_handoff(struct pci_dev *pdev)
> {
> /* Skip Netlogic mips SoC's internal PCI USB controller.
> * This device does not need/support EHCI/OHCI handoff
> diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c
> index 4e0436f..e97dfad 100644
> --- a/drivers/usb/host/r8a66597-hcd.c
> +++ b/drivers/usb/host/r8a66597-hcd.c
> @@ -2405,7 +2405,7 @@ static int __devexit r8a66597_remove(struct platform_device *pdev)
> return 0;
> }
>
> -static int __devinit r8a66597_probe(struct platform_device *pdev)
> +static int r8a66597_probe(struct platform_device *pdev)
> {
> char clk_name[8];
> struct resource *res = NULL, *ires;
> diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
> index 15f20de..782127d 100644
> --- a/drivers/usb/host/sl811-hcd.c
> +++ b/drivers/usb/host/sl811-hcd.c
> @@ -1618,7 +1618,7 @@ sl811h_remove(struct platform_device *dev)
> return 0;
> }
>
> -static int __devinit
> +static int
> sl811h_probe(struct platform_device *dev)
> {
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/ssb-hcd.c b/drivers/usb/host/ssb-hcd.c
> index 4dc9a09..79aa958 100644
> --- a/drivers/usb/host/ssb-hcd.c
> +++ b/drivers/usb/host/ssb-hcd.c
> @@ -39,7 +39,7 @@ struct ssb_hcd_device {
> u32 enable_flags;
> };
>
> -static void __devinit ssb_hcd_5354wa(struct ssb_device *dev)
> +static void ssb_hcd_5354wa(struct ssb_device *dev)
> {
> #ifdef CONFIG_SSB_DRIVER_MIPS
> /* Work around for 5354 failures */
> @@ -53,7 +53,7 @@ static void __devinit ssb_hcd_5354wa(struct ssb_device *dev)
> #endif
> }
>
> -static void __devinit ssb_hcd_usb20wa(struct ssb_device *dev)
> +static void ssb_hcd_usb20wa(struct ssb_device *dev)
> {
> if (dev->id.coreid == SSB_DEV_USB20_HOST) {
> /*
> @@ -80,7 +80,7 @@ static void __devinit ssb_hcd_usb20wa(struct ssb_device *dev)
> }
>
> /* based on arch/mips/brcm-boards/bcm947xx/pcibios.c */
> -static u32 __devinit ssb_hcd_init_chip(struct ssb_device *dev)
> +static u32 ssb_hcd_init_chip(struct ssb_device *dev)
> {
> u32 flags = 0;
>
> @@ -101,8 +101,7 @@ static const struct usb_ehci_pdata ehci_pdata = {
> static const struct usb_ohci_pdata ohci_pdata = {
> };
>
> -static struct platform_device * __devinit
> -ssb_hcd_create_pdev(struct ssb_device *dev, bool ohci, u32 addr, u32 len)
> +static struct platform_device *ssb_hcd_create_pdev(struct ssb_device *dev, bool ohci, u32 addr, u32 len)
> {
> struct platform_device *hci_dev;
> struct resource hci_res[2];
> @@ -148,7 +147,7 @@ err_alloc:
> return ERR_PTR(ret);
> }
>
> -static int __devinit ssb_hcd_probe(struct ssb_device *dev,
> +static int ssb_hcd_probe(struct ssb_device *dev,
> const struct ssb_device_id *id)
> {
> int err, tmp;
> diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
> index 8836898..8bf78e6 100644
> --- a/drivers/usb/host/u132-hcd.c
> +++ b/drivers/usb/host/u132-hcd.c
> @@ -3084,7 +3084,7 @@ static void u132_initialise(struct u132 *u132, struct platform_device *pdev)
> mutex_unlock(&u132->sw_lock);
> }
>
> -static int __devinit u132_probe(struct platform_device *pdev)
> +static int u132_probe(struct platform_device *pdev)
> {
> struct usb_hcd *hcd;
> int retval;
> diff --git a/drivers/usb/host/uhci-grlib.c b/drivers/usb/host/uhci-grlib.c
> index f7a6213..511bfc4 100644
> --- a/drivers/usb/host/uhci-grlib.c
> +++ b/drivers/usb/host/uhci-grlib.c
> @@ -85,7 +85,7 @@ static const struct hc_driver uhci_grlib_hc_driver = {
> };
>
>
> -static int __devinit uhci_hcd_grlib_probe(struct platform_device *op)
> +static int uhci_hcd_grlib_probe(struct platform_device *op)
> {
> struct device_node *dn = op->dev.of_node;
> struct usb_hcd *hcd;
> diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c
> index 68ebf20..8c4dace 100644
> --- a/drivers/usb/host/uhci-platform.c
> +++ b/drivers/usb/host/uhci-platform.c
> @@ -62,7 +62,7 @@ static const struct hc_driver uhci_platform_hc_driver = {
>
> static u64 platform_uhci_dma_mask = DMA_BIT_MASK(32);
>
> -static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev)
> +static int uhci_hcd_platform_probe(struct platform_device *pdev)
> {
> struct usb_hcd *hcd;
> struct uhci_hcd *uhci;
> diff --git a/drivers/usb/musb/am35x.c b/drivers/usb/musb/am35x.c
> index 35d94ac..2363819 100644
> --- a/drivers/usb/musb/am35x.c
> +++ b/drivers/usb/musb/am35x.c
> @@ -454,7 +454,7 @@ static const struct musb_platform_ops am35x_ops = {
>
> static u64 am35x_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit am35x_probe(struct platform_device *pdev)
> +static int am35x_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> diff --git a/drivers/usb/musb/blackfin.c b/drivers/usb/musb/blackfin.c
> index 7e4d60a..12beb0e 100644
> --- a/drivers/usb/musb/blackfin.c
> +++ b/drivers/usb/musb/blackfin.c
> @@ -448,7 +448,7 @@ static const struct musb_platform_ops bfin_ops = {
>
> static u64 bfin_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit bfin_probe(struct platform_device *pdev)
> +static int bfin_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> diff --git a/drivers/usb/musb/cppi_dma.c b/drivers/usb/musb/cppi_dma.c
> index 3a6c2fd..0968dd7 100644
> --- a/drivers/usb/musb/cppi_dma.c
> +++ b/drivers/usb/musb/cppi_dma.c
> @@ -1317,8 +1317,7 @@ irqreturn_t cppi_interrupt(int irq, void *dev_id)
> EXPORT_SYMBOL_GPL(cppi_interrupt);
>
> /* Instantiate a software object representing a DMA controller. */
> -struct dma_controller *__devinit
> -dma_controller_create(struct musb *musb, void __iomem *mregs)
> +struct dma_controller *dma_controller_create(struct musb *musb, void __iomem *mregs)
> {
> struct cppi *controller;
> struct device *dev = musb->controller;
> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> index 51ace9b..c4fb235 100644
> --- a/drivers/usb/musb/da8xx.c
> +++ b/drivers/usb/musb/da8xx.c
> @@ -471,7 +471,7 @@ static const struct musb_platform_ops da8xx_ops = {
>
> static u64 da8xx_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit da8xx_probe(struct platform_device *pdev)
> +static int da8xx_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
> index e01087b..8877c1a 100644
> --- a/drivers/usb/musb/davinci.c
> +++ b/drivers/usb/musb/davinci.c
> @@ -504,7 +504,7 @@ static const struct musb_platform_ops davinci_ops = {
>
> static u64 davinci_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit davinci_probe(struct platform_device *pdev)
> +static int davinci_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> index 69cfa18..f17a3e7 100644
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -1163,7 +1163,7 @@ static struct musb_fifo_cfg __devinitdata mode_5_cfg[] = {
> *
> * returns negative errno or offset for next fifo.
> */
> -static int __devinit
> +static int
> fifo_setup(struct musb *musb, struct musb_hw_ep *hw_ep,
> const struct musb_fifo_cfg *cfg, u16 offset)
> {
> @@ -1238,7 +1238,7 @@ static struct musb_fifo_cfg __devinitdata ep0_cfg = {
> .style = FIFO_RXTX, .maxpacket = 64,
> };
>
> -static int __devinit ep_config_from_table(struct musb *musb)
> +static int ep_config_from_table(struct musb *musb)
> {
> const struct musb_fifo_cfg *cfg;
> unsigned i, n;
> @@ -1329,7 +1329,7 @@ done:
> * ep_config_from_hw - when MUSB_C_DYNFIFO_DEF is false
> * @param musb the controller
> */
> -static int __devinit ep_config_from_hw(struct musb *musb)
> +static int ep_config_from_hw(struct musb *musb)
> {
> u8 epnum = 0;
> struct musb_hw_ep *hw_ep;
> @@ -1376,7 +1376,7 @@ enum { MUSB_CONTROLLER_MHDRC, MUSB_CONTROLLER_HDRC, };
> /* Initialize MUSB (M)HDRC part of the USB hardware subsystem;
> * configure endpoints, or take their config from silicon
> */
> -static int __devinit musb_core_init(u16 musb_type, struct musb *musb)
> +static int musb_core_init(u16 musb_type, struct musb *musb)
> {
> u8 reg;
> char *type;
> @@ -1759,8 +1759,7 @@ static void musb_irq_work(struct work_struct *data)
> * Init support
> */
>
> -static struct musb *__devinit
> -allocate_instance(struct device *dev,
> +static struct musb *allocate_instance(struct device *dev,
> struct musb_hdrc_config *config, void __iomem *mbase)
> {
> struct musb *musb;
> @@ -1835,7 +1834,7 @@ static void musb_free(struct musb *musb)
> * @ctrl: virtual address of controller registers,
> * not yet corrected for platform-specific offsets
> */
> -static int __devinit
> +static int
> musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
> {
> int status;
> @@ -2010,7 +2009,7 @@ fail0:
> /* all implementations (PCI bridge to FPGA, VLYNQ, etc) should just
> * bridge to a platform device; this driver then suffices.
> */
> -static int __devinit musb_probe(struct platform_device *pdev)
> +static int musb_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> int irq = platform_get_irq_byname(pdev, "mc");
> diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c
> index 1d6e8af..4c21679 100644
> --- a/drivers/usb/musb/musb_debugfs.c
> +++ b/drivers/usb/musb/musb_debugfs.c
> @@ -233,7 +233,7 @@ static const struct file_operations musb_test_mode_fops = {
> .release = single_release,
> };
>
> -int __devinit musb_init_debugfs(struct musb *musb)
> +int musb_init_debugfs(struct musb *musb)
> {
> struct dentry *root;
> struct dentry *file;
> diff --git a/drivers/usb/musb/musb_dma.h b/drivers/usb/musb/musb_dma.h
> index 24d3921..1b6b827 100644
> --- a/drivers/usb/musb/musb_dma.h
> +++ b/drivers/usb/musb/musb_dma.h
> @@ -178,8 +178,7 @@ struct dma_controller {
> extern void musb_dma_completion(struct musb *musb, u8 epnum, u8 transmit);
>
>
> -extern struct dma_controller *__devinit
> -dma_controller_create(struct musb *, void __iomem *);
> +extern struct dma_controller *dma_controller_create(struct musb *, void __iomem *);
>
> extern void dma_controller_destroy(struct dma_controller *);
>
> diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
> index 5daea65..faeacd4 100644
> --- a/drivers/usb/musb/musb_dsps.c
> +++ b/drivers/usb/musb/musb_dsps.c
> @@ -478,7 +478,7 @@ static struct musb_platform_ops dsps_ops = {
>
> static u64 musb_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit dsps_create_musb_pdev(struct dsps_glue *glue, u8 id)
> +static int dsps_create_musb_pdev(struct dsps_glue *glue, u8 id)
> {
> struct device *dev = glue->dev;
> struct platform_device *pdev = to_platform_device(dev);
> @@ -591,7 +591,7 @@ err0:
> return ret;
> }
>
> -static int __devinit dsps_probe(struct platform_device *pdev)
> +static int dsps_probe(struct platform_device *pdev)
> {
> struct device_node *np = pdev->dev.of_node;
> const struct of_device_id *match;
> diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
> index 4f23b12..8767874 100644
> --- a/drivers/usb/musb/musb_gadget.c
> +++ b/drivers/usb/musb/musb_gadget.c
> @@ -1787,7 +1787,7 @@ static void musb_gadget_release(struct device *dev)
> }
>
>
> -static void __devinit
> +static void
> init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
> {
> struct musb_hw_ep *hw_ep = musb->endpoints + epnum;
> @@ -1824,7 +1824,7 @@ init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
> * Initialize the endpoints exposed to peripheral drivers, with backlinks
> * to the rest of the driver state.
> */
> -static inline void __devinit musb_g_init_endpoints(struct musb *musb)
> +static inline void musb_g_init_endpoints(struct musb *musb)
> {
> u8 epnum;
> struct musb_hw_ep *hw_ep;
> @@ -1857,7 +1857,7 @@ static inline void __devinit musb_g_init_endpoints(struct musb *musb)
> /* called once during driver setup to initialize and link into
> * the driver model; memory is zeroed.
> */
> -int __devinit musb_gadget_setup(struct musb *musb)
> +int musb_gadget_setup(struct musb *musb)
> {
> int status;
>
> diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c
> index 0fc6ca6..3d1fd52 100644
> --- a/drivers/usb/musb/musbhsdma.c
> +++ b/drivers/usb/musb/musbhsdma.c
> @@ -380,8 +380,7 @@ void dma_controller_destroy(struct dma_controller *c)
> kfree(controller);
> }
>
> -struct dma_controller *__devinit
> -dma_controller_create(struct musb *musb, void __iomem *base)
> +struct dma_controller *dma_controller_create(struct musb *musb, void __iomem *base)
> {
> struct musb_dma_controller *controller;
> struct device *dev = musb->controller;
> diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> index 1150b4b..06850f2 100644
> --- a/drivers/usb/musb/omap2430.c
> +++ b/drivers/usb/musb/omap2430.c
> @@ -490,7 +490,7 @@ static const struct musb_platform_ops omap2430_ops = {
>
> static u64 omap2430_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit omap2430_probe(struct platform_device *pdev)
> +static int omap2430_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct omap_musb_board_data *data;
> diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c
> index b816517..a03b7be 100644
> --- a/drivers/usb/musb/tusb6010.c
> +++ b/drivers/usb/musb/tusb6010.c
> @@ -1153,7 +1153,7 @@ static const struct musb_platform_ops tusb_ops = {
>
> static u64 tusb_dmamask = DMA_BIT_MASK(32);
>
> -static int __devinit tusb_probe(struct platform_device *pdev)
> +static int tusb_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> diff --git a/drivers/usb/musb/tusb6010_omap.c b/drivers/usb/musb/tusb6010_omap.c
> index bfca114..9716850 100644
> --- a/drivers/usb/musb/tusb6010_omap.c
> +++ b/drivers/usb/musb/tusb6010_omap.c
> @@ -668,8 +668,7 @@ void dma_controller_destroy(struct dma_controller *c)
> kfree(tusb_dma);
> }
>
> -struct dma_controller *__devinit
> -dma_controller_create(struct musb *musb, void __iomem *base)
> +struct dma_controller *dma_controller_create(struct musb *musb, void __iomem *base)
> {
> void __iomem *tbase = musb->ctrl_base;
> struct tusb_omap_dma *tusb_dma;
> diff --git a/drivers/usb/musb/ux500.c b/drivers/usb/musb/ux500.c
> index 1d81557..6b12001 100644
> --- a/drivers/usb/musb/ux500.c
> +++ b/drivers/usb/musb/ux500.c
> @@ -81,7 +81,7 @@ static const struct musb_platform_ops ux500_ops = {
> .exit = ux500_musb_exit,
> };
>
> -static int __devinit ux500_probe(struct platform_device *pdev)
> +static int ux500_probe(struct platform_device *pdev)
> {
> struct musb_hdrc_platform_data *pdata = pdev->dev.platform_data;
> struct platform_device *musb;
> diff --git a/drivers/usb/musb/ux500_dma.c b/drivers/usb/musb/ux500_dma.c
> index f1059e7..039e567 100644
> --- a/drivers/usb/musb/ux500_dma.c
> +++ b/drivers/usb/musb/ux500_dma.c
> @@ -364,8 +364,7 @@ void dma_controller_destroy(struct dma_controller *c)
> kfree(controller);
> }
>
> -struct dma_controller *__devinit
> -dma_controller_create(struct musb *musb, void __iomem *base)
> +struct dma_controller *dma_controller_create(struct musb *musb, void __iomem *base)
> {
> struct ux500_dma_controller *controller;
> struct platform_device *pdev = to_platform_device(musb->controller);
> diff --git a/drivers/usb/otg/ab8500-usb.c b/drivers/usb/otg/ab8500-usb.c
> index 62ea0c2..f0ba931 100644
> --- a/drivers/usb/otg/ab8500-usb.c
> +++ b/drivers/usb/otg/ab8500-usb.c
> @@ -468,7 +468,7 @@ static int ab8500_usb_v2_res_setup(struct platform_device *pdev,
> return 0;
> }
>
> -static int __devinit ab8500_usb_probe(struct platform_device *pdev)
> +static int ab8500_usb_probe(struct platform_device *pdev)
> {
> struct ab8500_usb *ab;
> struct usb_otg *otg;
> diff --git a/drivers/usb/otg/fsl_otg.c b/drivers/usb/otg/fsl_otg.c
> index 77dad18..2b9a838 100644
> --- a/drivers/usb/otg/fsl_otg.c
> +++ b/drivers/usb/otg/fsl_otg.c
> @@ -1110,7 +1110,7 @@ static const struct file_operations otg_fops = {
> .release = fsl_otg_release,
> };
>
> -static int __devinit fsl_otg_probe(struct platform_device *pdev)
> +static int fsl_otg_probe(struct platform_device *pdev)
> {
> int ret;
>
> diff --git a/drivers/usb/otg/isp1301_omap.c b/drivers/usb/otg/isp1301_omap.c
> index ceee211..af9cb11 100644
> --- a/drivers/usb/otg/isp1301_omap.c
> +++ b/drivers/usb/otg/isp1301_omap.c
> @@ -1493,7 +1493,7 @@ isp1301_start_hnp(struct usb_otg *otg)
>
> /*-------------------------------------------------------------------------*/
>
> -static int __devinit
> +static int
> isp1301_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
> {
> int status;
> diff --git a/drivers/usb/otg/nop-usb-xceiv.c b/drivers/usb/otg/nop-usb-xceiv.c
> index 0502c24..28f70e2 100644
> --- a/drivers/usb/otg/nop-usb-xceiv.c
> +++ b/drivers/usb/otg/nop-usb-xceiv.c
> @@ -93,7 +93,7 @@ static int nop_set_host(struct usb_otg *otg, struct usb_bus *host)
> return 0;
> }
>
> -static int __devinit nop_usb_xceiv_probe(struct platform_device *pdev)
> +static int nop_usb_xceiv_probe(struct platform_device *pdev)
> {
> struct nop_usb_xceiv_platform_data *pdata = pdev->dev.platform_data;
> struct nop_usb_xceiv *nop;
> diff --git a/drivers/usb/otg/twl4030-usb.c b/drivers/usb/otg/twl4030-usb.c
> index 11b2a12..0a70193 100644
> --- a/drivers/usb/otg/twl4030-usb.c
> +++ b/drivers/usb/otg/twl4030-usb.c
> @@ -575,7 +575,7 @@ static int twl4030_set_host(struct usb_otg *otg, struct usb_bus *host)
> return 0;
> }
>
> -static int __devinit twl4030_usb_probe(struct platform_device *pdev)
> +static int twl4030_usb_probe(struct platform_device *pdev)
> {
> struct twl4030_usb_data *pdata = pdev->dev.platform_data;
> struct twl4030_usb *twl;
> diff --git a/drivers/usb/otg/twl6030-usb.c b/drivers/usb/otg/twl6030-usb.c
> index fcadef7..8cd6cf4 100644
> --- a/drivers/usb/otg/twl6030-usb.c
> +++ b/drivers/usb/otg/twl6030-usb.c
> @@ -310,7 +310,7 @@ static int twl6030_set_vbus(struct phy_companion *comparator, bool enabled)
> return 0;
> }
>
> -static int __devinit twl6030_usb_probe(struct platform_device *pdev)
> +static int twl6030_usb_probe(struct platform_device *pdev)
> {
> u32 ret;
> struct twl6030_usb *twl;
> diff --git a/drivers/usb/phy/mv_u3d_phy.c b/drivers/usb/phy/mv_u3d_phy.c
> index 80cf57e..eaddbe3 100644
> --- a/drivers/usb/phy/mv_u3d_phy.c
> +++ b/drivers/usb/phy/mv_u3d_phy.c
> @@ -262,7 +262,7 @@ calstart:
> return 0;
> }
>
> -static int __devinit mv_u3d_phy_probe(struct platform_device *pdev)
> +static int mv_u3d_phy_probe(struct platform_device *pdev)
> {
> struct mv_u3d_phy *mv_u3d_phy;
> struct mv_usb_platform_data *pdata;
> diff --git a/drivers/usb/phy/omap-usb2.c b/drivers/usb/phy/omap-usb2.c
> index f1ed872..c10fb8b 100644
> --- a/drivers/usb/phy/omap-usb2.c
> +++ b/drivers/usb/phy/omap-usb2.c
> @@ -141,7 +141,7 @@ static int omap_usb2_suspend(struct usb_phy *x, int suspend)
> return 0;
> }
>
> -static int __devinit omap_usb2_probe(struct platform_device *pdev)
> +static int omap_usb2_probe(struct platform_device *pdev)
> {
> struct omap_usb *phy;
> struct usb_otg *otg;
> diff --git a/drivers/usb/phy/rcar-phy.c b/drivers/usb/phy/rcar-phy.c
> index 703a295..84ac2a7 100644
> --- a/drivers/usb/phy/rcar-phy.c
> +++ b/drivers/usb/phy/rcar-phy.c
> @@ -142,7 +142,7 @@ static void rcar_usb_phy_shutdown(struct usb_phy *phy)
> spin_unlock_irqrestore(&priv->lock, flags);
> }
>
> -static int __devinit rcar_usb_phy_probe(struct platform_device *pdev)
> +static int rcar_usb_phy_probe(struct platform_device *pdev)
> {
> struct rcar_usb_phy_priv *priv;
> struct resource *res0, *res1;
>
--
Nicolas Ferre
^ permalink raw reply
* Re: [PATCH 119/493] usb: remove use of __devexit_p
From: Nicolas Ferre @ 2012-11-20 9:29 UTC (permalink / raw)
To: Bill Pemberton
Cc: Kukjin Kim, Wan ZongShun, Alexander Shishkin, gregkh, linux-usb,
Felipe Balbi, linux-samsung-soc, Alan Stern, Ben Dooks,
linux-omap, linuxppc-dev, linux-arm-kernel
In-Reply-To: <1353349642-3677-119-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 07:21 PM, Bill Pemberton :
> CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Peter Korsgaard <jacmet@sunsite.dk>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Felipe Balbi <balbi@ti.com>
> Cc: Li Yang <leoli@freescale.com>
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Wan ZongShun <mcuos.com@gmail.com>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> Cc: linux-usb@vger.kernel.org
> Cc: linux-omap@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-samsung-soc@vger.kernel.org
[..]
> drivers/usb/host/ehci-atmel.c | 2 +-
> drivers/usb/host/ohci-at91.c | 2 +-
For Atmel:
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
[..]
> diff --git a/drivers/usb/c67x00/c67x00-drv.c b/drivers/usb/c67x00/c67x00-drv.c
> index 6f3b6e2..855d538 100644
> --- a/drivers/usb/c67x00/c67x00-drv.c
> +++ b/drivers/usb/c67x00/c67x00-drv.c
> @@ -219,7 +219,7 @@ static int __devexit c67x00_drv_remove(struct platform_device *pdev)
>
> static struct platform_driver c67x00_driver = {
> .probe = c67x00_drv_probe,
> - .remove = __devexit_p(c67x00_drv_remove),
> + .remove = c67x00_drv_remove,
> .driver = {
> .owner = THIS_MODULE,
> .name = "c67x00",
> diff --git a/drivers/usb/chipidea/ci13xxx_imx.c b/drivers/usb/chipidea/ci13xxx_imx.c
> index 0f5ca4b..5659730 100644
> --- a/drivers/usb/chipidea/ci13xxx_imx.c
> +++ b/drivers/usb/chipidea/ci13xxx_imx.c
> @@ -252,7 +252,7 @@ MODULE_DEVICE_TABLE(of, ci13xxx_imx_dt_ids);
>
> static struct platform_driver ci13xxx_imx_driver = {
> .probe = ci13xxx_imx_probe,
> - .remove = __devexit_p(ci13xxx_imx_remove),
> + .remove = ci13xxx_imx_remove,
> .driver = {
> .name = "imx_usb",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/chipidea/ci13xxx_msm.c b/drivers/usb/chipidea/ci13xxx_msm.c
> index b01feb3..406c5af 100644
> --- a/drivers/usb/chipidea/ci13xxx_msm.c
> +++ b/drivers/usb/chipidea/ci13xxx_msm.c
> @@ -89,7 +89,7 @@ static int __devexit ci13xxx_msm_remove(struct platform_device *pdev)
>
> static struct platform_driver ci13xxx_msm_driver = {
> .probe = ci13xxx_msm_probe,
> - .remove = __devexit_p(ci13xxx_msm_remove),
> + .remove = ci13xxx_msm_remove,
> .driver = { .name = "msm_hsusb", },
> };
>
> diff --git a/drivers/usb/chipidea/ci13xxx_pci.c b/drivers/usb/chipidea/ci13xxx_pci.c
> index 918e149..e1cb2fb 100644
> --- a/drivers/usb/chipidea/ci13xxx_pci.c
> +++ b/drivers/usb/chipidea/ci13xxx_pci.c
> @@ -147,7 +147,7 @@ static struct pci_driver ci13xxx_pci_driver = {
> .name = UDC_DRIVER_NAME,
> .id_table = ci13xxx_pci_id_table,
> .probe = ci13xxx_pci_probe,
> - .remove = __devexit_p(ci13xxx_pci_remove),
> + .remove = ci13xxx_pci_remove,
> };
>
> module_pci_driver(ci13xxx_pci_driver);
> diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
> index f69d029..46f23f2 100644
> --- a/drivers/usb/chipidea/core.c
> +++ b/drivers/usb/chipidea/core.c
> @@ -523,7 +523,7 @@ static int __devexit ci_hdrc_remove(struct platform_device *pdev)
>
> static struct platform_driver ci_hdrc_driver = {
> .probe = ci_hdrc_probe,
> - .remove = __devexit_p(ci_hdrc_remove),
> + .remove = ci_hdrc_remove,
> .driver = {
> .name = "ci_hdrc",
> },
> diff --git a/drivers/usb/chipidea/usbmisc_imx6q.c b/drivers/usb/chipidea/usbmisc_imx6q.c
> index 416e3fc..81238a4 100644
> --- a/drivers/usb/chipidea/usbmisc_imx6q.c
> +++ b/drivers/usb/chipidea/usbmisc_imx6q.c
> @@ -136,7 +136,7 @@ static int __devexit usbmisc_imx6q_remove(struct platform_device *pdev)
>
> static struct platform_driver usbmisc_imx6q_driver = {
> .probe = usbmisc_imx6q_probe,
> - .remove = __devexit_p(usbmisc_imx6q_remove),
> + .remove = usbmisc_imx6q_remove,
> .driver = {
> .name = "usbmisc_imx6q",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index e71a62a..1a02442 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -583,7 +583,7 @@ static int __devexit dwc3_remove(struct platform_device *pdev)
>
> static struct platform_driver dwc3_driver = {
> .probe = dwc3_probe,
> - .remove = __devexit_p(dwc3_remove),
> + .remove = dwc3_remove,
> .driver = {
> .name = "dwc3",
> },
> diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c
> index dc35c54..19a9818 100644
> --- a/drivers/usb/dwc3/dwc3-exynos.c
> +++ b/drivers/usb/dwc3/dwc3-exynos.c
> @@ -196,7 +196,7 @@ MODULE_DEVICE_TABLE(of, exynos_dwc3_match);
>
> static struct platform_driver dwc3_exynos_driver = {
> .probe = dwc3_exynos_probe,
> - .remove = __devexit_p(dwc3_exynos_remove),
> + .remove = dwc3_exynos_remove,
> .driver = {
> .name = "exynos-dwc3",
> .of_match_table = of_match_ptr(exynos_dwc3_match),
> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
> index 900d435f..afbc6e9 100644
> --- a/drivers/usb/dwc3/dwc3-omap.c
> +++ b/drivers/usb/dwc3/dwc3-omap.c
> @@ -441,7 +441,7 @@ MODULE_DEVICE_TABLE(of, of_dwc3_matach);
>
> static struct platform_driver dwc3_omap_driver = {
> .probe = dwc3_omap_probe,
> - .remove = __devexit_p(dwc3_omap_remove),
> + .remove = dwc3_omap_remove,
> .driver = {
> .name = "omap-dwc3",
> .of_match_table = of_dwc3_matach,
> diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c
> index 1396259..b3eeec7 100644
> --- a/drivers/usb/dwc3/dwc3-pci.c
> +++ b/drivers/usb/dwc3/dwc3-pci.c
> @@ -218,7 +218,7 @@ static struct pci_driver dwc3_pci_driver = {
> .name = "dwc3-pci",
> .id_table = dwc3_pci_id_table,
> .probe = dwc3_pci_probe,
> - .remove = __devexit_p(dwc3_pci_remove),
> + .remove = dwc3_pci_remove,
> };
>
> MODULE_AUTHOR("Felipe Balbi <balbi@ti.com>");
> diff --git a/drivers/usb/gadget/bcm63xx_udc.c b/drivers/usb/gadget/bcm63xx_udc.c
> index 9ca7922..b44e436 100644
> --- a/drivers/usb/gadget/bcm63xx_udc.c
> +++ b/drivers/usb/gadget/bcm63xx_udc.c
> @@ -2450,7 +2450,7 @@ static int __devexit bcm63xx_udc_remove(struct platform_device *pdev)
>
> static struct platform_driver bcm63xx_udc_driver = {
> .probe = bcm63xx_udc_probe,
> - .remove = __devexit_p(bcm63xx_udc_remove),
> + .remove = bcm63xx_udc_remove,
> .driver = {
> .name = DRV_MODULE_NAME,
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c
> index b09452d..21db1f7 100644
> --- a/drivers/usb/gadget/fsl_qe_udc.c
> +++ b/drivers/usb/gadget/fsl_qe_udc.c
> @@ -2735,7 +2735,7 @@ static struct platform_driver udc_driver = {
> .of_match_table = qe_udc_match,
> },
> .probe = qe_udc_probe,
> - .remove = __devexit_p(qe_udc_remove),
> + .remove = qe_udc_remove,
> #ifdef CONFIG_PM
> .suspend = qe_udc_suspend,
> .resume = qe_udc_resume,
> diff --git a/drivers/usb/gadget/hid.c b/drivers/usb/gadget/hid.c
> index 74130f6..33deed6 100644
> --- a/drivers/usb/gadget/hid.c
> +++ b/drivers/usb/gadget/hid.c
> @@ -229,7 +229,7 @@ static __refdata struct usb_composite_driver hidg_driver = {
> };
>
> static struct platform_driver hidg_plat_driver = {
> - .remove = __devexit_p(hidg_plat_driver_remove),
> + .remove = hidg_plat_driver_remove,
> .driver = {
> .owner = THIS_MODULE,
> .name = "hidg",
> diff --git a/drivers/usb/gadget/lpc32xx_udc.c b/drivers/usb/gadget/lpc32xx_udc.c
> index d1cf1f4..52ad15c 100644
> --- a/drivers/usb/gadget/lpc32xx_udc.c
> +++ b/drivers/usb/gadget/lpc32xx_udc.c
> @@ -3447,7 +3447,7 @@ MODULE_DEVICE_TABLE(of, lpc32xx_udc_of_match);
> #endif
>
> static struct platform_driver lpc32xx_udc_driver = {
> - .remove = __devexit_p(lpc32xx_udc_remove),
> + .remove = lpc32xx_udc_remove,
> .shutdown = lpc32xx_udc_shutdown,
> .suspend = lpc32xx_udc_suspend,
> .resume = lpc32xx_udc_resume,
> diff --git a/drivers/usb/gadget/net2272.c b/drivers/usb/gadget/net2272.c
> index c009263..26c3053 100644
> --- a/drivers/usb/gadget/net2272.c
> +++ b/drivers/usb/gadget/net2272.c
> @@ -2575,7 +2575,7 @@ static struct pci_driver net2272_pci_driver = {
> .id_table = pci_ids,
>
> .probe = net2272_pci_probe,
> - .remove = __devexit_p(net2272_pci_remove),
> + .remove = net2272_pci_remove,
> };
>
> static int net2272_pci_register(void)
> @@ -2678,7 +2678,7 @@ net2272_plat_remove(struct platform_device *pdev)
>
> static struct platform_driver net2272_plat_driver = {
> .probe = net2272_plat_probe,
> - .remove = __devexit_p(net2272_plat_remove),
> + .remove = net2272_plat_remove,
> .driver = {
> .name = driver_name,
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
> index 23afa06..650fa23 100644
> --- a/drivers/usb/gadget/omap_udc.c
> +++ b/drivers/usb/gadget/omap_udc.c
> @@ -3062,7 +3062,7 @@ static int omap_udc_resume(struct platform_device *dev)
>
> static struct platform_driver udc_driver = {
> .probe = omap_udc_probe,
> - .remove = __devexit_p(omap_udc_remove),
> + .remove = omap_udc_remove,
> .suspend = omap_udc_suspend,
> .resume = omap_udc_resume,
> .driver = {
> diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
> index 6f696ee..9fd6e5f 100644
> --- a/drivers/usb/gadget/s3c-hsotg.c
> +++ b/drivers/usb/gadget/s3c-hsotg.c
> @@ -3708,7 +3708,7 @@ static struct platform_driver s3c_hsotg_driver = {
> .owner = THIS_MODULE,
> },
> .probe = s3c_hsotg_probe,
> - .remove = __devexit_p(s3c_hsotg_remove),
> + .remove = s3c_hsotg_remove,
> .suspend = s3c_hsotg_suspend,
> .resume = s3c_hsotg_resume,
> };
> diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c
> index 443da21..f5143a0 100644
> --- a/drivers/usb/host/bcma-hcd.c
> +++ b/drivers/usb/host/bcma-hcd.c
> @@ -316,7 +316,7 @@ static struct bcma_driver bcma_hcd_driver = {
> .name = KBUILD_MODNAME,
> .id_table = bcma_hcd_table,
> .probe = bcma_hcd_probe,
> - .remove = __devexit_p(bcma_hcd_remove),
> + .remove = bcma_hcd_remove,
> .shutdown = bcma_hcd_shutdown,
> .suspend = bcma_hcd_suspend,
> .resume = bcma_hcd_resume,
> diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> index d23321e..33f798e 100644
> --- a/drivers/usb/host/ehci-atmel.c
> +++ b/drivers/usb/host/ehci-atmel.c
> @@ -207,7 +207,7 @@ MODULE_DEVICE_TABLE(of, atmel_ehci_dt_ids);
>
> static struct platform_driver ehci_atmel_driver = {
> .probe = ehci_atmel_drv_probe,
> - .remove = __devexit_p(ehci_atmel_drv_remove),
> + .remove = ehci_atmel_drv_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .driver = {
> .name = "atmel-ehci",
> diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c
> index 7fa1ba4..e0acfd5 100644
> --- a/drivers/usb/host/ehci-msm.c
> +++ b/drivers/usb/host/ehci-msm.c
> @@ -220,7 +220,7 @@ static const struct dev_pm_ops ehci_msm_dev_pm_ops = {
>
> static struct platform_driver ehci_msm_driver = {
> .probe = ehci_msm_probe,
> - .remove = __devexit_p(ehci_msm_remove),
> + .remove = ehci_msm_remove,
> .driver = {
> .name = "msm_hsusb_host",
> .pm = &ehci_msm_dev_pm_ops,
> diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
> index f14c542..b807648 100644
> --- a/drivers/usb/host/ehci-platform.c
> +++ b/drivers/usb/host/ehci-platform.c
> @@ -196,7 +196,7 @@ static const struct dev_pm_ops ehci_platform_pm_ops = {
> static struct platform_driver ehci_platform_driver = {
> .id_table = ehci_platform_table,
> .probe = ehci_platform_probe,
> - .remove = __devexit_p(ehci_platform_remove),
> + .remove = ehci_platform_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .driver = {
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
> index abc178d..f90a881 100644
> --- a/drivers/usb/host/ehci-s5p.c
> +++ b/drivers/usb/host/ehci-s5p.c
> @@ -274,7 +274,7 @@ MODULE_DEVICE_TABLE(of, exynos_ehci_match);
>
> static struct platform_driver s5p_ehci_driver = {
> .probe = s5p_ehci_probe,
> - .remove = __devexit_p(s5p_ehci_remove),
> + .remove = s5p_ehci_remove,
> .shutdown = s5p_ehci_shutdown,
> .driver = {
> .name = "s5p-ehci",
> diff --git a/drivers/usb/host/ehci-w90x900.c b/drivers/usb/host/ehci-w90x900.c
> index fdd7c48..7bcb8b2 100644
> --- a/drivers/usb/host/ehci-w90x900.c
> +++ b/drivers/usb/host/ehci-w90x900.c
> @@ -166,7 +166,7 @@ static int __devexit ehci_w90x900_remove(struct platform_device *pdev)
>
> static struct platform_driver ehci_hcd_w90x900_driver = {
> .probe = ehci_w90x900_probe,
> - .remove = __devexit_p(ehci_w90x900_remove),
> + .remove = ehci_w90x900_remove,
> .driver = {
> .name = "w90x900-ehci",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/host/fhci-hcd.c b/drivers/usb/host/fhci-hcd.c
> index 7da1a26..92f4b99 100644
> --- a/drivers/usb/host/fhci-hcd.c
> +++ b/drivers/usb/host/fhci-hcd.c
> @@ -821,7 +821,7 @@ static struct platform_driver of_fhci_driver = {
> .of_match_table = of_fhci_match,
> },
> .probe = of_fhci_probe,
> - .remove = __devexit_p(of_fhci_remove),
> + .remove = of_fhci_remove,
> };
>
> module_platform_driver(of_fhci_driver);
> diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c
> index 1e77129..3a5c82f 100644
> --- a/drivers/usb/host/fsl-mph-dr-of.c
> +++ b/drivers/usb/host/fsl-mph-dr-of.c
> @@ -336,7 +336,7 @@ static struct platform_driver fsl_usb2_mph_dr_driver = {
> .of_match_table = fsl_usb2_mph_dr_of_match,
> },
> .probe = fsl_usb2_mph_dr_of_probe,
> - .remove = __devexit_p(fsl_usb2_mph_dr_of_remove),
> + .remove = fsl_usb2_mph_dr_of_remove,
> };
>
> module_platform_driver(fsl_usb2_mph_dr_driver);
> diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c
> index 2563263..1ad9d20 100644
> --- a/drivers/usb/host/isp1362-hcd.c
> +++ b/drivers/usb/host/isp1362-hcd.c
> @@ -2856,7 +2856,7 @@ static int isp1362_resume(struct platform_device *pdev)
>
> static struct platform_driver isp1362_driver = {
> .probe = isp1362_probe,
> - .remove = __devexit_p(isp1362_remove),
> + .remove = isp1362_remove,
>
> .suspend = isp1362_suspend,
> .resume = isp1362_resume,
> diff --git a/drivers/usb/host/isp1760-if.c b/drivers/usb/host/isp1760-if.c
> index 958379f..5fb3cae 100644
> --- a/drivers/usb/host/isp1760-if.c
> +++ b/drivers/usb/host/isp1760-if.c
> @@ -432,7 +432,7 @@ static int __devexit isp1760_plat_remove(struct platform_device *pdev)
>
> static struct platform_driver isp1760_plat_driver = {
> .probe = isp1760_plat_probe,
> - .remove = __devexit_p(isp1760_plat_remove),
> + .remove = isp1760_plat_remove,
> .driver = {
> .name = "isp1760",
> },
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index 1c0a042..51de2f9 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -717,7 +717,7 @@ MODULE_ALIAS("platform:at91_ohci");
>
> static struct platform_driver ohci_hcd_at91_driver = {
> .probe = ohci_hcd_at91_drv_probe,
> - .remove = __devexit_p(ohci_hcd_at91_drv_remove),
> + .remove = ohci_hcd_at91_drv_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .suspend = ohci_hcd_at91_drv_suspend,
> .resume = ohci_hcd_at91_drv_resume,
> diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c
> index 6a30fc5..2f673e8 100644
> --- a/drivers/usb/host/ohci-exynos.c
> +++ b/drivers/usb/host/ohci-exynos.c
> @@ -275,7 +275,7 @@ MODULE_DEVICE_TABLE(of, exynos_ohci_match);
>
> static struct platform_driver exynos_ohci_driver = {
> .probe = exynos_ohci_probe,
> - .remove = __devexit_p(exynos_ohci_remove),
> + .remove = exynos_ohci_remove,
> .shutdown = exynos_ohci_shutdown,
> .driver = {
> .name = "exynos-ohci",
> diff --git a/drivers/usb/host/ohci-jz4740.c b/drivers/usb/host/ohci-jz4740.c
> index 931d588..b4921b7 100644
> --- a/drivers/usb/host/ohci-jz4740.c
> +++ b/drivers/usb/host/ohci-jz4740.c
> @@ -266,7 +266,7 @@ static __devexit int jz4740_ohci_remove(struct platform_device *pdev)
>
> static struct platform_driver ohci_hcd_jz4740_driver = {
> .probe = jz4740_ohci_probe,
> - .remove = __devexit_p(jz4740_ohci_remove),
> + .remove = jz4740_ohci_remove,
> .driver = {
> .name = "jz4740-ohci",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/host/ohci-omap3.c b/drivers/usb/host/ohci-omap3.c
> index bd7803d..002c812 100644
> --- a/drivers/usb/host/ohci-omap3.c
> +++ b/drivers/usb/host/ohci-omap3.c
> @@ -231,7 +231,7 @@ static void ohci_hcd_omap3_shutdown(struct platform_device *pdev)
>
> static struct platform_driver ohci_hcd_omap3_driver = {
> .probe = ohci_hcd_omap3_probe,
> - .remove = __devexit_p(ohci_hcd_omap3_remove),
> + .remove = ohci_hcd_omap3_remove,
> .shutdown = ohci_hcd_omap3_shutdown,
> .driver = {
> .name = "ohci-omap3",
> diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
> index bda4e0b..ffe6c98 100644
> --- a/drivers/usb/host/ohci-platform.c
> +++ b/drivers/usb/host/ohci-platform.c
> @@ -214,7 +214,7 @@ static const struct dev_pm_ops ohci_platform_pm_ops = {
> static struct platform_driver ohci_platform_driver = {
> .id_table = ohci_platform_table,
> .probe = ohci_platform_probe,
> - .remove = __devexit_p(ohci_platform_remove),
> + .remove = ohci_platform_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .driver = {
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/host/ohci-s3c2410.c b/drivers/usb/host/ohci-s3c2410.c
> index e84190f..5c5c017 100644
> --- a/drivers/usb/host/ohci-s3c2410.c
> +++ b/drivers/usb/host/ohci-s3c2410.c
> @@ -524,7 +524,7 @@ static const struct dev_pm_ops ohci_hcd_s3c2410_pm_ops = {
>
> static struct platform_driver ohci_hcd_s3c2410_driver = {
> .probe = ohci_hcd_s3c2410_drv_probe,
> - .remove = __devexit_p(ohci_hcd_s3c2410_drv_remove),
> + .remove = ohci_hcd_s3c2410_drv_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .driver = {
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/host/ohci-tmio.c b/drivers/usb/host/ohci-tmio.c
> index 2c9ab8f..94c6c55 100644
> --- a/drivers/usb/host/ohci-tmio.c
> +++ b/drivers/usb/host/ohci-tmio.c
> @@ -363,7 +363,7 @@ static int ohci_hcd_tmio_drv_resume(struct platform_device *dev)
>
> static struct platform_driver ohci_hcd_tmio_driver = {
> .probe = ohci_hcd_tmio_drv_probe,
> - .remove = __devexit_p(ohci_hcd_tmio_drv_remove),
> + .remove = ohci_hcd_tmio_drv_remove,
> .shutdown = usb_hcd_platform_shutdown,
> .suspend = ohci_hcd_tmio_drv_suspend,
> .resume = ohci_hcd_tmio_drv_resume,
> diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c
> index b3eea0b..4e0436f 100644
> --- a/drivers/usb/host/r8a66597-hcd.c
> +++ b/drivers/usb/host/r8a66597-hcd.c
> @@ -2532,7 +2532,7 @@ clean_up:
>
> static struct platform_driver r8a66597_driver = {
> .probe = r8a66597_probe,
> - .remove = __devexit_p(r8a66597_remove),
> + .remove = r8a66597_remove,
> .driver = {
> .name = (char *) hcd_name,
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
> index 619b05f..15f20de 100644
> --- a/drivers/usb/host/sl811-hcd.c
> +++ b/drivers/usb/host/sl811-hcd.c
> @@ -1808,7 +1808,7 @@ sl811h_resume(struct platform_device *dev)
> /* this driver is exported so sl811_cs can depend on it */
> struct platform_driver sl811h_driver = {
> .probe = sl811h_probe,
> - .remove = __devexit_p(sl811h_remove),
> + .remove = sl811h_remove,
>
> .suspend = sl811h_suspend,
> .resume = sl811h_resume,
> diff --git a/drivers/usb/host/ssb-hcd.c b/drivers/usb/host/ssb-hcd.c
> index c2a29fa..4dc9a09 100644
> --- a/drivers/usb/host/ssb-hcd.c
> +++ b/drivers/usb/host/ssb-hcd.c
> @@ -261,7 +261,7 @@ static struct ssb_driver ssb_hcd_driver = {
> .name = KBUILD_MODNAME,
> .id_table = ssb_hcd_table,
> .probe = ssb_hcd_probe,
> - .remove = __devexit_p(ssb_hcd_remove),
> + .remove = ssb_hcd_remove,
> .shutdown = ssb_hcd_shutdown,
> .suspend = ssb_hcd_suspend,
> .resume = ssb_hcd_resume,
> diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c
> index dbbd1ba..8836898 100644
> --- a/drivers/usb/host/u132-hcd.c
> +++ b/drivers/usb/host/u132-hcd.c
> @@ -3212,7 +3212,7 @@ static int u132_resume(struct platform_device *pdev)
> */
> static struct platform_driver u132_platform_driver = {
> .probe = u132_probe,
> - .remove = __devexit_p(u132_remove),
> + .remove = u132_remove,
> .suspend = u132_suspend,
> .resume = u132_resume,
> .driver = {
> diff --git a/drivers/usb/musb/am35x.c b/drivers/usb/musb/am35x.c
> index dfb7b73..35d94ac 100644
> --- a/drivers/usb/musb/am35x.c
> +++ b/drivers/usb/musb/am35x.c
> @@ -628,7 +628,7 @@ static struct dev_pm_ops am35x_pm_ops = {
>
> static struct platform_driver am35x_driver = {
> .probe = am35x_probe,
> - .remove = __devexit_p(am35x_remove),
> + .remove = am35x_remove,
> .driver = {
> .name = "musb-am35x",
> .pm = DEV_PM_OPS,
> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> index 67b8ae7..51ace9b 100644
> --- a/drivers/usb/musb/da8xx.c
> +++ b/drivers/usb/musb/da8xx.c
> @@ -569,7 +569,7 @@ static int __devexit da8xx_remove(struct platform_device *pdev)
>
> static struct platform_driver da8xx_driver = {
> .probe = da8xx_probe,
> - .remove = __devexit_p(da8xx_remove),
> + .remove = da8xx_remove,
> .driver = {
> .name = "musb-da8xx",
> },
> diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
> index b3c0a94..e01087b 100644
> --- a/drivers/usb/musb/davinci.c
> +++ b/drivers/usb/musb/davinci.c
> @@ -601,7 +601,7 @@ static int __devexit davinci_remove(struct platform_device *pdev)
>
> static struct platform_driver davinci_driver = {
> .probe = davinci_probe,
> - .remove = __devexit_p(davinci_remove),
> + .remove = davinci_remove,
> .driver = {
> .name = "musb-davinci",
> },
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> index 774d815..69cfa18 100644
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -2288,7 +2288,7 @@ static struct platform_driver musb_driver = {
> .pm = MUSB_DEV_PM_OPS,
> },
> .probe = musb_probe,
> - .remove = __devexit_p(musb_remove),
> + .remove = musb_remove,
> .shutdown = musb_shutdown,
> };
>
> diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
> index 7185eb0..5daea65 100644
> --- a/drivers/usb/musb/musb_dsps.c
> +++ b/drivers/usb/musb/musb_dsps.c
> @@ -766,7 +766,7 @@ MODULE_DEVICE_TABLE(of, musb_dsps_of_match);
>
> static struct platform_driver dsps_usbss_driver = {
> .probe = dsps_probe,
> - .remove = __devexit_p(dsps_remove),
> + .remove = dsps_remove,
> .driver = {
> .name = "musb-dsps",
> .pm = &dsps_pm_ops,
> diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> index 32f531e..1150b4b 100644
> --- a/drivers/usb/musb/omap2430.c
> +++ b/drivers/usb/musb/omap2430.c
> @@ -674,7 +674,7 @@ MODULE_DEVICE_TABLE(of, omap2430_id_table);
>
> static struct platform_driver omap2430_driver = {
> .probe = omap2430_probe,
> - .remove = __devexit_p(omap2430_remove),
> + .remove = omap2430_remove,
> .driver = {
> .name = "musb-omap2430",
> .pm = DEV_PM_OPS,
> diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c
> index 812719b..b816517 100644
> --- a/drivers/usb/musb/tusb6010.c
> +++ b/drivers/usb/musb/tusb6010.c
> @@ -1227,7 +1227,7 @@ static int __devexit tusb_remove(struct platform_device *pdev)
>
> static struct platform_driver tusb_driver = {
> .probe = tusb_probe,
> - .remove = __devexit_p(tusb_remove),
> + .remove = tusb_remove,
> .driver = {
> .name = "musb-tusb",
> },
> diff --git a/drivers/usb/musb/ux500.c b/drivers/usb/musb/ux500.c
> index 286f1be..1d81557 100644
> --- a/drivers/usb/musb/ux500.c
> +++ b/drivers/usb/musb/ux500.c
> @@ -216,7 +216,7 @@ static const struct dev_pm_ops ux500_pm_ops = {
>
> static struct platform_driver ux500_driver = {
> .probe = ux500_probe,
> - .remove = __devexit_p(ux500_remove),
> + .remove = ux500_remove,
> .driver = {
> .name = "musb-ux500",
> .pm = DEV_PM_OPS,
> diff --git a/drivers/usb/otg/ab8500-usb.c b/drivers/usb/otg/ab8500-usb.c
> index ae8ad56..62ea0c2 100644
> --- a/drivers/usb/otg/ab8500-usb.c
> +++ b/drivers/usb/otg/ab8500-usb.c
> @@ -571,7 +571,7 @@ static int __devexit ab8500_usb_remove(struct platform_device *pdev)
>
> static struct platform_driver ab8500_usb_driver = {
> .probe = ab8500_usb_probe,
> - .remove = __devexit_p(ab8500_usb_remove),
> + .remove = ab8500_usb_remove,
> .driver = {
> .name = "ab8500-usb",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/otg/fsl_otg.c b/drivers/usb/otg/fsl_otg.c
> index c19d1d7..77dad18 100644
> --- a/drivers/usb/otg/fsl_otg.c
> +++ b/drivers/usb/otg/fsl_otg.c
> @@ -1169,7 +1169,7 @@ static int __devexit fsl_otg_remove(struct platform_device *pdev)
>
> struct platform_driver fsl_otg_driver = {
> .probe = fsl_otg_probe,
> - .remove = __devexit_p(fsl_otg_remove),
> + .remove = fsl_otg_remove,
> .driver = {
> .name = driver_name,
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
> index 9f5fc90..eef0dd2 100644
> --- a/drivers/usb/otg/msm_otg.c
> +++ b/drivers/usb/otg/msm_otg.c
> @@ -1746,7 +1746,7 @@ static const struct dev_pm_ops msm_otg_dev_pm_ops = {
> #endif
>
> static struct platform_driver msm_otg_driver = {
> - .remove = __devexit_p(msm_otg_remove),
> + .remove = msm_otg_remove,
> .driver = {
> .name = DRIVER_NAME,
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/otg/mxs-phy.c b/drivers/usb/otg/mxs-phy.c
> index 88db976..825d860 100644
> --- a/drivers/usb/otg/mxs-phy.c
> +++ b/drivers/usb/otg/mxs-phy.c
> @@ -191,7 +191,7 @@ MODULE_DEVICE_TABLE(of, mxs_phy_dt_ids);
>
> static struct platform_driver mxs_phy_driver = {
> .probe = mxs_phy_probe,
> - .remove = __devexit_p(mxs_phy_remove),
> + .remove = mxs_phy_remove,
> .driver = {
> .name = DRIVER_NAME,
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/otg/nop-usb-xceiv.c b/drivers/usb/otg/nop-usb-xceiv.c
> index e52e35e..0502c24 100644
> --- a/drivers/usb/otg/nop-usb-xceiv.c
> +++ b/drivers/usb/otg/nop-usb-xceiv.c
> @@ -156,7 +156,7 @@ static int __devexit nop_usb_xceiv_remove(struct platform_device *pdev)
>
> static struct platform_driver nop_usb_xceiv_driver = {
> .probe = nop_usb_xceiv_probe,
> - .remove = __devexit_p(nop_usb_xceiv_remove),
> + .remove = nop_usb_xceiv_remove,
> .driver = {
> .name = "nop_usb_xceiv",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/phy/mv_u3d_phy.c b/drivers/usb/phy/mv_u3d_phy.c
> index 9f1c5d3..80cf57e 100644
> --- a/drivers/usb/phy/mv_u3d_phy.c
> +++ b/drivers/usb/phy/mv_u3d_phy.c
> @@ -331,7 +331,7 @@ static int __exit mv_u3d_phy_remove(struct platform_device *pdev)
>
> static struct platform_driver mv_u3d_phy_driver = {
> .probe = mv_u3d_phy_probe,
> - .remove = __devexit_p(mv_u3d_phy_remove),
> + .remove = mv_u3d_phy_remove,
> .driver = {
> .name = "mv-u3d-phy",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/phy/omap-usb2.c b/drivers/usb/phy/omap-usb2.c
> index 15ab3d6..f1ed872 100644
> --- a/drivers/usb/phy/omap-usb2.c
> +++ b/drivers/usb/phy/omap-usb2.c
> @@ -254,7 +254,7 @@ MODULE_DEVICE_TABLE(of, omap_usb2_id_table);
>
> static struct platform_driver omap_usb2_driver = {
> .probe = omap_usb2_probe,
> - .remove = __devexit_p(omap_usb2_remove),
> + .remove = omap_usb2_remove,
> .driver = {
> .name = "omap-usb2",
> .owner = THIS_MODULE,
> diff --git a/drivers/usb/phy/rcar-phy.c b/drivers/usb/phy/rcar-phy.c
> index 792f505..703a295 100644
> --- a/drivers/usb/phy/rcar-phy.c
> +++ b/drivers/usb/phy/rcar-phy.c
> @@ -210,7 +210,7 @@ static struct platform_driver rcar_usb_phy_driver = {
> .name = "rcar_usb_phy",
> },
> .probe = rcar_usb_phy_probe,
> - .remove = __devexit_p(rcar_usb_phy_remove),
> + .remove = rcar_usb_phy_remove,
> };
>
> module_platform_driver(rcar_usb_phy_driver);
> diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
> index 3bf922ab..2aa7c1a 100644
> --- a/drivers/usb/renesas_usbhs/common.c
> +++ b/drivers/usb/renesas_usbhs/common.c
> @@ -636,7 +636,7 @@ static struct platform_driver renesas_usbhs_driver = {
> .pm = &usbhsc_pm_ops,
> },
> .probe = usbhs_probe,
> - .remove = __devexit_p(usbhs_remove),
> + .remove = usbhs_remove,
> };
>
> module_platform_driver(renesas_usbhs_driver);
>
--
Nicolas Ferre
^ permalink raw reply
* Re: [PATCH 161/493] tty: remove use of __devinit
From: Nicolas Ferre @ 2012-11-20 9:34 UTC (permalink / raw)
To: Bill Pemberton
Cc: nios2-dev, linux-ia64, Jiri Slaby, gregkh, linux-serial,
Lucas Tavares, sparclinux, Tobias Klauser, linuxppc-dev,
David S. Miller, linux-arm-kernel, Alan Cox
In-Reply-To: <1353349642-3677-161-git-send-email-wfp5p@virginia.edu>
On 11/19/2012 07:21 PM, Bill Pemberton :
> CONFIG_HOTPLUG is going away as an option so __devinit is no longer
> needed.
>
> Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
> Cc: Jiri Slaby <jirislaby@gmail.com>
> Cc: Alan Cox <alan@linux.intel.com>
> Cc: Tobias Klauser <tklauser@distanz.ch>
> Cc: Lucas Tavares <lucaskt@linux.vnet.ibm.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Peter Korsgaard <jacmet@sunsite.dk>
> Cc: Tony Prisk <linux@prisktech.co.nz>
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-serial@vger.kernel.org
> Cc: nios2-dev@sopc.et.ntust.edu.tw
> Cc: linux-ia64@vger.kernel.org
> Cc: sparclinux@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> drivers/tty/serial/atmel_serial.c | 6 +++---
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> diff --git a/drivers/tty/cyclades.c b/drivers/tty/cyclades.c
> index 0244acf..444b544 100644
> --- a/drivers/tty/cyclades.c
> +++ b/drivers/tty/cyclades.c
> @@ -3099,7 +3099,7 @@ static const struct tty_port_operations cyz_port_ops = {
> * ---------------------------------------------------------------------
> */
>
> -static int __devinit cy_init_card(struct cyclades_card *cinfo)
> +static int cy_init_card(struct cyclades_card *cinfo)
> {
> struct cyclades_port *info;
> unsigned int channel, port;
> @@ -3196,7 +3196,7 @@ static int __devinit cy_init_card(struct cyclades_card *cinfo)
>
> /* initialize chips on Cyclom-Y card -- return number of valid
> chips (which is number of ports/4) */
> -static unsigned short __devinit cyy_init_card(void __iomem *true_base_addr,
> +static unsigned short cyy_init_card(void __iomem *true_base_addr,
> int index)
> {
> unsigned int chip_number;
> @@ -3405,7 +3405,7 @@ static int __init cy_detect_isa(void)
> } /* cy_detect_isa */
>
> #ifdef CONFIG_PCI
> -static inline int __devinit cyc_isfwstr(const char *str, unsigned int size)
> +static inline int cyc_isfwstr(const char *str, unsigned int size)
> {
> unsigned int a;
>
> @@ -3420,7 +3420,7 @@ static inline int __devinit cyc_isfwstr(const char *str, unsigned int size)
> return 0;
> }
>
> -static inline void __devinit cyz_fpga_copy(void __iomem *fpga, const u8 *data,
> +static inline void cyz_fpga_copy(void __iomem *fpga, const u8 *data,
> unsigned int size)
> {
> for (; size > 0; size--) {
> @@ -3429,7 +3429,7 @@ static inline void __devinit cyz_fpga_copy(void __iomem *fpga, const u8 *data,
> }
> }
>
> -static void __devinit plx_init(struct pci_dev *pdev, int irq,
> +static void plx_init(struct pci_dev *pdev, int irq,
> struct RUNTIME_9060 __iomem *addr)
> {
> /* Reset PLX */
> @@ -3449,7 +3449,7 @@ static void __devinit plx_init(struct pci_dev *pdev, int irq,
> pci_write_config_byte(pdev, PCI_INTERRUPT_LINE, irq);
> }
>
> -static int __devinit __cyz_load_fw(const struct firmware *fw,
> +static int __cyz_load_fw(const struct firmware *fw,
> const char *name, const u32 mailbox, void __iomem *base,
> void __iomem *fpga)
> {
> @@ -3526,7 +3526,7 @@ static int __devinit __cyz_load_fw(const struct firmware *fw,
> return 0;
> }
>
> -static int __devinit cyz_load_fw(struct pci_dev *pdev, void __iomem *base_addr,
> +static int cyz_load_fw(struct pci_dev *pdev, void __iomem *base_addr,
> struct RUNTIME_9060 __iomem *ctl_addr, int irq)
> {
> const struct firmware *fw;
> @@ -3692,7 +3692,7 @@ err:
> return retval;
> }
>
> -static int __devinit cy_pci_probe(struct pci_dev *pdev,
> +static int cy_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *ent)
> {
> struct cyclades_card *card;
> diff --git a/drivers/tty/ehv_bytechan.c b/drivers/tty/ehv_bytechan.c
> index 4ab936b..65d4320 100644
> --- a/drivers/tty/ehv_bytechan.c
> +++ b/drivers/tty/ehv_bytechan.c
> @@ -699,7 +699,7 @@ static const struct tty_port_operations ehv_bc_tty_port_ops = {
> .shutdown = ehv_bc_tty_port_shutdown,
> };
>
> -static int __devinit ehv_bc_tty_probe(struct platform_device *pdev)
> +static int ehv_bc_tty_probe(struct platform_device *pdev)
> {
> struct device_node *np = pdev->dev.of_node;
> struct ehv_bc_data *bc;
> diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
> index f39337f..5ddd6f5 100644
> --- a/drivers/tty/hvc/hvc_opal.c
> +++ b/drivers/tty/hvc/hvc_opal.c
> @@ -161,7 +161,7 @@ static const struct hv_ops hvc_opal_hvsi_ops = {
> .tiocmset = hvc_opal_hvsi_tiocmset,
> };
>
> -static int __devinit hvc_opal_probe(struct platform_device *dev)
> +static int hvc_opal_probe(struct platform_device *dev)
> {
> const struct hv_ops *ops;
> struct hvc_struct *hp;
> diff --git a/drivers/tty/hvc/hvc_vio.c b/drivers/tty/hvc/hvc_vio.c
> index 1a5894c..f7333e3 100644
> --- a/drivers/tty/hvc/hvc_vio.c
> +++ b/drivers/tty/hvc/hvc_vio.c
> @@ -293,7 +293,7 @@ static int udbg_hvc_getc(void)
> }
> }
>
> -static int __devinit hvc_vio_probe(struct vio_dev *vdev,
> +static int hvc_vio_probe(struct vio_dev *vdev,
> const struct vio_device_id *id)
> {
> const struct hv_ops *ops;
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index f4abfe2..19843ec 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -422,7 +422,7 @@ static int xencons_connect_backend(struct xenbus_device *dev,
> return ret;
> }
>
> -static int __devinit xencons_probe(struct xenbus_device *dev,
> +static int xencons_probe(struct xenbus_device *dev,
> const struct xenbus_device_id *id)
> {
> int ret, devid;
> diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c
> index 888af58..506a28e 100644
> --- a/drivers/tty/hvc/hvcs.c
> +++ b/drivers/tty/hvc/hvcs.c
> @@ -330,12 +330,12 @@ static int hvcs_open(struct tty_struct *tty, struct file *filp);
> static void hvcs_close(struct tty_struct *tty, struct file *filp);
> static void hvcs_hangup(struct tty_struct * tty);
>
> -static int __devinit hvcs_probe(struct vio_dev *dev,
> +static int hvcs_probe(struct vio_dev *dev,
> const struct vio_device_id *id);
> static int __devexit hvcs_remove(struct vio_dev *dev);
> static int __init hvcs_module_init(void);
> static void __exit hvcs_module_exit(void);
> -static int __devinit hvcs_initialize(void);
> +static int hvcs_initialize(void);
>
> #define HVCS_SCHED_READ 0x00000001
> #define HVCS_QUICK_READ 0x00000002
> @@ -756,7 +756,7 @@ static int hvcs_get_index(void)
> return -1;
> }
>
> -static int __devinit hvcs_probe(
> +static int hvcs_probe(
> struct vio_dev *dev,
> const struct vio_device_id *id)
> {
> @@ -1478,7 +1478,7 @@ static void hvcs_free_index_list(void)
> hvcs_index_count = 0;
> }
>
> -static int __devinit hvcs_initialize(void)
> +static int hvcs_initialize(void)
> {
> int rc, num_ttys_to_alloc;
>
> diff --git a/drivers/tty/isicom.c b/drivers/tty/isicom.c
> index 4775747..d1c1fef 100644
> --- a/drivers/tty/isicom.c
> +++ b/drivers/tty/isicom.c
> @@ -1307,7 +1307,7 @@ static const struct tty_port_operations isicom_port_ops = {
> .shutdown = isicom_shutdown,
> };
>
> -static int __devinit reset_card(struct pci_dev *pdev,
> +static int reset_card(struct pci_dev *pdev,
> const unsigned int card, unsigned int *signature)
> {
> struct isi_board *board = pci_get_drvdata(pdev);
> @@ -1368,7 +1368,7 @@ end:
> return retval;
> }
>
> -static int __devinit load_firmware(struct pci_dev *pdev,
> +static int load_firmware(struct pci_dev *pdev,
> const unsigned int index, const unsigned int signature)
> {
> struct isi_board *board = pci_get_drvdata(pdev);
> @@ -1548,7 +1548,7 @@ end:
> */
> static unsigned int card_count;
>
> -static int __devinit isicom_probe(struct pci_dev *pdev,
> +static int isicom_probe(struct pci_dev *pdev,
> const struct pci_device_id *ent)
> {
> unsigned int uninitialized_var(signature), index;
> diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
> index c2d0cc3..0998773 100644
> --- a/drivers/tty/moxa.c
> +++ b/drivers/tty/moxa.c
> @@ -941,7 +941,7 @@ static void moxa_board_deinit(struct moxa_board_conf *brd)
> }
>
> #ifdef CONFIG_PCI
> -static int __devinit moxa_pci_probe(struct pci_dev *pdev,
> +static int moxa_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *ent)
> {
> struct moxa_board_conf *board;
> diff --git a/drivers/tty/mxser.c b/drivers/tty/mxser.c
> index f026797..9de9753 100644
> --- a/drivers/tty/mxser.c
> +++ b/drivers/tty/mxser.c
> @@ -487,7 +487,7 @@ static void mxser_disable_must_rx_software_flow_control(unsigned long baseio)
> }
>
> #ifdef CONFIG_PCI
> -static int __devinit CheckIsMoxaMust(unsigned long io)
> +static int CheckIsMoxaMust(unsigned long io)
> {
> u8 oldmcr, hwid;
> int i;
> @@ -2369,7 +2369,7 @@ static void mxser_release_ISA_res(struct mxser_board *brd)
> mxser_release_vector(brd);
> }
>
> -static int __devinit mxser_initbrd(struct mxser_board *brd,
> +static int mxser_initbrd(struct mxser_board *brd,
> struct pci_dev *pdev)
> {
> struct mxser_port *info;
> @@ -2534,7 +2534,7 @@ err_irqconflict:
> return -EIO;
> }
>
> -static int __devinit mxser_probe(struct pci_dev *pdev,
> +static int mxser_probe(struct pci_dev *pdev,
> const struct pci_device_id *ent)
> {
> #ifdef CONFIG_PCI
> diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c
> index dc0213e..645f54a 100644
> --- a/drivers/tty/nozomi.c
> +++ b/drivers/tty/nozomi.c
> @@ -1360,7 +1360,7 @@ static void remove_sysfs_files(struct nozomi *dc)
> }
>
> /* Allocate memory for one device */
> -static int __devinit nozomi_card_init(struct pci_dev *pdev,
> +static int nozomi_card_init(struct pci_dev *pdev,
> const struct pci_device_id *ent)
> {
> resource_size_t start;
> diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c
> index 870c5f2..40ba8cc 100644
> --- a/drivers/tty/serial/8250/8250.c
> +++ b/drivers/tty/serial/8250/8250.c
> @@ -2989,7 +2989,7 @@ void serial8250_resume_port(int line)
> * list is terminated with a zero flags entry, which means we expect
> * all entries to have at least UPF_BOOT_AUTOCONF set.
> */
> -static int __devinit serial8250_probe(struct platform_device *dev)
> +static int serial8250_probe(struct platform_device *dev)
> {
> struct plat_serial8250_port *p = dev->dev.platform_data;
> struct uart_8250_port uart;
> diff --git a/drivers/tty/serial/8250/8250_acorn.c b/drivers/tty/serial/8250/8250_acorn.c
> index b5e4b49..ed095eb 100644
> --- a/drivers/tty/serial/8250/8250_acorn.c
> +++ b/drivers/tty/serial/8250/8250_acorn.c
> @@ -38,7 +38,7 @@ struct serial_card_info {
> void __iomem *vaddr;
> };
>
> -static int __devinit
> +static int
> serial_card_probe(struct expansion_card *ec, const struct ecard_id *id)
> {
> struct serial_card_info *info;
> diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
> index 2db80d0..7664750 100644
> --- a/drivers/tty/serial/8250/8250_dw.c
> +++ b/drivers/tty/serial/8250/8250_dw.c
> @@ -87,7 +87,7 @@ static int dw8250_handle_irq(struct uart_port *p)
> return 0;
> }
>
> -static int __devinit dw8250_probe(struct platform_device *pdev)
> +static int dw8250_probe(struct platform_device *pdev)
> {
> struct uart_8250_port uart = {};
> struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> diff --git a/drivers/tty/serial/8250/8250_em.c b/drivers/tty/serial/8250/8250_em.c
> index 80c0a62..f59bff5 100644
> --- a/drivers/tty/serial/8250/8250_em.c
> +++ b/drivers/tty/serial/8250/8250_em.c
> @@ -89,7 +89,7 @@ static void serial8250_em_serial_dl_write(struct uart_8250_port *up, int value)
> serial_out(up, UART_DLM_EM, value >> 8 & 0xff);
> }
>
> -static int __devinit serial8250_em_probe(struct platform_device *pdev)
> +static int serial8250_em_probe(struct platform_device *pdev)
> {
> struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> diff --git a/drivers/tty/serial/8250/8250_hp300.c b/drivers/tty/serial/8250/8250_hp300.c
> index 89e8855..2b94505 100644
> --- a/drivers/tty/serial/8250/8250_hp300.c
> +++ b/drivers/tty/serial/8250/8250_hp300.c
> @@ -36,7 +36,7 @@ static struct hp300_port *hp300_ports;
>
> #ifdef CONFIG_HPDCA
>
> -static int __devinit hpdca_init_one(struct dio_dev *d,
> +static int hpdca_init_one(struct dio_dev *d,
> const struct dio_device_id *ent);
> static void __devexit hpdca_remove_one(struct dio_dev *d);
>
> @@ -159,7 +159,7 @@ int __init hp300_setup_serial_console(void)
> #endif /* CONFIG_SERIAL_8250_CONSOLE */
>
> #ifdef CONFIG_HPDCA
> -static int __devinit hpdca_init_one(struct dio_dev *d,
> +static int hpdca_init_one(struct dio_dev *d,
> const struct dio_device_id *ent)
> {
> struct uart_8250_port uart;
> diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
> index c049cfa..a5acb57 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -2691,7 +2691,7 @@ static const struct pci_device_id blacklist[] = {
> * guess what the configuration might be, based on the pitiful PCI
> * serial specs. Returns 0 on success, 1 on failure.
> */
> -static int __devinit
> +static int
> serial_pci_guess_board(struct pci_dev *dev, struct pciserial_board *board)
> {
> const struct pci_device_id *bldev;
> @@ -2917,7 +2917,7 @@ EXPORT_SYMBOL_GPL(pciserial_resume_ports);
> * Probe one serial board. Unfortunately, there is no rhyme nor reason
> * to the arrangement of serial ports on a PCI card.
> */
> -static int __devinit
> +static int
> pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
> {
> struct pci_serial_quirk *quirk;
> diff --git a/drivers/tty/serial/8250/8250_pnp.c b/drivers/tty/serial/8250/8250_pnp.c
> index e566220..2b8a6ac 100644
> --- a/drivers/tty/serial/8250/8250_pnp.c
> +++ b/drivers/tty/serial/8250/8250_pnp.c
> @@ -377,7 +377,7 @@ static char *modem_names[] __devinitdata = {
> "33600", "28800", "14400", "V.90", "V.34", "V.32", NULL
> };
>
> -static int __devinit check_name(char *name)
> +static int check_name(char *name)
> {
> char **tmp;
>
> @@ -388,7 +388,7 @@ static int __devinit check_name(char *name)
> return 0;
> }
>
> -static int __devinit check_resources(struct pnp_dev *dev)
> +static int check_resources(struct pnp_dev *dev)
> {
> resource_size_t base[] = {0x2f8, 0x3f8, 0x2e8, 0x3e8};
> int i;
> @@ -412,7 +412,7 @@ static int __devinit check_resources(struct pnp_dev *dev)
> * PnP modems, alternatively we must hardcode all modems in pnp_devices[]
> * table.
> */
> -static int __devinit serial_pnp_guess_board(struct pnp_dev *dev)
> +static int serial_pnp_guess_board(struct pnp_dev *dev)
> {
> if (!(check_name(pnp_dev_name(dev)) ||
> (dev->card && check_name(dev->card->name))))
> @@ -424,7 +424,7 @@ static int __devinit serial_pnp_guess_board(struct pnp_dev *dev)
> return -ENODEV;
> }
>
> -static int __devinit
> +static int
> serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
> {
> struct uart_8250_port uart;
> diff --git a/drivers/tty/serial/altera_jtaguart.c b/drivers/tty/serial/altera_jtaguart.c
> index ef16b0a..ef5c705 100644
> --- a/drivers/tty/serial/altera_jtaguart.c
> +++ b/drivers/tty/serial/altera_jtaguart.c
> @@ -406,7 +406,7 @@ static struct uart_driver altera_jtaguart_driver = {
> .cons = ALTERA_JTAGUART_CONSOLE,
> };
>
> -static int __devinit altera_jtaguart_probe(struct platform_device *pdev)
> +static int altera_jtaguart_probe(struct platform_device *pdev)
> {
> struct altera_jtaguart_platform_uart *platp = pdev->dev.platform_data;
> struct uart_port *port;
> diff --git a/drivers/tty/serial/altera_uart.c b/drivers/tty/serial/altera_uart.c
> index 117ea2c..066b503 100644
> --- a/drivers/tty/serial/altera_uart.c
> +++ b/drivers/tty/serial/altera_uart.c
> @@ -532,7 +532,7 @@ static int altera_uart_get_of_uartclk(struct platform_device *pdev,
> }
> #endif /* CONFIG_OF */
>
> -static int __devinit altera_uart_probe(struct platform_device *pdev)
> +static int altera_uart_probe(struct platform_device *pdev)
> {
> struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
> struct uart_port *port;
> diff --git a/drivers/tty/serial/apbuart.c b/drivers/tty/serial/apbuart.c
> index 7162f70..59ae2b5 100644
> --- a/drivers/tty/serial/apbuart.c
> +++ b/drivers/tty/serial/apbuart.c
> @@ -554,7 +554,7 @@ static struct uart_driver grlib_apbuart_driver = {
> /* OF Platform Driver */
> /* ======================================================================== */
>
> -static int __devinit apbuart_probe(struct platform_device *op)
> +static int apbuart_probe(struct platform_device *op)
> {
> int i;
> struct uart_port *port = NULL;
> diff --git a/drivers/tty/serial/ar933x_uart.c b/drivers/tty/serial/ar933x_uart.c
> index 33122f9..fab0a91 100644
> --- a/drivers/tty/serial/ar933x_uart.c
> +++ b/drivers/tty/serial/ar933x_uart.c
> @@ -554,7 +554,7 @@ static struct uart_driver ar933x_uart_driver = {
> .cons = AR933X_SERIAL_CONSOLE,
> };
>
> -static int __devinit ar933x_uart_probe(struct platform_device *pdev)
> +static int ar933x_uart_probe(struct platform_device *pdev)
> {
> struct ar933x_uart_platform_data *pdata;
> struct ar933x_uart_port *up;
> diff --git a/drivers/tty/serial/arc_uart.c b/drivers/tty/serial/arc_uart.c
> index d652569..158d798 100644
> --- a/drivers/tty/serial/arc_uart.c
> +++ b/drivers/tty/serial/arc_uart.c
> @@ -525,7 +525,7 @@ static struct uart_ops arc_serial_pops = {
> #endif
> };
>
> -static int __devinit
> +static int
> arc_uart_init_one(struct platform_device *pdev, struct arc_uart_port *uart)
> {
> struct resource *res, *res2;
> @@ -577,7 +577,7 @@ arc_uart_init_one(struct platform_device *pdev, struct arc_uart_port *uart)
>
> #ifdef CONFIG_SERIAL_ARC_CONSOLE
>
> -static int __devinit arc_serial_console_setup(struct console *co, char *options)
> +static int arc_serial_console_setup(struct console *co, char *options)
> {
> struct uart_port *port;
> int baud = 115200;
> @@ -655,7 +655,7 @@ static struct __initdata console arc_early_serial_console = {
> .index = -1
> };
>
> -static int __devinit arc_serial_probe_earlyprintk(struct platform_device *pdev)
> +static int arc_serial_probe_earlyprintk(struct platform_device *pdev)
> {
> arc_early_serial_console.index = pdev->id;
>
> @@ -667,13 +667,13 @@ static int __devinit arc_serial_probe_earlyprintk(struct platform_device *pdev)
> return 0;
> }
> #else
> -static int __devinit arc_serial_probe_earlyprintk(struct platform_device *pdev)
> +static int arc_serial_probe_earlyprintk(struct platform_device *pdev)
> {
> return -ENODEV;
> }
> #endif /* CONFIG_SERIAL_ARC_CONSOLE */
>
> -static int __devinit arc_serial_probe(struct platform_device *pdev)
> +static int arc_serial_probe(struct platform_device *pdev)
> {
> struct arc_uart_port *uart;
> int rc;
> diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
> index 7f91d08..c1f6c0b 100644
> --- a/drivers/tty/serial/atmel_serial.c
> +++ b/drivers/tty/serial/atmel_serial.c
> @@ -1424,7 +1424,7 @@ static struct uart_ops atmel_pops = {
> #endif
> };
>
> -static void __devinit atmel_of_init_port(struct atmel_uart_port *atmel_port,
> +static void atmel_of_init_port(struct atmel_uart_port *atmel_port,
> struct device_node *np)
> {
> u32 rs485_delay[2];
> @@ -1459,7 +1459,7 @@ static void __devinit atmel_of_init_port(struct atmel_uart_port *atmel_port,
> /*
> * Configure the port from the platform device resource info.
> */
> -static void __devinit atmel_init_port(struct atmel_uart_port *atmel_port,
> +static void atmel_init_port(struct atmel_uart_port *atmel_port,
> struct platform_device *pdev)
> {
> struct uart_port *port = &atmel_port->uart;
> @@ -1767,7 +1767,7 @@ static int atmel_serial_resume(struct platform_device *pdev)
> #define atmel_serial_resume NULL
> #endif
>
> -static int __devinit atmel_serial_probe(struct platform_device *pdev)
> +static int atmel_serial_probe(struct platform_device *pdev)
> {
> struct atmel_uart_port *port;
> struct device_node *np = pdev->dev.of_node;
> diff --git a/drivers/tty/serial/bcm63xx_uart.c b/drivers/tty/serial/bcm63xx_uart.c
> index 7f631d4..e54d170 100644
> --- a/drivers/tty/serial/bcm63xx_uart.c
> +++ b/drivers/tty/serial/bcm63xx_uart.c
> @@ -801,7 +801,7 @@ static struct uart_driver bcm_uart_driver = {
> /*
> * platform driver probe/remove callback
> */
> -static int __devinit bcm_uart_probe(struct platform_device *pdev)
> +static int bcm_uart_probe(struct platform_device *pdev)
> {
> struct resource *res_mem, *res_irq;
> struct uart_port *port;
> diff --git a/drivers/tty/serial/bfin_sport_uart.c b/drivers/tty/serial/bfin_sport_uart.c
> index b4a18c7..a47e00b 100644
> --- a/drivers/tty/serial/bfin_sport_uart.c
> +++ b/drivers/tty/serial/bfin_sport_uart.c
> @@ -740,7 +740,7 @@ static struct dev_pm_ops bfin_sport_uart_dev_pm_ops = {
> };
> #endif
>
> -static int __devinit sport_uart_probe(struct platform_device *pdev)
> +static int sport_uart_probe(struct platform_device *pdev)
> {
> struct resource *res;
> struct sport_uart_port *sport;
> diff --git a/drivers/tty/serial/clps711x.c b/drivers/tty/serial/clps711x.c
> index d631ef5..006d283 100644
> --- a/drivers/tty/serial/clps711x.c
> +++ b/drivers/tty/serial/clps711x.c
> @@ -429,7 +429,7 @@ static int uart_clps711x_console_setup(struct console *co, char *options)
> }
> #endif
>
> -static int __devinit uart_clps711x_probe(struct platform_device *pdev)
> +static int uart_clps711x_probe(struct platform_device *pdev)
> {
> struct clps711x_port *s;
> int ret, i;
> diff --git a/drivers/tty/serial/cpm_uart/cpm_uart_core.c b/drivers/tty/serial/cpm_uart/cpm_uart_core.c
> index d0dd919..de3f0f6 100644
> --- a/drivers/tty/serial/cpm_uart/cpm_uart_core.c
> +++ b/drivers/tty/serial/cpm_uart/cpm_uart_core.c
> @@ -1373,7 +1373,7 @@ static struct uart_driver cpm_reg = {
>
> static int probe_index;
>
> -static int __devinit cpm_uart_probe(struct platform_device *ofdev)
> +static int cpm_uart_probe(struct platform_device *ofdev)
> {
> int index = probe_index++;
> struct uart_cpm_port *pinfo = &cpm_uart_ports[index];
> diff --git a/drivers/tty/serial/efm32-uart.c b/drivers/tty/serial/efm32-uart.c
> index 1e8bacf..833c33a 100644
> --- a/drivers/tty/serial/efm32-uart.c
> +++ b/drivers/tty/serial/efm32-uart.c
> @@ -690,7 +690,7 @@ static int efm32_uart_probe_dt(struct platform_device *pdev,
>
> }
>
> -static int __devinit efm32_uart_probe(struct platform_device *pdev)
> +static int efm32_uart_probe(struct platform_device *pdev)
> {
> struct efm32_uart_port *efm_port;
> struct resource *res;
> diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
> index 82671b5..8c5ad58 100644
> --- a/drivers/tty/serial/icom.c
> +++ b/drivers/tty/serial/icom.c
> @@ -175,7 +175,7 @@ static void free_port_memory(struct icom_port *icom_port)
> }
> }
>
> -static int __devinit get_port_memory(struct icom_port *icom_port)
> +static int get_port_memory(struct icom_port *icom_port)
> {
> int index;
> unsigned long stgAddr;
> @@ -1314,7 +1314,7 @@ static struct uart_driver icom_uart_driver = {
> .cons = ICOM_CONSOLE,
> };
>
> -static int __devinit icom_init_ports(struct icom_adapter *icom_adapter)
> +static int icom_init_ports(struct icom_adapter *icom_adapter)
> {
> u32 subsystem_id = icom_adapter->subsystem_id;
> int i;
> @@ -1381,7 +1381,7 @@ static void icom_port_active(struct icom_port *icom_port, struct icom_adapter *i
> 0x8024 + 2 - 2 * (icom_port->port - 2);
> }
> }
> -static int __devinit icom_load_ports(struct icom_adapter *icom_adapter)
> +static int icom_load_ports(struct icom_adapter *icom_adapter)
> {
> struct icom_port *icom_port;
> int port_num;
> @@ -1407,7 +1407,7 @@ static int __devinit icom_load_ports(struct icom_adapter *icom_adapter)
> return 0;
> }
>
> -static int __devinit icom_alloc_adapter(struct icom_adapter
> +static int icom_alloc_adapter(struct icom_adapter
> **icom_adapter_ref)
> {
> int adapter_count = 0;
> @@ -1487,7 +1487,7 @@ static void icom_kref_release(struct kref *kref)
> icom_remove_adapter(icom_adapter);
> }
>
> -static int __devinit icom_probe(struct pci_dev *dev,
> +static int icom_probe(struct pci_dev *dev,
> const struct pci_device_id *ent)
> {
> int index;
> diff --git a/drivers/tty/serial/ioc3_serial.c b/drivers/tty/serial/ioc3_serial.c
> index 5ac5289..d8f1d1d 100644
> --- a/drivers/tty/serial/ioc3_serial.c
> +++ b/drivers/tty/serial/ioc3_serial.c
> @@ -2010,7 +2010,7 @@ static int ioc3uart_remove(struct ioc3_submodule *is,
> * @idd: ioc3 driver data for this card
> */
>
> -static int __devinit
> +static int
> ioc3uart_probe(struct ioc3_submodule *is, struct ioc3_driver_data *idd)
> {
> struct pci_dev *pdev = idd->pdev;
> diff --git a/drivers/tty/serial/jsm/jsm_driver.c b/drivers/tty/serial/jsm/jsm_driver.c
> index bbd4592..5b57c8e 100644
> --- a/drivers/tty/serial/jsm/jsm_driver.c
> +++ b/drivers/tty/serial/jsm/jsm_driver.c
> @@ -64,7 +64,7 @@ int jsm_debug;
> module_param(jsm_debug, int, 0);
> MODULE_PARM_DESC(jsm_debug, "Driver debugging level");
>
> -static int __devinit jsm_probe_one(struct pci_dev *pdev, const struct pci_device_id *ent)
> +static int jsm_probe_one(struct pci_dev *pdev, const struct pci_device_id *ent)
> {
> int rc = 0;
> struct jsm_board *brd;
> diff --git a/drivers/tty/serial/jsm/jsm_tty.c b/drivers/tty/serial/jsm/jsm_tty.c
> index 7d2c1f3..4c00c55 100644
> --- a/drivers/tty/serial/jsm/jsm_tty.c
> +++ b/drivers/tty/serial/jsm/jsm_tty.c
> @@ -371,7 +371,7 @@ static struct uart_ops jsm_ops = {
> * Init the tty subsystem. Called once per board after board has been
> * downloaded and init'ed.
> */
> -int __devinit jsm_tty_init(struct jsm_board *brd)
> +int jsm_tty_init(struct jsm_board *brd)
> {
> int i;
> void __iomem *vaddr;
> diff --git a/drivers/tty/serial/lpc32xx_hs.c b/drivers/tty/serial/lpc32xx_hs.c
> index 7b0f5b4..3651dab 100644
> --- a/drivers/tty/serial/lpc32xx_hs.c
> +++ b/drivers/tty/serial/lpc32xx_hs.c
> @@ -686,7 +686,7 @@ static struct uart_ops serial_lpc32xx_pops = {
> /*
> * Register a set of serial devices attached to a platform device
> */
> -static int __devinit serial_hs_lpc32xx_probe(struct platform_device *pdev)
> +static int serial_hs_lpc32xx_probe(struct platform_device *pdev)
> {
> struct lpc32xx_hsuart_port *p = &lpc32xx_hs_ports[uarts_registered];
> int ret = 0;
> diff --git a/drivers/tty/serial/max3100.c b/drivers/tty/serial/max3100.c
> index 2ffd7f0..8dd6189 100644
> --- a/drivers/tty/serial/max3100.c
> +++ b/drivers/tty/serial/max3100.c
> @@ -742,7 +742,7 @@ static struct uart_driver max3100_uart_driver = {
> };
> static int uart_driver_registered;
>
> -static int __devinit max3100_probe(struct spi_device *spi)
> +static int max3100_probe(struct spi_device *spi)
> {
> int i, retval;
> struct plat_max3100 *pdata;
> diff --git a/drivers/tty/serial/max310x.c b/drivers/tty/serial/max310x.c
> index a332327..88a227f 100644
> --- a/drivers/tty/serial/max310x.c
> +++ b/drivers/tty/serial/max310x.c
> @@ -378,7 +378,7 @@ static void max310x_wait_pll(struct max310x_port *s)
> }
> }
>
> -static int __devinit max310x_update_best_err(unsigned long f, long *besterr)
> +static int max310x_update_best_err(unsigned long f, long *besterr)
> {
> /* Use baudrate 115200 for calculate error */
> long err = f % (115200 * 16);
> @@ -391,7 +391,7 @@ static int __devinit max310x_update_best_err(unsigned long f, long *besterr)
> return 1;
> }
>
> -static int __devinit max310x_set_ref_clk(struct max310x_port *s)
> +static int max310x_set_ref_clk(struct max310x_port *s)
> {
> unsigned int div, clksrc, pllcfg = 0;
> long besterr = -1;
> @@ -995,7 +995,7 @@ static struct max310x_pdata generic_plat_data = {
> .frequency = 26000000,
> };
>
> -static int __devinit max310x_probe(struct spi_device *spi)
> +static int max310x_probe(struct spi_device *spi)
> {
> struct max310x_port *s;
> struct device *dev = &spi->dev;
> diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
> index e3de785..e2b93d2 100644
> --- a/drivers/tty/serial/mcf.c
> +++ b/drivers/tty/serial/mcf.c
> @@ -571,7 +571,7 @@ static struct uart_driver mcf_driver = {
>
> /****************************************************************************/
>
> -static int __devinit mcf_probe(struct platform_device *pdev)
> +static int mcf_probe(struct platform_device *pdev)
> {
> struct mcf_platform_uart *platp = pdev->dev.platform_data;
> struct uart_port *port;
> diff --git a/drivers/tty/serial/mpc52xx_uart.c b/drivers/tty/serial/mpc52xx_uart.c
> index 8cf5770..7c23c4f 100644
> --- a/drivers/tty/serial/mpc52xx_uart.c
> +++ b/drivers/tty/serial/mpc52xx_uart.c
> @@ -1308,7 +1308,7 @@ static struct of_device_id mpc52xx_uart_of_match[] = {
> {},
> };
>
> -static int __devinit mpc52xx_uart_of_probe(struct platform_device *op)
> +static int mpc52xx_uart_of_probe(struct platform_device *op)
> {
> int idx = -1;
> unsigned int uartclk;
> diff --git a/drivers/tty/serial/mrst_max3110.c b/drivers/tty/serial/mrst_max3110.c
> index 649ce12..41497fd 100644
> --- a/drivers/tty/serial/mrst_max3110.c
> +++ b/drivers/tty/serial/mrst_max3110.c
> @@ -773,7 +773,7 @@ static int serial_m3110_resume(struct spi_device *spi)
> #define serial_m3110_resume NULL
> #endif
>
> -static int __devinit serial_m3110_probe(struct spi_device *spi)
> +static int serial_m3110_probe(struct spi_device *spi)
> {
> struct uart_max3110 *max;
> void *buffer;
> diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c
> index 1361ad5..02fb63e 100644
> --- a/drivers/tty/serial/msm_serial_hs.c
> +++ b/drivers/tty/serial/msm_serial_hs.c
> @@ -1521,7 +1521,7 @@ err_msm_hs_init_clk:
> }
>
> /* Initialize tx and rx data structures */
> -static int __devinit uartdm_init_port(struct uart_port *uport)
> +static int uartdm_init_port(struct uart_port *uport)
> {
> int ret = 0;
> struct msm_hs_port *msm_uport = UARTDM_TO_MSM(uport);
> @@ -1614,7 +1614,7 @@ err_tx_command_ptr_ptr:
> return ret;
> }
>
> -static int __devinit msm_hs_probe(struct platform_device *pdev)
> +static int msm_hs_probe(struct platform_device *pdev)
> {
> int ret;
> struct uart_port *uport;
> diff --git a/drivers/tty/serial/mxs-auart.c b/drivers/tty/serial/mxs-auart.c
> index 7554045..ed09bd4 100644
> --- a/drivers/tty/serial/mxs-auart.c
> +++ b/drivers/tty/serial/mxs-auart.c
> @@ -704,7 +704,7 @@ static int serial_mxs_probe_dt(struct mxs_auart_port *s,
> return 0;
> }
>
> -static int __devinit mxs_auart_probe(struct platform_device *pdev)
> +static int mxs_auart_probe(struct platform_device *pdev)
> {
> struct mxs_auart_port *s;
> u32 version;
> diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
> index b9fdccb2..1bce344 100644
> --- a/drivers/tty/serial/of_serial.c
> +++ b/drivers/tty/serial/of_serial.c
> @@ -52,7 +52,7 @@ EXPORT_SYMBOL_GPL(tegra_serial_handle_break);
> /*
> * Fill a struct uart_port for a given device node
> */
> -static int __devinit of_platform_serial_setup(struct platform_device *ofdev,
> +static int of_platform_serial_setup(struct platform_device *ofdev,
> int type, struct uart_port *port,
> struct of_serial_info *info)
> {
> @@ -138,7 +138,7 @@ out:
> * Try to register a serial port
> */
> static struct of_device_id of_platform_serial_table[];
> -static int __devinit of_platform_serial_probe(struct platform_device *ofdev)
> +static int of_platform_serial_probe(struct platform_device *ofdev)
> {
> const struct of_device_id *match;
> struct of_serial_info *info;
> diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
> index 624e6b5..1e988f7 100644
> --- a/drivers/tty/serial/omap-serial.c
> +++ b/drivers/tty/serial/omap-serial.c
> @@ -1307,7 +1307,7 @@ static int serial_omap_resume(struct device *dev)
> }
> #endif
>
> -static void __devinit omap_serial_fill_features_erratas(struct uart_omap_port *up)
> +static void omap_serial_fill_features_erratas(struct uart_omap_port *up)
> {
> u32 mvr, scheme;
> u16 revision, major, minor;
> @@ -1360,7 +1360,7 @@ static void __devinit omap_serial_fill_features_erratas(struct uart_omap_port *u
> }
> }
>
> -static __devinit struct omap_uart_port_info *of_get_uart_port_info(struct device *dev)
> +static struct omap_uart_port_info *of_get_uart_port_info(struct device *dev)
> {
> struct omap_uart_port_info *omap_up_info;
>
> @@ -1373,7 +1373,7 @@ static __devinit struct omap_uart_port_info *of_get_uart_port_info(struct device
> return omap_up_info;
> }
>
> -static int __devinit serial_omap_probe(struct platform_device *pdev)
> +static int serial_omap_probe(struct platform_device *pdev)
> {
> struct uart_omap_port *up;
> struct resource *mem, *irq;
> diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
> index f5fb9bd..8318925 100644
> --- a/drivers/tty/serial/pch_uart.c
> +++ b/drivers/tty/serial/pch_uart.c
> @@ -1839,7 +1839,7 @@ static DEFINE_PCI_DEVICE_TABLE(pch_uart_pci_id) = {
> {0,},
> };
>
> -static int __devinit pch_uart_pci_probe(struct pci_dev *pdev,
> +static int pch_uart_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *id)
> {
> int ret;
> diff --git a/drivers/tty/serial/sa1100.c b/drivers/tty/serial/sa1100.c
> index 2ca5959..da56c8a 100644
> --- a/drivers/tty/serial/sa1100.c
> +++ b/drivers/tty/serial/sa1100.c
> @@ -637,7 +637,7 @@ static void __init sa1100_init_ports(void)
> PPSR |= PPC_TXD1 | PPC_TXD3;
> }
>
> -void __devinit sa1100_register_uart_fns(struct sa1100_port_fns *fns)
> +void sa1100_register_uart_fns(struct sa1100_port_fns *fns)
> {
> if (fns->get_mctrl)
> sa1100_pops.get_mctrl = fns->get_mctrl;
> diff --git a/drivers/tty/serial/sc26xx.c b/drivers/tty/serial/sc26xx.c
> index 9a40659..aced1dd 100644
> --- a/drivers/tty/serial/sc26xx.c
> +++ b/drivers/tty/serial/sc26xx.c
> @@ -621,7 +621,7 @@ static u8 sc26xx_flags2mask(unsigned int flags, unsigned int bitpos)
> return bit ? (1 << (bit - 1)) : 0;
> }
>
> -static void __devinit sc26xx_init_masks(struct uart_sc26xx_port *up,
> +static void sc26xx_init_masks(struct uart_sc26xx_port *up,
> int line, unsigned int data)
> {
> up->dtr_mask[line] = sc26xx_flags2mask(data, 0);
> @@ -632,7 +632,7 @@ static void __devinit sc26xx_init_masks(struct uart_sc26xx_port *up,
> up->ri_mask[line] = sc26xx_flags2mask(data, 20);
> }
>
> -static int __devinit sc26xx_probe(struct platform_device *dev)
> +static int sc26xx_probe(struct platform_device *dev)
> {
> struct resource *res;
> struct uart_sc26xx_port *up;
> diff --git a/drivers/tty/serial/sccnxp.c b/drivers/tty/serial/sccnxp.c
> index 810853f..1ddace8 100644
> --- a/drivers/tty/serial/sccnxp.c
> +++ b/drivers/tty/serial/sccnxp.c
> @@ -740,7 +740,7 @@ static int sccnxp_console_setup(struct console *co, char *options)
> }
> #endif
>
> -static int __devinit sccnxp_probe(struct platform_device *pdev)
> +static int sccnxp_probe(struct platform_device *pdev)
> {
> struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> int chiptype = pdev->id_entry->driver_data;
> diff --git a/drivers/tty/serial/serial_txx9.c b/drivers/tty/serial/serial_txx9.c
> index 9d979a9..23b28b8 100644
> --- a/drivers/tty/serial/serial_txx9.c
> +++ b/drivers/tty/serial/serial_txx9.c
> @@ -1030,7 +1030,7 @@ static DEFINE_MUTEX(serial_txx9_mutex);
> *
> * On success the port is ready to use and the line number is returned.
> */
> -static int __devinit serial_txx9_register_port(struct uart_port *port)
> +static int serial_txx9_register_port(struct uart_port *port)
> {
> int i;
> struct uart_txx9_port *uart;
> @@ -1096,7 +1096,7 @@ static void __devexit serial_txx9_unregister_port(int line)
> /*
> * Register a set of serial devices attached to a platform device.
> */
> -static int __devinit serial_txx9_probe(struct platform_device *dev)
> +static int serial_txx9_probe(struct platform_device *dev)
> {
> struct uart_port *p = dev->dev.platform_data;
> struct uart_port port;
> @@ -1187,7 +1187,7 @@ static struct platform_driver serial_txx9_plat_driver = {
> * Probe one serial board. Unfortunately, there is no rhyme nor reason
> * to the arrangement of serial ports on a PCI card.
> */
> -static int __devinit
> +static int
> pciserial_txx9_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
> {
> struct uart_port port;
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index 6ee5900..390fdc7 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -1132,7 +1132,7 @@ static const char *sci_gpio_str(unsigned int index)
> return sci_gpio_names[index];
> }
>
> -static void __devinit sci_init_gpios(struct sci_port *port)
> +static void sci_init_gpios(struct sci_port *port)
> {
> struct uart_port *up = &port->port;
> int i;
> @@ -2064,7 +2064,7 @@ static struct uart_ops sci_uart_ops = {
> #endif
> };
>
> -static int __devinit sci_init_single(struct platform_device *dev,
> +static int sci_init_single(struct platform_device *dev,
> struct sci_port *sci_port,
> unsigned int index,
> struct plat_sci_port *p)
> @@ -2220,7 +2220,7 @@ static void serial_console_write(struct console *co, const char *s,
> sci_port_disable(sci_port);
> }
>
> -static int __devinit serial_console_setup(struct console *co, char *options)
> +static int serial_console_setup(struct console *co, char *options)
> {
> struct sci_port *sci_port;
> struct uart_port *port;
> @@ -2278,7 +2278,7 @@ static struct console early_serial_console = {
>
> static char early_serial_buf[32];
>
> -static int __devinit sci_probe_earlyprintk(struct platform_device *pdev)
> +static int sci_probe_earlyprintk(struct platform_device *pdev)
> {
> struct plat_sci_port *cfg = pdev->dev.platform_data;
>
> @@ -2341,7 +2341,7 @@ static int sci_runtime_resume(struct device *dev)
> #define SCI_CONSOLE (&serial_console)
>
> #else
> -static inline int __devinit sci_probe_earlyprintk(struct platform_device *pdev)
> +static inline int sci_probe_earlyprintk(struct platform_device *pdev)
> {
> return -EINVAL;
> }
> @@ -2379,7 +2379,7 @@ static int sci_remove(struct platform_device *dev)
> return 0;
> }
>
> -static int __devinit sci_probe_single(struct platform_device *dev,
> +static int sci_probe_single(struct platform_device *dev,
> unsigned int index,
> struct plat_sci_port *p,
> struct sci_port *sciport)
> @@ -2409,7 +2409,7 @@ static int __devinit sci_probe_single(struct platform_device *dev,
> return 0;
> }
>
> -static int __devinit sci_probe(struct platform_device *dev)
> +static int sci_probe(struct platform_device *dev)
> {
> struct plat_sci_port *p = dev->dev.platform_data;
> struct sci_port *sp = &sci_ports[dev->id];
> diff --git a/drivers/tty/serial/sunhv.c b/drivers/tty/serial/sunhv.c
> index 949b2d3..cb58867 100644
> --- a/drivers/tty/serial/sunhv.c
> +++ b/drivers/tty/serial/sunhv.c
> @@ -519,7 +519,7 @@ static struct console sunhv_console = {
> .data = &sunhv_reg,
> };
>
> -static int __devinit hv_probe(struct platform_device *op)
> +static int hv_probe(struct platform_device *op)
> {
> struct uart_port *port;
> unsigned long minor;
> diff --git a/drivers/tty/serial/sunsab.c b/drivers/tty/serial/sunsab.c
> index bbb07bc..9a13c54 100644
> --- a/drivers/tty/serial/sunsab.c
> +++ b/drivers/tty/serial/sunsab.c
> @@ -954,7 +954,7 @@ static inline struct console *SUNSAB_CONSOLE(void)
> #define sunsab_console_init() do { } while (0)
> #endif
>
> -static int __devinit sunsab_init_one(struct uart_sunsab_port *up,
> +static int sunsab_init_one(struct uart_sunsab_port *up,
> struct platform_device *op,
> unsigned long offset,
> int line)
> @@ -1007,7 +1007,7 @@ static int __devinit sunsab_init_one(struct uart_sunsab_port *up,
> return 0;
> }
>
> -static int __devinit sab_probe(struct platform_device *op)
> +static int sab_probe(struct platform_device *op)
> {
> static int inst;
> struct uart_sunsab_port *up;
> diff --git a/drivers/tty/serial/sunsu.c b/drivers/tty/serial/sunsu.c
> index c0658f0..049bbc5 100644
> --- a/drivers/tty/serial/sunsu.c
> +++ b/drivers/tty/serial/sunsu.c
> @@ -1185,7 +1185,7 @@ static struct uart_driver sunsu_reg = {
> .major = TTY_MAJOR,
> };
>
> -static int __devinit sunsu_kbd_ms_init(struct uart_sunsu_port *up)
> +static int sunsu_kbd_ms_init(struct uart_sunsu_port *up)
> {
> int quot, baud;
> #ifdef CONFIG_SERIO
> @@ -1391,7 +1391,7 @@ static inline struct console *SUNSU_CONSOLE(void)
> #define sunsu_serial_console_init() do { } while (0)
> #endif
>
> -static enum su_type __devinit su_get_type(struct device_node *dp)
> +static enum su_type su_get_type(struct device_node *dp)
> {
> struct device_node *ap = of_find_node_by_path("/aliases");
>
> @@ -1412,7 +1412,7 @@ static enum su_type __devinit su_get_type(struct device_node *dp)
> return SU_PORT_PORT;
> }
>
> -static int __devinit su_probe(struct platform_device *op)
> +static int su_probe(struct platform_device *op)
> {
> static int inst;
> struct device_node *dp = op->dev.of_node;
> diff --git a/drivers/tty/serial/sunzilog.c b/drivers/tty/serial/sunzilog.c
> index c2ef475..02c058f 100644
> --- a/drivers/tty/serial/sunzilog.c
> +++ b/drivers/tty/serial/sunzilog.c
> @@ -1282,7 +1282,7 @@ static inline struct console *SUNZILOG_CONSOLE(void)
> #define SUNZILOG_CONSOLE() (NULL)
> #endif
>
> -static void __devinit sunzilog_init_kbdms(struct uart_sunzilog_port *up)
> +static void sunzilog_init_kbdms(struct uart_sunzilog_port *up)
> {
> int baud, brg;
>
> @@ -1302,7 +1302,7 @@ static void __devinit sunzilog_init_kbdms(struct uart_sunzilog_port *up)
> }
>
> #ifdef CONFIG_SERIO
> -static void __devinit sunzilog_register_serio(struct uart_sunzilog_port *up)
> +static void sunzilog_register_serio(struct uart_sunzilog_port *up)
> {
> struct serio *serio = &up->serio;
>
> @@ -1331,7 +1331,7 @@ static void __devinit sunzilog_register_serio(struct uart_sunzilog_port *up)
> }
> #endif
>
> -static void __devinit sunzilog_init_hw(struct uart_sunzilog_port *up)
> +static void sunzilog_init_hw(struct uart_sunzilog_port *up)
> {
> struct zilog_channel __iomem *channel;
> unsigned long flags;
> @@ -1400,7 +1400,7 @@ static void __devinit sunzilog_init_hw(struct uart_sunzilog_port *up)
>
> static int zilog_irq;
>
> -static int __devinit zs_probe(struct platform_device *op)
> +static int zs_probe(struct platform_device *op)
> {
> static int kbm_inst, uart_inst;
> int inst;
> diff --git a/drivers/tty/serial/timbuart.c b/drivers/tty/serial/timbuart.c
> index 5fc11f2..c833f50 100644
> --- a/drivers/tty/serial/timbuart.c
> +++ b/drivers/tty/serial/timbuart.c
> @@ -426,7 +426,7 @@ static struct uart_driver timbuart_driver = {
> .nr = 1
> };
>
> -static int __devinit timbuart_probe(struct platform_device *dev)
> +static int timbuart_probe(struct platform_device *dev)
> {
> int err, irq;
> struct timbuart_port *uart;
> diff --git a/drivers/tty/serial/uartlite.c b/drivers/tty/serial/uartlite.c
> index 1d44383..df9eeb4 100644
> --- a/drivers/tty/serial/uartlite.c
> +++ b/drivers/tty/serial/uartlite.c
> @@ -408,7 +408,7 @@ static void ulite_console_write(struct console *co, const char *s,
> spin_unlock_irqrestore(&port->lock, flags);
> }
>
> -static int __devinit ulite_console_setup(struct console *co, char *options)
> +static int ulite_console_setup(struct console *co, char *options)
> {
> struct uart_port *port;
> int baud = 9600;
> @@ -486,7 +486,7 @@ static struct uart_driver ulite_uart_driver = {
> *
> * Returns: 0 on success, <0 otherwise
> */
> -static int __devinit ulite_assign(struct device *dev, int id, u32 base, int irq)
> +static int ulite_assign(struct device *dev, int id, u32 base, int irq)
> {
> struct uart_port *port;
> int rc;
> @@ -570,7 +570,7 @@ static struct of_device_id ulite_of_match[] __devinitdata = {
> MODULE_DEVICE_TABLE(of, ulite_of_match);
> #endif /* CONFIG_OF */
>
> -static int __devinit ulite_probe(struct platform_device *pdev)
> +static int ulite_probe(struct platform_device *pdev)
> {
> struct resource *res, *res2;
> int id = pdev->id;
> diff --git a/drivers/tty/serial/vr41xx_siu.c b/drivers/tty/serial/vr41xx_siu.c
> index 9d3bf75..c046c99 100644
> --- a/drivers/tty/serial/vr41xx_siu.c
> +++ b/drivers/tty/serial/vr41xx_siu.c
> @@ -823,7 +823,7 @@ static struct console siu_console = {
> .data = &siu_uart_driver,
> };
>
> -static int __devinit siu_console_init(void)
> +static int siu_console_init(void)
> {
> struct uart_port *port;
> int i;
> @@ -867,7 +867,7 @@ static struct uart_driver siu_uart_driver = {
> .cons = SERIAL_VR41XX_CONSOLE,
> };
>
> -static int __devinit siu_probe(struct platform_device *dev)
> +static int siu_probe(struct platform_device *dev)
> {
> struct uart_port *port;
> int num, i, retval;
> diff --git a/drivers/tty/serial/vt8500_serial.c b/drivers/tty/serial/vt8500_serial.c
> index dbcc909..80530c7 100644
> --- a/drivers/tty/serial/vt8500_serial.c
> +++ b/drivers/tty/serial/vt8500_serial.c
> @@ -554,7 +554,7 @@ static struct uart_driver vt8500_uart_driver = {
> .cons = VT8500_CONSOLE,
> };
>
> -static int __devinit vt8500_serial_probe(struct platform_device *pdev)
> +static int vt8500_serial_probe(struct platform_device *pdev)
> {
> struct vt8500_port *vt8500_port;
> struct resource *mmres, *irqres;
> diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
> index b627363..6e9ce65 100644
> --- a/drivers/tty/serial/xilinx_uartps.c
> +++ b/drivers/tty/serial/xilinx_uartps.c
> @@ -939,7 +939,7 @@ static struct uart_driver xuartps_uart_driver = {
> *
> * Returns 0 on success, negative error otherwise
> **/
> -static int __devinit xuartps_probe(struct platform_device *pdev)
> +static int xuartps_probe(struct platform_device *pdev)
> {
> int rc;
> struct uart_port *port;
> diff --git a/drivers/tty/synclink.c b/drivers/tty/synclink.c
> index 65b8669..87ba4ca 100644
> --- a/drivers/tty/synclink.c
> +++ b/drivers/tty/synclink.c
> @@ -8064,7 +8064,7 @@ static void hdlcdev_exit(struct mgsl_struct *info)
> #endif /* CONFIG_HDLC */
>
>
> -static int __devinit synclink_init_one (struct pci_dev *dev,
> +static int synclink_init_one (struct pci_dev *dev,
> const struct pci_device_id *ent)
> {
> struct mgsl_struct *info;
> diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
> index 28a2ccf..cdd1ba7 100644
> --- a/drivers/tty/synclink_gt.c
> +++ b/drivers/tty/synclink_gt.c
> @@ -3696,7 +3696,7 @@ static void device_init(int adapter_num, struct pci_dev *pdev)
> }
> }
>
> -static int __devinit init_one(struct pci_dev *dev,
> +static int init_one(struct pci_dev *dev,
> const struct pci_device_id *ent)
> {
> if (pci_enable_device(dev)) {
> diff --git a/drivers/tty/synclinkmp.c b/drivers/tty/synclinkmp.c
> index 3e56e1e..17454da 100644
> --- a/drivers/tty/synclinkmp.c
> +++ b/drivers/tty/synclinkmp.c
> @@ -5592,7 +5592,7 @@ static void write_control_reg(SLMP_INFO * info)
> }
>
>
> -static int __devinit synclinkmp_init_one (struct pci_dev *dev,
> +static int synclinkmp_init_one (struct pci_dev *dev,
> const struct pci_device_id *ent)
> {
> if (pci_enable_device(dev)) {
>
--
Nicolas Ferre
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox