aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-01-30 19:25:51 -0500
committerPaul Mackerras <paulus@samba.org>2008-01-30 19:25:51 -0500
commitbd45ac0c5daae35e7c71138172e63df5cf644cf6 (patch)
tree5eb5a599bf6a9d7a8a34e802db932aa9e9555de4 /drivers/usb/host
parent4eece4ccf997c0e6d8fdad3d842e37b16b8d705f (diff)
parent5bdeae46be6dfe9efa44a548bd622af325f4bdb4 (diff)
Merge branch 'linux-2.6'
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/ohci-hcd.c2
-rw-r--r--drivers/usb/host/ohci-omap.c2
-rw-r--r--drivers/usb/host/ohci-pnx4008.c5
-rw-r--r--drivers/usb/host/ohci-pxa27x.c13
4 files changed, 15 insertions, 7 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index ecfe800fd720..ddd4ee1f2413 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -997,7 +997,7 @@ MODULE_LICENSE ("GPL");
997#define PLATFORM_DRIVER ohci_hcd_lh7a404_driver 997#define PLATFORM_DRIVER ohci_hcd_lh7a404_driver
998#endif 998#endif
999 999
1000#ifdef CONFIG_PXA27x 1000#if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx)
1001#include "ohci-pxa27x.c" 1001#include "ohci-pxa27x.c"
1002#define PLATFORM_DRIVER ohci_hcd_pxa27x_driver 1002#define PLATFORM_DRIVER ohci_hcd_pxa27x_driver
1003#endif 1003#endif
diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
index 5cfa3d1c4413..74e1f4be10bb 100644
--- a/drivers/usb/host/ohci-omap.c
+++ b/drivers/usb/host/ohci-omap.c
@@ -47,7 +47,7 @@
47#endif 47#endif
48 48
49#ifdef CONFIG_TPS65010 49#ifdef CONFIG_TPS65010
50#include <asm/arch/tps65010.h> 50#include <linux/i2c/tps65010.h>
51#else 51#else
52 52
53#define LOW 0 53#define LOW 0
diff --git a/drivers/usb/host/ohci-pnx4008.c b/drivers/usb/host/ohci-pnx4008.c
index ca2a6abbc117..6c52c66b659f 100644
--- a/drivers/usb/host/ohci-pnx4008.c
+++ b/drivers/usb/host/ohci-pnx4008.c
@@ -112,9 +112,9 @@ static int isp1301_detach(struct i2c_client *client);
112static int isp1301_command(struct i2c_client *client, unsigned int cmd, 112static int isp1301_command(struct i2c_client *client, unsigned int cmd,
113 void *arg); 113 void *arg);
114 114
115static unsigned short normal_i2c[] = 115static const unsigned short normal_i2c[] =
116 { ISP1301_I2C_ADDR, ISP1301_I2C_ADDR + 1, I2C_CLIENT_END }; 116 { ISP1301_I2C_ADDR, ISP1301_I2C_ADDR + 1, I2C_CLIENT_END };
117static unsigned short dummy_i2c_addrlist[] = { I2C_CLIENT_END }; 117static const unsigned short dummy_i2c_addrlist[] = { I2C_CLIENT_END };
118 118
119static struct i2c_client_address_data addr_data = { 119static struct i2c_client_address_data addr_data = {
120 .normal_i2c = normal_i2c, 120 .normal_i2c = normal_i2c,
@@ -123,7 +123,6 @@ static struct i2c_client_address_data addr_data = {
123}; 123};
124 124
125struct i2c_driver isp1301_driver = { 125struct i2c_driver isp1301_driver = {
126 .id = I2C_DRIVERID_I2CDEV, /* Fake Id */
127 .class = I2C_CLASS_HWMON, 126 .class = I2C_CLASS_HWMON,
128 .attach_adapter = isp1301_probe, 127 .attach_adapter = isp1301_probe,
129 .detach_client = isp1301_detach, 128 .detach_client = isp1301_detach,
diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c
index 23d2fe5a62f4..ff9a79843471 100644
--- a/drivers/usb/host/ohci-pxa27x.c
+++ b/drivers/usb/host/ohci-pxa27x.c
@@ -22,6 +22,7 @@
22#include <linux/device.h> 22#include <linux/device.h>
23#include <linux/signal.h> 23#include <linux/signal.h>
24#include <linux/platform_device.h> 24#include <linux/platform_device.h>
25#include <linux/clk.h>
25 26
26#include <asm/mach-types.h> 27#include <asm/mach-types.h>
27#include <asm/hardware.h> 28#include <asm/hardware.h>
@@ -32,6 +33,8 @@
32 33
33#define UHCRHPS(x) __REG2( 0x4C000050, (x)<<2 ) 34#define UHCRHPS(x) __REG2( 0x4C000050, (x)<<2 )
34 35
36static struct clk *usb_clk;
37
35/* 38/*
36 PMM_NPS_MODE -- PMM Non-power switching mode 39 PMM_NPS_MODE -- PMM Non-power switching mode
37 Ports are powered continuously. 40 Ports are powered continuously.
@@ -80,7 +83,7 @@ static int pxa27x_start_hc(struct device *dev)
80 83
81 inf = dev->platform_data; 84 inf = dev->platform_data;
82 85
83 pxa_set_cken(CKEN_USBHOST, 1); 86 clk_enable(usb_clk);
84 87
85 UHCHR |= UHCHR_FHR; 88 UHCHR |= UHCHR_FHR;
86 udelay(11); 89 udelay(11);
@@ -123,7 +126,7 @@ static void pxa27x_stop_hc(struct device *dev)
123 UHCCOMS |= 1; 126 UHCCOMS |= 1;
124 udelay(10); 127 udelay(10);
125 128
126 pxa_set_cken(CKEN_USBHOST, 0); 129 clk_disable(usb_clk);
127} 130}
128 131
129 132
@@ -158,6 +161,10 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
158 return -ENOMEM; 161 return -ENOMEM;
159 } 162 }
160 163
164 usb_clk = clk_get(&pdev->dev, "USBCLK");
165 if (IS_ERR(usb_clk))
166 return PTR_ERR(usb_clk);
167
161 hcd = usb_create_hcd (driver, &pdev->dev, "pxa27x"); 168 hcd = usb_create_hcd (driver, &pdev->dev, "pxa27x");
162 if (!hcd) 169 if (!hcd)
163 return -ENOMEM; 170 return -ENOMEM;
@@ -201,6 +208,7 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
201 release_mem_region(hcd->rsrc_start, hcd->rsrc_len); 208 release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
202 err1: 209 err1:
203 usb_put_hcd(hcd); 210 usb_put_hcd(hcd);
211 clk_put(usb_clk);
204 return retval; 212 return retval;
205} 213}
206 214
@@ -225,6 +233,7 @@ void usb_hcd_pxa27x_remove (struct usb_hcd *hcd, struct platform_device *pdev)
225 iounmap(hcd->regs); 233 iounmap(hcd->regs);
226 release_mem_region(hcd->rsrc_start, hcd->rsrc_len); 234 release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
227 usb_put_hcd(hcd); 235 usb_put_hcd(hcd);
236 clk_put(usb_clk);
228} 237}
229 238
230/*-------------------------------------------------------------------------*/ 239/*-------------------------------------------------------------------------*/