sony-laptop: Make sony_pic_set_wwanpower not take mutexes
For consistency with __sony_pic_set_bluetoothpower, this is also needed later to allow setting the wwanpower attribute from the resume path and only lock the mutex once. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
f5acf5e898
commit
c9f1e6f67a
1 changed files with 5 additions and 7 deletions
|
@ -2001,18 +2001,14 @@ int sony_pic_camera_command(int command, u8 value)
|
||||||
EXPORT_SYMBOL(sony_pic_camera_command);
|
EXPORT_SYMBOL(sony_pic_camera_command);
|
||||||
|
|
||||||
/* gprs/edge modem (SZ460N and SZ210P), thanks to Joshua Wise */
|
/* gprs/edge modem (SZ460N and SZ210P), thanks to Joshua Wise */
|
||||||
static void sony_pic_set_wwanpower(u8 state)
|
static void __sony_pic_set_wwanpower(u8 state)
|
||||||
{
|
{
|
||||||
state = !!state;
|
state = !!state;
|
||||||
mutex_lock(&spic_dev.lock);
|
if (spic_dev.wwan_power == state)
|
||||||
if (spic_dev.wwan_power == state) {
|
|
||||||
mutex_unlock(&spic_dev.lock);
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
sony_pic_call2(0xB0, state);
|
sony_pic_call2(0xB0, state);
|
||||||
sony_pic_call1(0x82);
|
sony_pic_call1(0x82);
|
||||||
spic_dev.wwan_power = state;
|
spic_dev.wwan_power = state;
|
||||||
mutex_unlock(&spic_dev.lock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t sony_pic_wwanpower_store(struct device *dev,
|
static ssize_t sony_pic_wwanpower_store(struct device *dev,
|
||||||
|
@ -2024,7 +2020,9 @@ static ssize_t sony_pic_wwanpower_store(struct device *dev,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
value = simple_strtoul(buffer, NULL, 10);
|
value = simple_strtoul(buffer, NULL, 10);
|
||||||
sony_pic_set_wwanpower(value);
|
mutex_lock(&spic_dev.lock);
|
||||||
|
__sony_pic_set_wwanpower(value);
|
||||||
|
mutex_unlock(&spic_dev.lock);
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue