From patchwork Wed Sep 4 14:44:52 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 272645 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-la0-x23e.google.com (mail-la0-x23e.google.com [IPv6:2a00:1450:4010:c03::23e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 4210F2C00CE for ; Thu, 5 Sep 2013 00:45:02 +1000 (EST) Received: by mail-la0-f62.google.com with SMTP id ep20sf50732lab.27 for ; Wed, 04 Sep 2013 07:44:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=sender:from:to:cc:subject:date:message-id:content-type :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=GgJMGpq3h16mWpT0Q/bWWTNOZsrRM7PLDw+v1H9vq6g=; b=T83DvhxkbDxi8WOydpNNmow2N0fXdzk16xDP+41IT9Lt+BOgh+CC+Xw2HlFtGI/Fdw b2Kyu4Wfiq7eFYnKdIrZ11+ekjOYVYXo/XdEzFjCIYKYdpo5To88TEpJbJb0h0q8+8py wJdsNEtDLaNMQ2PrAyiI5Ed+DQPku2VPOBPLMBYvhcAAUryvZmObaz5sWsM3RD6VSpcq 2IECebokmj6PoCbO0M3tL07CoAPRo4GnDaBWBvC9OtOGI+nxI2XrqcSeY49pMWaJZpqU 7/Bi2ExrnGfrXSDNRT4O4hiCAJLB282pJ8cNRG5G9P90N3yTBNR44O0RJeI53lTfgugb YbwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :content-type:x-original-sender:x-original-authentication-results :reply-to:precedence:mailing-list:list-id:list-post:list-help :list-archive:list-subscribe:list-unsubscribe; bh=GgJMGpq3h16mWpT0Q/bWWTNOZsrRM7PLDw+v1H9vq6g=; b=WmgZGT/0eLwHo/XQodDfZDielK4UI5P5SSqX0V1RX96e9m+LJaTkiWY3c6R3+h3bCd MVPN0Y19OOB9r3E2RMGJwkO422aUBoJSRrc7QG4jtNIDSzh5Mv475M4qyDb2l3cAxBTC QBmiXYv4U/sAwHF3ES/JwfzRIeKbgB+Ta0ZJ5SLSpHopVuPObYeH/Lbiaot+HOLWmY/f Yk4y32NUJkMKJnzj4Q9tUbHxBn8MV3vP5qJ3JK/BhzrnXrm9s5kIHl6YCUa6WocjRGFp z8ULFLS+vO3L/qXzZC8EJgl3DZtVfKenCrDIfP+732XrqX4Umq/118+rV86LUO7nqGcF 3eoQ== X-Received: by 10.180.90.147 with SMTP id bw19mr98896wib.1.1378305896345; Wed, 04 Sep 2013 07:44:56 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.181.11.170 with SMTP id ej10ls1527856wid.17.canary; Wed, 04 Sep 2013 07:44:55 -0700 (PDT) X-Received: by 10.15.64.6 with SMTP id n6mr2658828eex.5.1378305895837; Wed, 04 Sep 2013 07:44:55 -0700 (PDT) Received: from mail-ea0-f175.google.com (mail-ea0-f175.google.com [209.85.215.175]) by gmr-mx.google.com with ESMTPS id a1si3740511ees.1.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Sep 2013 07:44:55 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.215.175 is neither permitted nor denied by best guess record for domain of monstr@monstr.eu) client-ip=209.85.215.175; Received: by mail-ea0-f175.google.com with SMTP id m14so234414eaj.34 for ; Wed, 04 Sep 2013 07:44:55 -0700 (PDT) X-Gm-Message-State: ALoCoQmMvaw96sD6I7YVK01pAOhnxCZ3km0pCYEUco59HWG+D9GAYY4K0E+WcjKO+rwZ2hWBxWuP X-Received: by 10.15.44.72 with SMTP id y48mr4089989eev.56.1378305895600; Wed, 04 Sep 2013 07:44:55 -0700 (PDT) Received: from localhost (nat-63.starnet.cz. [178.255.168.63]) by mx.google.com with ESMTPSA id r48sm40548959eev.14.1969.12.31.16.00.00 (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Wed, 04 Sep 2013 07:44:55 -0700 (PDT) Sender: rtc-linux@googlegroups.com From: Michal Simek To: linux-kernel@vger.kernel.org, monstr@monstr.eu Cc: Russell King , Vinod Koul , Dan Williams , Dmitry Torokhov , Chris Ball , Alessandro Zummo , Linus Walleij , Mark Brown , Greg Kroah-Hartman , Jiri Slaby , Jean-Christophe Plagniol-Villard , Tomi Valkeinen , Wim Van Sebroeck , Andrew Morton , "zhangwei(Jovi)" , Randy Dunlap , linux-arm-kernel@lists.infradead.org, linux-input@vger.kernel.org, linux-mmc@vger.kernel.org, rtc-linux@googlegroups.com, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org, linux-fbdev@vger.kernel.org, linux-watchdog@vger.kernel.org Subject: [rtc-linux] [RFC PATCH] amba: Ensure drvdata is NULL Date: Wed, 4 Sep 2013 16:44:52 +0200 Message-Id: <346db238d6c8c418bddb1e8a166e9818b5074c06.1378305864.git.michal.simek@xilinx.com> X-Mailer: git-send-email 1.8.2.3 X-Original-Sender: michal.simek@xilinx.com X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 209.85.215.175 is neither permitted nor denied by best guess record for domain of monstr@monstr.eu) smtp.mail=monstr@monstr.eu Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: List-Subscribe: , List-Unsubscribe: , This patch is inpired by the patch for drvdata "device-core: Ensure drvdata = NULL when no driver is bound" (sha1: 0998d0631001288a5974afc0b2a5f568bcdecb4d) Also it fixes all occurences in drivers. Signed-off-by: Michal Simek --- arch/arm/kernel/etm.c | 6 ------ drivers/amba/bus.c | 2 ++ drivers/dma/pl330.c | 3 --- drivers/input/serio/ambakmi.c | 2 -- drivers/mmc/host/mmci.c | 2 -- drivers/rtc/rtc-pl030.c | 2 -- drivers/rtc/rtc-pl031.c | 2 -- drivers/spi/spi-pl022.c | 1 - drivers/tty/serial/amba-pl010.c | 3 --- drivers/tty/serial/amba-pl011.c | 3 --- drivers/video/amba-clcd.c | 2 -- drivers/watchdog/sp805_wdt.c | 1 - 12 files changed, 2 insertions(+), 27 deletions(-) -- 1.8.2.3 diff --git a/arch/arm/kernel/etm.c b/arch/arm/kernel/etm.c index 8ff0ecd..131a6ab 100644 --- a/arch/arm/kernel/etm.c +++ b/arch/arm/kernel/etm.c @@ -385,7 +385,6 @@ out: return ret; out_unmap: - amba_set_drvdata(dev, NULL); iounmap(t->etb_regs); out_release: @@ -398,8 +397,6 @@ static int etb_remove(struct amba_device *dev) { struct tracectx *t = amba_get_drvdata(dev); - amba_set_drvdata(dev, NULL); - iounmap(t->etb_regs); t->etb_regs = NULL; @@ -588,7 +585,6 @@ out: return ret; out_unmap: - amba_set_drvdata(dev, NULL); iounmap(t->etm_regs); out_release: @@ -601,8 +597,6 @@ static int etm_remove(struct amba_device *dev) { struct tracectx *t = amba_get_drvdata(dev); - amba_set_drvdata(dev, NULL); - iounmap(t->etm_regs); t->etm_regs = NULL; diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index c670727..9762090 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -373,6 +373,7 @@ static int amba_probe(struct device *dev) if (ret == 0) break; + amba_set_drvdata(pcdev, NULL); pm_runtime_disable(dev); pm_runtime_set_suspended(dev); pm_runtime_put_noidle(dev); @@ -391,6 +392,7 @@ static int amba_remove(struct device *dev) pm_runtime_get_sync(dev); ret = drv->remove(pcdev); + amba_set_drvdata(pcdev, NULL); pm_runtime_put_noidle(dev); /* Undo the runtime PM settings in amba_probe() */ diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index fa645d8..626f99e 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -3026,8 +3026,6 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id) return 0; probe_err3: - amba_set_drvdata(adev, NULL); - /* Idle the DMAC */ list_for_each_entry_safe(pch, _p, &pdmac->ddma.channels, chan.device_node) { @@ -3061,7 +3059,6 @@ static int pl330_remove(struct amba_device *adev) of_dma_controller_free(adev->dev.of_node); dma_async_device_unregister(&pdmac->ddma); - amba_set_drvdata(adev, NULL); /* Idle the DMAC */ list_for_each_entry_safe(pch, _p, &pdmac->ddma.channels, diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c index 4e2fd44..b7c206d 100644 --- a/drivers/input/serio/ambakmi.c +++ b/drivers/input/serio/ambakmi.c @@ -167,8 +167,6 @@ static int amba_kmi_remove(struct amba_device *dev) { struct amba_kmi_port *kmi = amba_get_drvdata(dev); - amba_set_drvdata(dev, NULL); - serio_unregister_port(kmi->io); clk_put(kmi->clk); iounmap(kmi->base); diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index c3785ed..07e17f1 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -1678,8 +1678,6 @@ static int mmci_remove(struct amba_device *dev) { struct mmc_host *mmc = amba_get_drvdata(dev); - amba_set_drvdata(dev, NULL); - if (mmc) { struct mmci_host *host = mmc_priv(mmc); diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c index 22bacdb..a804f75 100644 --- a/drivers/rtc/rtc-pl030.c +++ b/drivers/rtc/rtc-pl030.c @@ -153,8 +153,6 @@ static int pl030_remove(struct amba_device *dev) { struct pl030_rtc *rtc = amba_get_drvdata(dev); - amba_set_drvdata(dev, NULL); - writel(0, rtc->base + RTC_CR); free_irq(dev->irq[0], rtc); diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c index 0f0609b..c9ca86e 100644 --- a/drivers/rtc/rtc-pl031.c +++ b/drivers/rtc/rtc-pl031.c @@ -305,7 +305,6 @@ static int pl031_remove(struct amba_device *adev) { struct pl031_local *ldata = dev_get_drvdata(&adev->dev); - amba_set_drvdata(adev, NULL); free_irq(adev->irq[0], ldata); rtc_device_unregister(ldata->rtc); iounmap(ldata->base); @@ -392,7 +391,6 @@ out_no_irq: rtc_device_unregister(ldata->rtc); out_no_rtc: iounmap(ldata->base); - amba_set_drvdata(adev, NULL); out_no_remap: kfree(ldata); out: diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c index abef061..e12813e 100644 --- a/drivers/spi/spi-pl022.c +++ b/drivers/spi/spi-pl022.c @@ -2306,7 +2306,6 @@ pl022_remove(struct amba_device *adev) amba_release_regions(adev); tasklet_disable(&pl022->pump_transfers); spi_unregister_master(pl022->master); - amba_set_drvdata(adev, NULL); return 0; } diff --git a/drivers/tty/serial/amba-pl010.c b/drivers/tty/serial/amba-pl010.c index c368405..f630b78 100644 --- a/drivers/tty/serial/amba-pl010.c +++ b/drivers/tty/serial/amba-pl010.c @@ -728,7 +728,6 @@ static int pl010_probe(struct amba_device *dev, const struct amba_id *id) amba_set_drvdata(dev, uap); ret = uart_add_one_port(&amba_reg, &uap->port); if (ret) { - amba_set_drvdata(dev, NULL); amba_ports[i] = NULL; clk_put(uap->clk); unmap: @@ -745,8 +744,6 @@ static int pl010_remove(struct amba_device *dev) struct uart_amba_port *uap = amba_get_drvdata(dev); int i; - amba_set_drvdata(dev, NULL); - uart_remove_one_port(&amba_reg, &uap->port); for (i = 0; i < ARRAY_SIZE(amba_ports); i++) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c index 28b35ad..2a1efe0 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2143,7 +2143,6 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id) amba_set_drvdata(dev, uap); ret = uart_add_one_port(&amba_reg, &uap->port); if (ret) { - amba_set_drvdata(dev, NULL); amba_ports[i] = NULL; pl011_dma_remove(uap); } @@ -2156,8 +2155,6 @@ static int pl011_remove(struct amba_device *dev) struct uart_amba_port *uap = amba_get_drvdata(dev); int i; - amba_set_drvdata(dev, NULL); - uart_remove_one_port(&amba_reg, &uap->port); for (i = 0; i < ARRAY_SIZE(amba_ports); i++) diff --git a/drivers/video/amba-clcd.c b/drivers/video/amba-clcd.c index 0a2cce7..0bab6ab 100644 --- a/drivers/video/amba-clcd.c +++ b/drivers/video/amba-clcd.c @@ -594,8 +594,6 @@ static int clcdfb_remove(struct amba_device *dev) { struct clcd_fb *fb = amba_get_drvdata(dev); - amba_set_drvdata(dev, NULL); - clcdfb_disable(fb); unregister_framebuffer(&fb->fb); if (fb->fb.cmap.len) diff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c index 58df98a..3f786ce 100644 --- a/drivers/watchdog/sp805_wdt.c +++ b/drivers/watchdog/sp805_wdt.c @@ -268,7 +268,6 @@ static int sp805_wdt_remove(struct amba_device *adev) struct sp805_wdt *wdt = amba_get_drvdata(adev); watchdog_unregister_device(&wdt->wdd); - amba_set_drvdata(adev, NULL); watchdog_set_drvdata(&wdt->wdd, NULL); return 0;