mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (370 commits) ARM: S3C2443: Add set_rate and round_rate calls for armdiv clock ARM: S3C2443: Remove #if 0 for clk_mpll ARM: S3C2443: Update notes on MPLLREF clock ARM: S3C2443: Further clksrc-clk conversions ARM: S3C2443: Change to using plat-samsung clksrc-clk implementation USB: Fix s3c-hsotg build following Samsung platform header moves ARM: S3C64XX: Reintroduce unconditional build of audio device ARM: 5961/1: ux500: fix CLKRST addresses ARM: 5977/1: arm: Enable backtrace printing on oops when PC is corrupted ASoC: Fix S3C64xx IIS driver for Samsung header reorg ARM: S3C2440: Fix plat-s3c24xx move of s3c2440/s3c2442 support [ARM] pxa: fix typo in mxm8x10.h [ARM] pxa/raumfeld: set GPIO drive bits for LED pins [ARM] pxa/zeus: Add support for mcp2515 CAN bus [ARM] pxa/zeus: Add support for onboard max6369 watchdog [ARM] pxa/zeus: Add Eurotech as the manufacturer [ARM] pxa/zeus: Correct the USB host initialisation flags [ARM] pxa/zeus: Allow usage of 8250-compatible UART in uncompress [ARM] pxa: refactor uncompress.h for non-PXA uarts [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs ...
This commit is contained in:
commit
dca1d9f6d7
627 changed files with 45021 additions and 9429 deletions
|
|
@ -17,6 +17,8 @@
|
|||
#include <linux/fsl_devices.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
static struct clk *mxc_ahb_clk;
|
||||
static struct clk *mxc_usb_clk;
|
||||
|
||||
|
|
@ -28,14 +30,16 @@ int fsl_udc_clk_init(struct platform_device *pdev)
|
|||
|
||||
pdata = pdev->dev.platform_data;
|
||||
|
||||
mxc_ahb_clk = clk_get(&pdev->dev, "usb_ahb");
|
||||
if (IS_ERR(mxc_ahb_clk))
|
||||
return PTR_ERR(mxc_ahb_clk);
|
||||
if (!cpu_is_mx35()) {
|
||||
mxc_ahb_clk = clk_get(&pdev->dev, "usb_ahb");
|
||||
if (IS_ERR(mxc_ahb_clk))
|
||||
return PTR_ERR(mxc_ahb_clk);
|
||||
|
||||
ret = clk_enable(mxc_ahb_clk);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "clk_enable(\"usb_ahb\") failed\n");
|
||||
goto eenahb;
|
||||
ret = clk_enable(mxc_ahb_clk);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "clk_enable(\"usb_ahb\") failed\n");
|
||||
goto eenahb;
|
||||
}
|
||||
}
|
||||
|
||||
/* make sure USB_CLK is running at 60 MHz +/- 1000 Hz */
|
||||
|
|
@ -50,6 +54,7 @@ int fsl_udc_clk_init(struct platform_device *pdev)
|
|||
if (pdata->phy_mode != FSL_USB2_PHY_ULPI &&
|
||||
(freq < 59999000 || freq > 60001000)) {
|
||||
dev_err(&pdev->dev, "USB_CLK=%lu, should be 60MHz\n", freq);
|
||||
ret = -EINVAL;
|
||||
goto eclkrate;
|
||||
}
|
||||
|
||||
|
|
@ -66,9 +71,11 @@ eclkrate:
|
|||
clk_put(mxc_usb_clk);
|
||||
mxc_usb_clk = NULL;
|
||||
egusb:
|
||||
clk_disable(mxc_ahb_clk);
|
||||
if (!cpu_is_mx35())
|
||||
clk_disable(mxc_ahb_clk);
|
||||
eenahb:
|
||||
clk_put(mxc_ahb_clk);
|
||||
if (!cpu_is_mx35())
|
||||
clk_put(mxc_ahb_clk);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -90,6 +97,8 @@ void fsl_udc_clk_release(void)
|
|||
clk_disable(mxc_usb_clk);
|
||||
clk_put(mxc_usb_clk);
|
||||
}
|
||||
clk_disable(mxc_ahb_clk);
|
||||
clk_put(mxc_ahb_clk);
|
||||
if (!cpu_is_mx35()) {
|
||||
clk_disable(mxc_ahb_clk);
|
||||
clk_put(mxc_ahb_clk);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,6 +65,10 @@
|
|||
#include <mach/pxa25x-udc.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_LUBBOCK
|
||||
#include <mach/lubbock.h>
|
||||
#endif
|
||||
|
||||
#include <asm/mach/udc_pxa2xx.h>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include <plat/regs-usb-hsotg-phy.h>
|
||||
#include <plat/regs-usb-hsotg.h>
|
||||
#include <plat/regs-sys.h>
|
||||
#include <mach/regs-sys.h>
|
||||
#include <plat/udc-hs.h>
|
||||
|
||||
#define DMA_ADDR_INVALID (~((dma_addr_t)0))
|
||||
|
|
|
|||
Loading…
Reference in a new issue