From: Ben Dooks <ben-linux@fluff.org>
To: Kukjin Kim <kgene.kim@samsung.com>
Cc: linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, ben-linux@fluff.org,
Thomas Abraham <thomas.ab@samsung.com>
Subject: Re: [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.
WARNING: multiple messages have this Message-ID (diff)
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: 20+ 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 ` 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 ` Kukjin Kim
2010-05-28 2:41 ` [PATCH 2/4] ARM: S5PV210: Assign clock rate for clk_xusbxti clock Kukjin Kim
2010-05-28 2:41 ` Kukjin Kim
2010-05-28 7:10 ` Ben Dooks
2010-05-28 7:10 ` Ben Dooks
[not found] ` <1275014477-23133-1-git-send-email-kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
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 ` Kukjin Kim
2010-05-28 2:41 ` [PATCH 4/4] usb: s3c-hsotg: Enable HCLK for the OTG module Kukjin Kim
2010-05-28 2:41 ` Kukjin Kim
2010-05-28 3:58 ` Ben Dooks
2010-05-28 3:58 ` Ben Dooks
2010-05-28 10:22 ` Ben Dooks [this message]
2010-05-28 10:22 ` Ben Dooks
2010-05-28 10:48 ` Sergei Shtylyov
2010-05-28 10:48 ` Sergei Shtylyov
[not found] ` <4BFF9F79.106-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
2010-05-31 0:39 ` Ben Dooks
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=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=thomas.ab@samsung.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.