From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] usb: s3c-hsotg: Enable HCLK for the OTG module.
Date: Fri, 28 May 2010 11:22:32 +0100 [thread overview]
Message-ID: <20100528102232.GZ4720@trinity.fluff.org> (raw)
In-Reply-To: <1275014477-23133-5-git-send-email-kgene.kim@samsung.com>
On Fri, May 28, 2010 at 11:41:17AM +0900, Kukjin Kim wrote:
> From: Thomas Abraham <thomas.ab@samsung.com>
>
> This patch modifies the following in S3C hsotg driver.
>
> 1. Gets a reference to the USB OTG hclk clock and enables it. This is
> required for plaforms on which the USB OTG hclk is disabled during
> the boot time clock intialization.
>
> 2. Add necessary clock clean up in case of error during initialization
> failure or during module unload.
>
> 3. Add a new field 'clk_otg' in 'struct s3c_hsotg' to maintain a
> reference to the USB OTG hclk clock.
>
> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
> drivers/usb/gadget/s3c-hsotg.c | 17 +++++++++++++++++
> 1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c
> index 81c47d2..526d081 100644
> --- a/drivers/usb/gadget/s3c-hsotg.c
> +++ b/drivers/usb/gadget/s3c-hsotg.c
> @@ -130,6 +130,7 @@ struct s3c_hsotg_ep {
> * @dev: The parent device supplied to the probe function
> * @driver: USB gadget driver
> * @plat: The platform specific configuration data.
> + * @clk_otg: The hclk for otg module.
> * @regs: The memory area mapped for accessing registers.
> * @regs_res: The resource that was allocated when claiming register space.
> * @irq: The IRQ number we are using
> @@ -147,6 +148,7 @@ struct s3c_hsotg {
> struct device *dev;
> struct usb_gadget_driver *driver;
> struct s3c_hsotg_plat *plat;
> + struct clk *clk_otg;
>
> void __iomem *regs;
> struct resource *regs_res;
> @@ -3269,6 +3271,14 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
> goto err_regs_res;
> }
>
> + hsotg->clk_otg = clk_get(&pdev->dev, "otg");
> + if (IS_ERR(hsotg->clk_otg)) {
> + dev_err(dev, "failed to find usb otg clock source\n");
> + ret = -ENODEV;
hmm, -ENODEV isn't really the right error to return here, it'll
get silently ignored by the device core.
> + goto err_noclk;
> + }
> + clk_enable(hsotg->clk_otg);
> +
> ret = platform_get_irq(pdev, 0);
> if (ret < 0) {
> dev_err(dev, "cannot find IRQ\n");
> @@ -3330,6 +3340,10 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev)
> return 0;
>
> err_regs:
> + clk_disable(hsotg->clk_otg);
> + clk_put(hsotg->clk_otg);
> +
> +err_noclk:
> iounmap(hsotg->regs);
>
> err_regs_res:
> @@ -3352,6 +3366,9 @@ static int __devexit s3c_hsotg_remove(struct platform_device *pdev)
> free_irq(hsotg->irq, hsotg);
> iounmap(hsotg->regs);
>
> + clk_disable(hsotg->clk_otg);
> + clk_put(hsotg->clk_otg);
> +
> release_resource(hsotg->regs_res);
> kfree(hsotg->regs_res);
>
> --
> 1.6.3.3
>
--
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
next prev parent reply other threads:[~2010-05-28 10:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-28 2:41 [PATCH] Updates for S3C HSOTG driver Kukjin Kim
2010-05-28 2:41 ` [PATCH 1/4] ARM: S3C64XX: Add USB OTG HCLK to the list of clocks Kukjin Kim
2010-05-28 2:41 ` [PATCH 2/4] ARM: S5PV210: Assign clock rate for clk_xusbxti clock Kukjin Kim
2010-05-28 7:10 ` Ben Dooks
2010-05-28 2:41 ` [PATCH 3/4] ARM: S5P: Add clk_xusbxti clock to the list of clocks to be registered Kukjin Kim
2010-05-28 2:41 ` [PATCH 4/4] usb: s3c-hsotg: Enable HCLK for the OTG module Kukjin Kim
2010-05-28 3:58 ` Ben Dooks
2010-05-28 10:22 ` Ben Dooks [this message]
2010-05-28 10:48 ` Sergei Shtylyov
2010-05-31 0:39 ` Ben Dooks
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100528102232.GZ4720@trinity.fluff.org \
--to=ben-linux@fluff.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).