diff options
Diffstat (limited to 'arch/sh/boards/board-sh7785lcr.c')
-rw-r--r-- | arch/sh/boards/board-sh7785lcr.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/sh/boards/board-sh7785lcr.c b/arch/sh/boards/board-sh7785lcr.c index 38a64968d7bf..6f94f17adc46 100644 --- a/arch/sh/boards/board-sh7785lcr.c +++ b/arch/sh/boards/board-sh7785lcr.c | |||
@@ -229,7 +229,7 @@ static struct resource i2c_resources[] = { | |||
229 | static struct i2c_pca9564_pf_platform_data i2c_platform_data = { | 229 | static struct i2c_pca9564_pf_platform_data i2c_platform_data = { |
230 | .gpio = 0, | 230 | .gpio = 0, |
231 | .i2c_clock_speed = I2C_PCA_CON_330kHz, | 231 | .i2c_clock_speed = I2C_PCA_CON_330kHz, |
232 | .timeout = 100, | 232 | .timeout = HZ, |
233 | }; | 233 | }; |
234 | 234 | ||
235 | static struct platform_device i2c_device = { | 235 | static struct platform_device i2c_device = { |
@@ -275,7 +275,18 @@ void __init init_sh7785lcr_IRQ(void) | |||
275 | 275 | ||
276 | static void sh7785lcr_power_off(void) | 276 | static void sh7785lcr_power_off(void) |
277 | { | 277 | { |
278 | ctrl_outb(0x01, P2SEGADDR(PLD_POFCR)); | 278 | unsigned char *p; |
279 | |||
280 | p = ioremap(PLD_POFCR, PLD_POFCR + 1); | ||
281 | if (!p) { | ||
282 | printk(KERN_ERR "%s: ioremap error.\n", __func__); | ||
283 | return; | ||
284 | } | ||
285 | *p = 0x01; | ||
286 | iounmap(p); | ||
287 | set_bl_bit(); | ||
288 | while (1) | ||
289 | cpu_relax(); | ||
279 | } | 290 | } |
280 | 291 | ||
281 | /* Initialize the board */ | 292 | /* Initialize the board */ |