|
@@ -122,12 +122,13 @@ err:
|
|
|
static int dcon_bus_stabilize(struct dcon_priv *dcon, int is_powered_down)
|
|
|
{
|
|
|
unsigned long timeout;
|
|
|
+ u8 pm;
|
|
|
int x;
|
|
|
|
|
|
power_up:
|
|
|
if (is_powered_down) {
|
|
|
- x = 1;
|
|
|
- x = olpc_ec_cmd(EC_DCON_POWER_MODE, (u8 *)&x, 1, NULL, 0);
|
|
|
+ pm = 1;
|
|
|
+ x = olpc_ec_cmd(EC_DCON_POWER_MODE, &pm, 1, NULL, 0);
|
|
|
if (x) {
|
|
|
pr_warn("unable to force dcon to power up: %d!\n", x);
|
|
|
return x;
|
|
@@ -144,8 +145,8 @@ power_up:
|
|
|
if (x < 0) {
|
|
|
pr_err("unable to stabilize dcon's smbus, reasserting power and praying.\n");
|
|
|
BUG_ON(olpc_board_at_least(olpc_board(0xc2)));
|
|
|
- x = 0;
|
|
|
- olpc_ec_cmd(EC_DCON_POWER_MODE, (u8 *)&x, 1, NULL, 0);
|
|
|
+ pm = 0;
|
|
|
+ olpc_ec_cmd(EC_DCON_POWER_MODE, &pm, 1, NULL, 0);
|
|
|
msleep(100);
|
|
|
is_powered_down = 1;
|
|
|
goto power_up; /* argh, stupid hardware.. */
|
|
@@ -208,8 +209,8 @@ static void dcon_sleep(struct dcon_priv *dcon, bool sleep)
|
|
|
return;
|
|
|
|
|
|
if (sleep) {
|
|
|
- x = 0;
|
|
|
- x = olpc_ec_cmd(EC_DCON_POWER_MODE, (u8 *)&x, 1, NULL, 0);
|
|
|
+ u8 pm = 0;
|
|
|
+ x = olpc_ec_cmd(EC_DCON_POWER_MODE, &pm, 1, NULL, 0);
|
|
|
if (x)
|
|
|
pr_warn("unable to force dcon to power down: %d!\n", x);
|
|
|
else
|