All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <43C5567C.8070106@varma-el.com>

diff --git a/a/1.txt b/N1/1.txt
index 69598c7..cff6ac4 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -41,7 +41,3 @@ Could you made executive decision about it?
 -- 
 Regards
 Andrey Volkov
--------------- next part --------------
-An embedded and charset-unspecified text was scrubbed...
-Name: 01-stm_combind_fixes.diff
-Url: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20060111/662a70d3/01-stm_combind_fixes.pl
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..fee1a0c
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,5 @@
+Content-Type: text/plain;
+ name="01-stm_combind_fixes.diff"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline;
+ filename="01-stm_combind_fixes.diff"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..09de1eb
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,134 @@
+	* Misc fixes of Mark A. Greers's stm_combined patch
+---
+
+ drivers/i2c/chips/Kconfig  |    2 +-
+ drivers/i2c/chips/m41txx.c |   45 +++++++++++++++++++++++++-------------------
+ include/linux/m41txx.h     |   34 +++++++++++++++++++++++++++++++++
+ 3 files changed, 61 insertions(+), 20 deletions(-)
+
+diff --git a/drivers/i2c/chips/Kconfig b/drivers/i2c/chips/Kconfig
+index 4a26fb4..8fa3840 100644
+--- a/drivers/i2c/chips/Kconfig
++++ b/drivers/i2c/chips/Kconfig
+@@ -134,6 +134,6 @@ config RTC_M41TXX_I2C
+ 	  of I2C RTC chips.
+ 
+ 	  This driver can also be built as a module.  If so, the module
+-	  will be called m41t00.
++	  will be called m41txx.
+ 
+ endmenu
+diff --git a/drivers/i2c/chips/m41txx.c b/drivers/i2c/chips/m41txx.c
+index 82ada1f..97564a1 100644
+--- a/drivers/i2c/chips/m41txx.c
++++ b/drivers/i2c/chips/m41txx.c
+@@ -124,12 +124,12 @@ m41txx_get_rtc_time(void)
+ 	mon &= 0x1f;
+ 	year &= 0xff;
+ 
+-	BCD_TO_BIN(sec);
+-	BCD_TO_BIN(min);
+-	BCD_TO_BIN(hour);
+-	BCD_TO_BIN(day);
+-	BCD_TO_BIN(mon);
+-	BCD_TO_BIN(year);
++	sec = BCD2BIN(sec);
++	min = BCD2BIN(min);
++	hour = BCD2BIN(hour);
++	day = BCD2BIN(day);
++	mon = BCD2BIN(mon);
++	year = BCD2BIN(year);
+ 
+ 	year += 1900;
+ 	if (year < 1970)
+@@ -148,12 +148,12 @@ m41txx_set(void *arg)
+ 	to_tm(nowtime, &tm);
+ 	tm.tm_year = (tm.tm_year - 1900) % 100;
+ 
+-	BIN_TO_BCD(tm.tm_sec);
+-	BIN_TO_BCD(tm.tm_min);
+-	BIN_TO_BCD(tm.tm_hour);
+-	BIN_TO_BCD(tm.tm_mday);
+-	BIN_TO_BCD(tm.tm_mon);
+-	BIN_TO_BCD(tm.tm_year);
++	tm.tm_sec = BIN2BCD(tm.tm_sec);
++	tm.tm_min = BIN2BCD(tm.tm_min);
++	tm.tm_hour = BIN2BCD(tm.tm_hour);
++	tm.tm_mday = BIN2BCD(tm.tm_mday);
++	tm.tm_mon = BIN2BCD(tm.tm_mon);
++	tm.tm_year = BIN2BCD(tm.tm_year);
+ 
+ 	down(&m41txx_mutex);
+ 
+@@ -259,14 +259,21 @@ m41txx_probe(struct i2c_adapter *adap, i
+ 	if ((rc = i2c_attach_client(client)) != 0)
+ 		goto probe_err;
+ 
+-	/* Sst SQW frequency & enable */
+-	if ((m41txx_chip->type != M41TXX_TYPE_M41T00) && m41txx_chip->sqw_freq
+-			&& ((rc = i2c_smbus_read_byte_data(client,
+-				m41txx_chip->alarm_mon)) >= 0)
++	/* Set SQW frequency & enable */
++	if ((m41txx_chip->type != M41TXX_TYPE_M41T00)) {
++		if (m41txx_chip->sqw_freq  
++			&& ((rc = i2c_smbus_read_byte_data(client, 
++				 m41txx_chip->alarm_mon)) >= 0) 
+ 			&& !(rc & 0x40) && !(i2c_smbus_write_byte_data(
+-				client,m41txx_chip->sqw,m41txx_chip->sqw_freq)))
+-		i2c_smbus_write_byte_data(client, m41txx_chip->alarm_mon,
+-			rc | 0x40);
++				client,m41txx_chip->sqw, m41txx_chip->sqw_freq)))
++			i2c_smbus_write_byte_data(client, m41txx_chip->alarm_mon,
++				rc | 0x40);
++	   /* Reset HT (Halt Update) flag, if it set */	
++		if ( ((rc = i2c_smbus_read_byte_data(client, 
++				 m41txx_chip->alarm_hour)) >= 0) && (rc & 0x40))
++			i2c_smbus_write_byte_data(client, m41txx_chip->alarm_hour,
++				rc & ~0x40);
++	} 
+ 
+ 	/* Make sure oscillator is running (i.e., clear 'ST' bit in sec reg) */
+ 	if (((rc = i2c_smbus_read_byte_data(client, m41txx_chip->sec)) < 0)
+diff --git a/include/linux/m41txx.h b/include/linux/m41txx.h
+index 31a40d2..8176721 100644
+--- a/include/linux/m41txx.h
++++ b/include/linux/m41txx.h
+@@ -25,4 +25,38 @@ struct m41txx_platform_data {
+ 	u32	sqw_freq;
+ };
+ 
++/* SQW output disabled, this is default value by power on*/
++#define SQW_FREQ_DISABLE	(0)
++
++/* 32.768 KHz */
++#define SQW_FREQ_32KHZ	(1<<4)
++/* 8.192 KHz */
++#define SQW_FREQ_8KHZ	(2<<4)
++/* 4.096 KHz */
++#define SQW_FREQ_4KHZ	(3<<4)
++/* 2.048 KHz */
++#define SQW_FREQ_2KHZ	(4<<4)
++/* 1.024 KHz */
++#define SQW_FREQ_1KHZ	(5<<4)
++/* 512 Hz */
++#define SQW_FREQ_512HZ	(6<<4)
++/* 256 Hz */
++#define SQW_FREQ_256HZ	(7<<4)
++/* 128 Hz */
++#define SQW_FREQ_128HZ	(8<<4)
++/* 64 Hz */
++#define SQW_FREQ_64HZ	(9<<4)
++/* 32 Hz */
++#define SQW_FREQ_32HZ	(10<<4)
++/* 16 Hz */
++#define SQW_FREQ_16HZ	(11<<4)
++/* 8 Hz */
++#define SQW_FREQ_8HZ	(12<<4)
++/* 4 Hz */
++#define SQW_FREQ_4HZ	(13<<4)
++/* 2 Hz */
++#define SQW_FREQ_2HZ	(14<<4)
++/* 1 Hz */
++#define SQW_FREQ_1HZ	(15<<4)
++
+ #endif /* _M41TXX_H */
diff --git a/a/content_digest b/N1/content_digest
index d0b5403..6863d35 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -6,15 +6,15 @@
  "ref\020060111000912.GA11471@mag.az.mvista.com\0"
  "ref\043C4D275.2070505@varma-el.com\0"
  "ref\020060111161954.GB6405@mag.az.mvista.com\0"
- "From\0avolkov@varma-el.com (Andrey Volkov)\0"
- "Subject\0[lm-sensors] [RFC] i2c: Combined ST m41txx i2c rtc chip driver\0"
- "Date\0Wed, 11 Jan 2006 19:03:24 +0000\0"
+ "From\0Andrey Volkov <avolkov@varma-el.com>\0"
+ "Subject\0Re: [RFC] i2c: Combined ST m41txx i2c rtc chip driver\0"
+ "Date\0Wed, 11 Jan 2006 22:03:24 +0300\0"
  "To\0Mark A. Greer <mgreer@mvista.com>"
  " Jean Delvare <khali@linux-fr.org>\0"
  "Cc\0adi@hexapodia.org"
   lm-sensors@lm-sensors.org
  " linux-kernel@vger.kernel.org\0"
- "\00:1\0"
+ "\01:1\0"
  "b\0"
  "Hi Mark,\n"
  "\n"
@@ -58,10 +58,143 @@
  "\n"
  "-- \n"
  "Regards\n"
- "Andrey Volkov\n"
- "-------------- next part --------------\n"
- "An embedded and charset-unspecified text was scrubbed...\n"
- "Name: 01-stm_combind_fixes.diff\n"
- Url: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20060111/662a70d3/01-stm_combind_fixes.pl
+ Andrey Volkov
+ "\01:2\0"
+ "fn\001-stm_combind_fixes.diff\0"
+ "b\0"
+ "\t* Misc fixes of Mark A. Greers's stm_combined patch\n"
+ "---\n"
+ "\n"
+ " drivers/i2c/chips/Kconfig  |    2 +-\n"
+ " drivers/i2c/chips/m41txx.c |   45 +++++++++++++++++++++++++-------------------\n"
+ " include/linux/m41txx.h     |   34 +++++++++++++++++++++++++++++++++\n"
+ " 3 files changed, 61 insertions(+), 20 deletions(-)\n"
+ "\n"
+ "diff --git a/drivers/i2c/chips/Kconfig b/drivers/i2c/chips/Kconfig\n"
+ "index 4a26fb4..8fa3840 100644\n"
+ "--- a/drivers/i2c/chips/Kconfig\n"
+ "+++ b/drivers/i2c/chips/Kconfig\n"
+ "@@ -134,6 +134,6 @@ config RTC_M41TXX_I2C\n"
+ " \t  of I2C RTC chips.\n"
+ " \n"
+ " \t  This driver can also be built as a module.  If so, the module\n"
+ "-\t  will be called m41t00.\n"
+ "+\t  will be called m41txx.\n"
+ " \n"
+ " endmenu\n"
+ "diff --git a/drivers/i2c/chips/m41txx.c b/drivers/i2c/chips/m41txx.c\n"
+ "index 82ada1f..97564a1 100644\n"
+ "--- a/drivers/i2c/chips/m41txx.c\n"
+ "+++ b/drivers/i2c/chips/m41txx.c\n"
+ "@@ -124,12 +124,12 @@ m41txx_get_rtc_time(void)\n"
+ " \tmon &= 0x1f;\n"
+ " \tyear &= 0xff;\n"
+ " \n"
+ "-\tBCD_TO_BIN(sec);\n"
+ "-\tBCD_TO_BIN(min);\n"
+ "-\tBCD_TO_BIN(hour);\n"
+ "-\tBCD_TO_BIN(day);\n"
+ "-\tBCD_TO_BIN(mon);\n"
+ "-\tBCD_TO_BIN(year);\n"
+ "+\tsec = BCD2BIN(sec);\n"
+ "+\tmin = BCD2BIN(min);\n"
+ "+\thour = BCD2BIN(hour);\n"
+ "+\tday = BCD2BIN(day);\n"
+ "+\tmon = BCD2BIN(mon);\n"
+ "+\tyear = BCD2BIN(year);\n"
+ " \n"
+ " \tyear += 1900;\n"
+ " \tif (year < 1970)\n"
+ "@@ -148,12 +148,12 @@ m41txx_set(void *arg)\n"
+ " \tto_tm(nowtime, &tm);\n"
+ " \ttm.tm_year = (tm.tm_year - 1900) % 100;\n"
+ " \n"
+ "-\tBIN_TO_BCD(tm.tm_sec);\n"
+ "-\tBIN_TO_BCD(tm.tm_min);\n"
+ "-\tBIN_TO_BCD(tm.tm_hour);\n"
+ "-\tBIN_TO_BCD(tm.tm_mday);\n"
+ "-\tBIN_TO_BCD(tm.tm_mon);\n"
+ "-\tBIN_TO_BCD(tm.tm_year);\n"
+ "+\ttm.tm_sec = BIN2BCD(tm.tm_sec);\n"
+ "+\ttm.tm_min = BIN2BCD(tm.tm_min);\n"
+ "+\ttm.tm_hour = BIN2BCD(tm.tm_hour);\n"
+ "+\ttm.tm_mday = BIN2BCD(tm.tm_mday);\n"
+ "+\ttm.tm_mon = BIN2BCD(tm.tm_mon);\n"
+ "+\ttm.tm_year = BIN2BCD(tm.tm_year);\n"
+ " \n"
+ " \tdown(&m41txx_mutex);\n"
+ " \n"
+ "@@ -259,14 +259,21 @@ m41txx_probe(struct i2c_adapter *adap, i\n"
+ " \tif ((rc = i2c_attach_client(client)) != 0)\n"
+ " \t\tgoto probe_err;\n"
+ " \n"
+ "-\t/* Sst SQW frequency & enable */\n"
+ "-\tif ((m41txx_chip->type != M41TXX_TYPE_M41T00) && m41txx_chip->sqw_freq\n"
+ "-\t\t\t&& ((rc = i2c_smbus_read_byte_data(client,\n"
+ "-\t\t\t\tm41txx_chip->alarm_mon)) >= 0)\n"
+ "+\t/* Set SQW frequency & enable */\n"
+ "+\tif ((m41txx_chip->type != M41TXX_TYPE_M41T00)) {\n"
+ "+\t\tif (m41txx_chip->sqw_freq  \n"
+ "+\t\t\t&& ((rc = i2c_smbus_read_byte_data(client, \n"
+ "+\t\t\t\t m41txx_chip->alarm_mon)) >= 0) \n"
+ " \t\t\t&& !(rc & 0x40) && !(i2c_smbus_write_byte_data(\n"
+ "-\t\t\t\tclient,m41txx_chip->sqw,m41txx_chip->sqw_freq)))\n"
+ "-\t\ti2c_smbus_write_byte_data(client, m41txx_chip->alarm_mon,\n"
+ "-\t\t\trc | 0x40);\n"
+ "+\t\t\t\tclient,m41txx_chip->sqw, m41txx_chip->sqw_freq)))\n"
+ "+\t\t\ti2c_smbus_write_byte_data(client, m41txx_chip->alarm_mon,\n"
+ "+\t\t\t\trc | 0x40);\n"
+ "+\t   /* Reset HT (Halt Update) flag, if it set */\t\n"
+ "+\t\tif ( ((rc = i2c_smbus_read_byte_data(client, \n"
+ "+\t\t\t\t m41txx_chip->alarm_hour)) >= 0) && (rc & 0x40))\n"
+ "+\t\t\ti2c_smbus_write_byte_data(client, m41txx_chip->alarm_hour,\n"
+ "+\t\t\t\trc & ~0x40);\n"
+ "+\t} \n"
+ " \n"
+ " \t/* Make sure oscillator is running (i.e., clear 'ST' bit in sec reg) */\n"
+ " \tif (((rc = i2c_smbus_read_byte_data(client, m41txx_chip->sec)) < 0)\n"
+ "diff --git a/include/linux/m41txx.h b/include/linux/m41txx.h\n"
+ "index 31a40d2..8176721 100644\n"
+ "--- a/include/linux/m41txx.h\n"
+ "+++ b/include/linux/m41txx.h\n"
+ "@@ -25,4 +25,38 @@ struct m41txx_platform_data {\n"
+ " \tu32\tsqw_freq;\n"
+ " };\n"
+ " \n"
+ "+/* SQW output disabled, this is default value by power on*/\n"
+ "+#define SQW_FREQ_DISABLE\t(0)\n"
+ "+\n"
+ "+/* 32.768 KHz */\n"
+ "+#define SQW_FREQ_32KHZ\t(1<<4)\n"
+ "+/* 8.192 KHz */\n"
+ "+#define SQW_FREQ_8KHZ\t(2<<4)\n"
+ "+/* 4.096 KHz */\n"
+ "+#define SQW_FREQ_4KHZ\t(3<<4)\n"
+ "+/* 2.048 KHz */\n"
+ "+#define SQW_FREQ_2KHZ\t(4<<4)\n"
+ "+/* 1.024 KHz */\n"
+ "+#define SQW_FREQ_1KHZ\t(5<<4)\n"
+ "+/* 512 Hz */\n"
+ "+#define SQW_FREQ_512HZ\t(6<<4)\n"
+ "+/* 256 Hz */\n"
+ "+#define SQW_FREQ_256HZ\t(7<<4)\n"
+ "+/* 128 Hz */\n"
+ "+#define SQW_FREQ_128HZ\t(8<<4)\n"
+ "+/* 64 Hz */\n"
+ "+#define SQW_FREQ_64HZ\t(9<<4)\n"
+ "+/* 32 Hz */\n"
+ "+#define SQW_FREQ_32HZ\t(10<<4)\n"
+ "+/* 16 Hz */\n"
+ "+#define SQW_FREQ_16HZ\t(11<<4)\n"
+ "+/* 8 Hz */\n"
+ "+#define SQW_FREQ_8HZ\t(12<<4)\n"
+ "+/* 4 Hz */\n"
+ "+#define SQW_FREQ_4HZ\t(13<<4)\n"
+ "+/* 2 Hz */\n"
+ "+#define SQW_FREQ_2HZ\t(14<<4)\n"
+ "+/* 1 Hz */\n"
+ "+#define SQW_FREQ_1HZ\t(15<<4)\n"
+ "+\n"
+  #endif /* _M41TXX_H */
 
-97f39b185537adef6d9dd5fae558d3cc9ee721f399de2e291b8e59aa66cdcf9c
+4e380fc323f0a19f33f2bc7ff881582c76c5999ac801398e5ec2bf5366881d77

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.