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.