You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[PATCH] I2C: Convert i2c to mutexes
The patch below converts a few i2c semaphores to mutexes Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2488a39d23
commit
b3585e4f5b
@@ -26,6 +26,7 @@
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/rtc.h>
|
||||
#include <linux/bcd.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#define DS1374_REG_TOD0 0x00
|
||||
#define DS1374_REG_TOD1 0x01
|
||||
@@ -41,7 +42,7 @@
|
||||
|
||||
#define DS1374_DRV_NAME "ds1374"
|
||||
|
||||
static DECLARE_MUTEX(ds1374_mutex);
|
||||
static DEFINE_MUTEX(ds1374_mutex);
|
||||
|
||||
static struct i2c_driver ds1374_driver;
|
||||
static struct i2c_client *save_client;
|
||||
@@ -114,7 +115,7 @@ ulong ds1374_get_rtc_time(void)
|
||||
ulong t1, t2;
|
||||
int limit = 10; /* arbitrary retry limit */
|
||||
|
||||
down(&ds1374_mutex);
|
||||
mutex_lock(&ds1374_mutex);
|
||||
|
||||
/*
|
||||
* Since the reads are being performed one byte at a time using
|
||||
@@ -127,7 +128,7 @@ ulong ds1374_get_rtc_time(void)
|
||||
t2 = ds1374_read_rtc();
|
||||
} while (t1 != t2 && limit--);
|
||||
|
||||
up(&ds1374_mutex);
|
||||
mutex_unlock(&ds1374_mutex);
|
||||
|
||||
if (t1 != t2) {
|
||||
dev_warn(&save_client->dev,
|
||||
@@ -145,7 +146,7 @@ static void ds1374_set_tlet(ulong arg)
|
||||
|
||||
t1 = *(ulong *) arg;
|
||||
|
||||
down(&ds1374_mutex);
|
||||
mutex_lock(&ds1374_mutex);
|
||||
|
||||
/*
|
||||
* Since the writes are being performed one byte at a time using
|
||||
@@ -158,7 +159,7 @@ static void ds1374_set_tlet(ulong arg)
|
||||
t2 = ds1374_read_rtc();
|
||||
} while (t1 != t2 && limit--);
|
||||
|
||||
up(&ds1374_mutex);
|
||||
mutex_unlock(&ds1374_mutex);
|
||||
|
||||
if (t1 != t2)
|
||||
dev_warn(&save_client->dev,
|
||||
|
||||
@@ -24,13 +24,14 @@
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/rtc.h>
|
||||
#include <linux/bcd.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include <asm/time.h>
|
||||
#include <asm/rtc.h>
|
||||
|
||||
#define M41T00_DRV_NAME "m41t00"
|
||||
|
||||
static DECLARE_MUTEX(m41t00_mutex);
|
||||
static DEFINE_MUTEX(m41t00_mutex);
|
||||
|
||||
static struct i2c_driver m41t00_driver;
|
||||
static struct i2c_client *save_client;
|
||||
@@ -54,7 +55,7 @@ m41t00_get_rtc_time(void)
|
||||
sec = min = hour = day = mon = year = 0;
|
||||
sec1 = min1 = hour1 = day1 = mon1 = year1 = 0;
|
||||
|
||||
down(&m41t00_mutex);
|
||||
mutex_lock(&m41t00_mutex);
|
||||
do {
|
||||
if (((sec = i2c_smbus_read_byte_data(save_client, 0)) >= 0)
|
||||
&& ((min = i2c_smbus_read_byte_data(save_client, 1))
|
||||
@@ -80,7 +81,7 @@ m41t00_get_rtc_time(void)
|
||||
mon1 = mon;
|
||||
year1 = year;
|
||||
} while (--limit > 0);
|
||||
up(&m41t00_mutex);
|
||||
mutex_unlock(&m41t00_mutex);
|
||||
|
||||
if (limit == 0) {
|
||||
dev_warn(&save_client->dev,
|
||||
@@ -125,7 +126,7 @@ m41t00_set_tlet(ulong arg)
|
||||
BIN_TO_BCD(tm.tm_mday);
|
||||
BIN_TO_BCD(tm.tm_year);
|
||||
|
||||
down(&m41t00_mutex);
|
||||
mutex_lock(&m41t00_mutex);
|
||||
if ((i2c_smbus_write_byte_data(save_client, 0, tm.tm_sec & 0x7f) < 0)
|
||||
|| (i2c_smbus_write_byte_data(save_client, 1, tm.tm_min & 0x7f)
|
||||
< 0)
|
||||
@@ -140,7 +141,7 @@ m41t00_set_tlet(ulong arg)
|
||||
|
||||
dev_warn(&save_client->dev,"m41t00: can't write to rtc chip\n");
|
||||
|
||||
up(&m41t00_mutex);
|
||||
mutex_unlock(&m41t00_mutex);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user