All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <52A7BFA4.2080402@roeck-us.net>

diff --git a/a/1.txt b/N1/1.txt
index dfbbc21..f2d4374 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,41 +1,69 @@
-T24gMTIvMTAvMjAxMyAwNDo1NyBQTSwgSm9zw6kgTWlndWVsIEdvbsOnYWx2ZXMgd3JvdGU6Cj4g
-U29tZSBJMkMgYnVzIGRyaXZlcnMgZG8gbm90IGFsbG93IHplcm8tbGVuZ2h0IGRhdGEgdHJhbnNm
-ZXJzIHdoaWNoIGFyZQoKcy9sZW5naHQvbGVuZ3RoLwoKPiByZXF1aXJlZCB0byBzdGFydCBhIG1l
-c3VyZW1lbnQgd2l0aCB0aGUgSElINjEzMC8xIHNlbnNvci4gTmV2ZXJ0aGVsZXNzLAoKcy9tZXN1
-cmVtZW50L21lYXN1cmVtZW50LwoKPiB3ZSBjYW4gb3ZlcmNvbWUgdGhpcyBsaW1pdGF0aW9uIGJ5
-IHdyaXRpbmcgYSB6ZXJvIGR1bW15IGJ5dGUuIFRoaXMgYnl0ZQo+IGlzIGlnbm9yZWQgYnkgdGhl
-IHNlbnNvciBhbmQgd2FzIHZlcmlmaWVkIHRvIGJlIHdvcmtpbmcgd2l0aCB0aGUgT01BUAo+IEky
-QyBidXMgZHJpdmVyIGluIGEgQmVhZ2xlQm9uZSBib2FyZC4KPgo+IFNpZ25lZC1vZmYtYnk6IEpv
-c8OpIE1pZ3VlbCBHb27Dp2FsdmVzIDxqb3NlLmdvbmNhbHZlc0Bpbm92LnB0Pgo+IC0tLQo+ICAg
-ZHJpdmVycy9od21vbi9oaWg2MTMwLmMgfCAgIDE2ICsrKysrKysrKysrKysrLS0KPiAgIDEgZmls
-ZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp
-dCBhL2RyaXZlcnMvaHdtb24vaGloNjEzMC5jIGIvZHJpdmVycy9od21vbi9oaWg2MTMwLmMKPiBp
-bmRleCAyZGMzN2M3Li5hODYwY2M0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaHdtb24vaGloNjEz
-MC5jCj4gKysrIGIvZHJpdmVycy9od21vbi9oaWg2MTMwLmMKPiBAQCAtMTIxLDggKzEyMSwyMCBA
-QCBzdGF0aWMgaW50IGhpaDYxMzBfdXBkYXRlX21lYXN1cmVtZW50cyhzdHJ1Y3QgaTJjX2NsaWVu
-dCAqY2xpZW50KQo+ICAgCSAqLwo+ICAgCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGhpaDYxMzAt
-Pmxhc3RfdXBkYXRlICsgSFopIHx8ICFoaWg2MTMwLT52YWxpZCkgewo+Cj4gLQkJLyogd3JpdGUg
-dG8gc2xhdmUgYWRkcmVzcywgbm8gZGF0YSwgdG8gcmVxdWVzdCBhIG1lYXN1cmVtZW50ICovCj4g
-LQkJcmV0ID0gaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgdG1wLCAwKTsKPiArCQkvKgo+ICsJCSAq
-IFdyaXRlIHRvIHNsYXZlIGFkZHJlc3MsIHRvIHJlcXVlc3QgYSBtZWFzdXJlbWVudC4KCnMvLC8v
-Cgo+ICsJCSAqIEFjY29yZGluZyB3aXRoIHRoZSBkYXRhc2hlZXQgaXQgc2hvdWxkIGJlIHdpdGgg
-bm8gZGF0YSwgYnV0Cj4gKwkJICogZm9yIHN5c3RlbXMgd2l0aCBJMkMgYnVzIGRyaXZlcnMgdGhh
-dCBkbyBub3QgYWxsb3cgemVybwo+ICsJCSAqIGxlbmd0aCBwYWNrZXRzIHdlIHdyaXRlIG9uZSBk
-dW1teSBieXRlIHRvIGFsbG93IHNlbnNvcgo+ICsJCSAqIG1lYXN1cmVtZW50cyBvbiB0aGVtLgo+
-ICsJCSAqLwo+ICsJCWlmIChpMmNfZ2V0X2Z1bmN0aW9uYWxpdHkoY2xpZW50LT5hZGFwdGVyKSAm
-Cj4gKwkJICAgIEkyQ19GVU5DX1NNQlVTX1FVSUNLKSB7Cj4gKwkJCXJldCA9IGkyY19tYXN0ZXJf
-c2VuZChjbGllbnQsIHRtcCwgMCk7Cj4gKwkJfSBlbHNlIHsKPiArCQkJdG1wWzBdID0gMDsKPiAr
-CQkJcmV0ID0gaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgdG1wLCAxKTsKPiArCQl9CgpZb3UgY2Fu
-IHNpbXBsaWZ5IHRoaXMgY29kZSBieSBpbnRyb2R1Y2luZyBhIHZhcmlhYmxlIHRvIGhvbGQKdGhl
-IHdyaXRlIGxlbmd0aCBpbnRvIHN0cnVjdCBoaWg2MTMwLiBUaGlzIHZhcmlhYmxlIGNhbiBiZQpp
-bml0aWFsaXplZCB3aXRoIDEgb3IgMCBpbiB0aGUgcHJvYmUgZnVuY3Rpb24uCgoJaWYgKGkyY19j
-aGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUVVJQ0sp
-KQoJCWhpaDYxMzAtPndyaXRlX2xlbmd0aCA9IDA7CgllbHNlCgkJaGloNjEzMC0+d3JpdGVfbGVu
-Z3RoID0gMTsKClRoZW4gcmVwbGFjZSBhYm92ZSBjb2RlIHdpdGgKCgl0bXBbMF0gPSAwOwoJcmV0
-ID0gaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgdG1wLCBoaWg2MTMwLT53cml0ZV9sZW5ndGgpOwoK
-VGhpcyB3YXkgeW91IGRvbid0IGhhdmUgdG8gY2FsbCBpMmNfe2dldCxjaGVja31fZnVuY3Rpb25h
-bGl0eSgpIHJlcGVhdGVkbHkuCgpUaGFua3MsCkd1ZW50ZXIKCQo+ICAgCQlpZiAocmV0IDwgMCkK
-PiAgIAkJCWdvdG8gb3V0Owo+Cj4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
-X19fX19fX19fX19fXwpsbS1zZW5zb3JzIG1haWxpbmcgbGlzdApsbS1zZW5zb3JzQGxtLXNlbnNv
-cnMub3JnCmh0dHA6Ly9saXN0cy5sbS1zZW5zb3JzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xtLXNl
-bnNvcnM
+On 12/10/2013 04:57 PM, José Miguel Gonçalves wrote:
+> Some I2C bus drivers do not allow zero-lenght data transfers which are
+
+s/lenght/length/
+
+> required to start a mesurement with the HIH6130/1 sensor. Nevertheless,
+
+s/mesurement/measurement/
+
+> we can overcome this limitation by writing a zero dummy byte. This byte
+> is ignored by the sensor and was verified to be working with the OMAP
+> I2C bus driver in a BeagleBone board.
+>
+> Signed-off-by: José Miguel Gonçalves <jose.goncalves@inov.pt>
+> ---
+>   drivers/hwmon/hih6130.c |   16 ++++++++++++++--
+>   1 file changed, 14 insertions(+), 2 deletions(-)
+>
+> diff --git a/drivers/hwmon/hih6130.c b/drivers/hwmon/hih6130.c
+> index 2dc37c7..a860cc4 100644
+> --- a/drivers/hwmon/hih6130.c
+> +++ b/drivers/hwmon/hih6130.c
+> @@ -121,8 +121,20 @@ static int hih6130_update_measurements(struct i2c_client *client)
+>   	 */
+>   	if (time_after(jiffies, hih6130->last_update + HZ) || !hih6130->valid) {
+>
+> -		/* write to slave address, no data, to request a measurement */
+> -		ret = i2c_master_send(client, tmp, 0);
+> +		/*
+> +		 * Write to slave address, to request a measurement.
+
+s/,//
+
+> +		 * According with the datasheet it should be with no data, but
+> +		 * for systems with I2C bus drivers that do not allow zero
+> +		 * length packets we write one dummy byte to allow sensor
+> +		 * measurements on them.
+> +		 */
+> +		if (i2c_get_functionality(client->adapter) &
+> +		    I2C_FUNC_SMBUS_QUICK) {
+> +			ret = i2c_master_send(client, tmp, 0);
+> +		} else {
+> +			tmp[0] = 0;
+> +			ret = i2c_master_send(client, tmp, 1);
+> +		}
+
+You can simplify this code by introducing a variable to hold
+the write length into struct hih6130. This variable can be
+initialized with 1 or 0 in the probe function.
+
+	if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_QUICK))
+		hih6130->write_length = 0;
+	else
+		hih6130->write_length = 1;
+
+Then replace above code with
+
+	tmp[0] = 0;
+	ret = i2c_master_send(client, tmp, hih6130->write_length);
+
+This way you don't have to call i2c_{get,check}_functionality() repeatedly.
+
+Thanks,
+Guenter
+	
+>   		if (ret < 0)
+>   			goto out;
+>
+>
diff --git a/a/content_digest b/N1/content_digest
index baf3025..33a7bd4 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,7 +1,7 @@
  "ref\01386723462-21388-1-git-send-email-jose.goncalves@inov.pt\0"
  "From\0Guenter Roeck <linux@roeck-us.net>\0"
  "Subject\0Re: [lm-sensors] [PATCH] hwmon: HIH-6130: Support I2C bus drivers without I2C_FUNC_SMBUS_QUICK\0"
- "Date\0Wed, 11 Dec 2013 01:28:04 +0000\0"
+ "Date\0Tue, 10 Dec 2013 17:28:04 -0800\0"
  "To\0Jos\303\251 Miguel Gon\303\247alves <jose.goncalves@inov.pt>"
   Jean Delvare <khali@linux-fr.org>
   Guenter Roeck <guenter.roeck@ericsson.com>
@@ -9,46 +9,74 @@
  " linux-kernel@vger.kernel.org\0"
  "\00:1\0"
  "b\0"
- "T24gMTIvMTAvMjAxMyAwNDo1NyBQTSwgSm9zw6kgTWlndWVsIEdvbsOnYWx2ZXMgd3JvdGU6Cj4g\n"
- "U29tZSBJMkMgYnVzIGRyaXZlcnMgZG8gbm90IGFsbG93IHplcm8tbGVuZ2h0IGRhdGEgdHJhbnNm\n"
- "ZXJzIHdoaWNoIGFyZQoKcy9sZW5naHQvbGVuZ3RoLwoKPiByZXF1aXJlZCB0byBzdGFydCBhIG1l\n"
- "c3VyZW1lbnQgd2l0aCB0aGUgSElINjEzMC8xIHNlbnNvci4gTmV2ZXJ0aGVsZXNzLAoKcy9tZXN1\n"
- "cmVtZW50L21lYXN1cmVtZW50LwoKPiB3ZSBjYW4gb3ZlcmNvbWUgdGhpcyBsaW1pdGF0aW9uIGJ5\n"
- "IHdyaXRpbmcgYSB6ZXJvIGR1bW15IGJ5dGUuIFRoaXMgYnl0ZQo+IGlzIGlnbm9yZWQgYnkgdGhl\n"
- "IHNlbnNvciBhbmQgd2FzIHZlcmlmaWVkIHRvIGJlIHdvcmtpbmcgd2l0aCB0aGUgT01BUAo+IEky\n"
- "QyBidXMgZHJpdmVyIGluIGEgQmVhZ2xlQm9uZSBib2FyZC4KPgo+IFNpZ25lZC1vZmYtYnk6IEpv\n"
- "c8OpIE1pZ3VlbCBHb27Dp2FsdmVzIDxqb3NlLmdvbmNhbHZlc0Bpbm92LnB0Pgo+IC0tLQo+ICAg\n"
- "ZHJpdmVycy9od21vbi9oaWg2MTMwLmMgfCAgIDE2ICsrKysrKysrKysrKysrLS0KPiAgIDEgZmls\n"
- "ZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp\n"
- "dCBhL2RyaXZlcnMvaHdtb24vaGloNjEzMC5jIGIvZHJpdmVycy9od21vbi9oaWg2MTMwLmMKPiBp\n"
- "bmRleCAyZGMzN2M3Li5hODYwY2M0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaHdtb24vaGloNjEz\n"
- "MC5jCj4gKysrIGIvZHJpdmVycy9od21vbi9oaWg2MTMwLmMKPiBAQCAtMTIxLDggKzEyMSwyMCBA\n"
- "QCBzdGF0aWMgaW50IGhpaDYxMzBfdXBkYXRlX21lYXN1cmVtZW50cyhzdHJ1Y3QgaTJjX2NsaWVu\n"
- "dCAqY2xpZW50KQo+ICAgCSAqLwo+ICAgCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGhpaDYxMzAt\n"
- "Pmxhc3RfdXBkYXRlICsgSFopIHx8ICFoaWg2MTMwLT52YWxpZCkgewo+Cj4gLQkJLyogd3JpdGUg\n"
- "dG8gc2xhdmUgYWRkcmVzcywgbm8gZGF0YSwgdG8gcmVxdWVzdCBhIG1lYXN1cmVtZW50ICovCj4g\n"
- "LQkJcmV0ID0gaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgdG1wLCAwKTsKPiArCQkvKgo+ICsJCSAq\n"
- "IFdyaXRlIHRvIHNsYXZlIGFkZHJlc3MsIHRvIHJlcXVlc3QgYSBtZWFzdXJlbWVudC4KCnMvLC8v\n"
- "Cgo+ICsJCSAqIEFjY29yZGluZyB3aXRoIHRoZSBkYXRhc2hlZXQgaXQgc2hvdWxkIGJlIHdpdGgg\n"
- "bm8gZGF0YSwgYnV0Cj4gKwkJICogZm9yIHN5c3RlbXMgd2l0aCBJMkMgYnVzIGRyaXZlcnMgdGhh\n"
- "dCBkbyBub3QgYWxsb3cgemVybwo+ICsJCSAqIGxlbmd0aCBwYWNrZXRzIHdlIHdyaXRlIG9uZSBk\n"
- "dW1teSBieXRlIHRvIGFsbG93IHNlbnNvcgo+ICsJCSAqIG1lYXN1cmVtZW50cyBvbiB0aGVtLgo+\n"
- "ICsJCSAqLwo+ICsJCWlmIChpMmNfZ2V0X2Z1bmN0aW9uYWxpdHkoY2xpZW50LT5hZGFwdGVyKSAm\n"
- "Cj4gKwkJICAgIEkyQ19GVU5DX1NNQlVTX1FVSUNLKSB7Cj4gKwkJCXJldCA9IGkyY19tYXN0ZXJf\n"
- "c2VuZChjbGllbnQsIHRtcCwgMCk7Cj4gKwkJfSBlbHNlIHsKPiArCQkJdG1wWzBdID0gMDsKPiAr\n"
- "CQkJcmV0ID0gaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgdG1wLCAxKTsKPiArCQl9CgpZb3UgY2Fu\n"
- "IHNpbXBsaWZ5IHRoaXMgY29kZSBieSBpbnRyb2R1Y2luZyBhIHZhcmlhYmxlIHRvIGhvbGQKdGhl\n"
- "IHdyaXRlIGxlbmd0aCBpbnRvIHN0cnVjdCBoaWg2MTMwLiBUaGlzIHZhcmlhYmxlIGNhbiBiZQpp\n"
- "bml0aWFsaXplZCB3aXRoIDEgb3IgMCBpbiB0aGUgcHJvYmUgZnVuY3Rpb24uCgoJaWYgKGkyY19j\n"
- "aGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwgSTJDX0ZVTkNfU01CVVNfUVVJQ0sp\n"
- "KQoJCWhpaDYxMzAtPndyaXRlX2xlbmd0aCA9IDA7CgllbHNlCgkJaGloNjEzMC0+d3JpdGVfbGVu\n"
- "Z3RoID0gMTsKClRoZW4gcmVwbGFjZSBhYm92ZSBjb2RlIHdpdGgKCgl0bXBbMF0gPSAwOwoJcmV0\n"
- "ID0gaTJjX21hc3Rlcl9zZW5kKGNsaWVudCwgdG1wLCBoaWg2MTMwLT53cml0ZV9sZW5ndGgpOwoK\n"
- "VGhpcyB3YXkgeW91IGRvbid0IGhhdmUgdG8gY2FsbCBpMmNfe2dldCxjaGVja31fZnVuY3Rpb25h\n"
- "bGl0eSgpIHJlcGVhdGVkbHkuCgpUaGFua3MsCkd1ZW50ZXIKCQo+ICAgCQlpZiAocmV0IDwgMCkK\n"
- "PiAgIAkJCWdvdG8gb3V0Owo+Cj4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f\n"
- "X19fX19fX19fX19fXwpsbS1zZW5zb3JzIG1haWxpbmcgbGlzdApsbS1zZW5zb3JzQGxtLXNlbnNv\n"
- "cnMub3JnCmh0dHA6Ly9saXN0cy5sbS1zZW5zb3JzLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xtLXNl\n"
- bnNvcnM
+ "On 12/10/2013 04:57 PM, Jos\303\251 Miguel Gon\303\247alves wrote:\n"
+ "> Some I2C bus drivers do not allow zero-lenght data transfers which are\n"
+ "\n"
+ "s/lenght/length/\n"
+ "\n"
+ "> required to start a mesurement with the HIH6130/1 sensor. Nevertheless,\n"
+ "\n"
+ "s/mesurement/measurement/\n"
+ "\n"
+ "> we can overcome this limitation by writing a zero dummy byte. This byte\n"
+ "> is ignored by the sensor and was verified to be working with the OMAP\n"
+ "> I2C bus driver in a BeagleBone board.\n"
+ ">\n"
+ "> Signed-off-by: Jos\303\251 Miguel Gon\303\247alves <jose.goncalves@inov.pt>\n"
+ "> ---\n"
+ ">   drivers/hwmon/hih6130.c |   16 ++++++++++++++--\n"
+ ">   1 file changed, 14 insertions(+), 2 deletions(-)\n"
+ ">\n"
+ "> diff --git a/drivers/hwmon/hih6130.c b/drivers/hwmon/hih6130.c\n"
+ "> index 2dc37c7..a860cc4 100644\n"
+ "> --- a/drivers/hwmon/hih6130.c\n"
+ "> +++ b/drivers/hwmon/hih6130.c\n"
+ "> @@ -121,8 +121,20 @@ static int hih6130_update_measurements(struct i2c_client *client)\n"
+ ">   \t */\n"
+ ">   \tif (time_after(jiffies, hih6130->last_update + HZ) || !hih6130->valid) {\n"
+ ">\n"
+ "> -\t\t/* write to slave address, no data, to request a measurement */\n"
+ "> -\t\tret = i2c_master_send(client, tmp, 0);\n"
+ "> +\t\t/*\n"
+ "> +\t\t * Write to slave address, to request a measurement.\n"
+ "\n"
+ "s/,//\n"
+ "\n"
+ "> +\t\t * According with the datasheet it should be with no data, but\n"
+ "> +\t\t * for systems with I2C bus drivers that do not allow zero\n"
+ "> +\t\t * length packets we write one dummy byte to allow sensor\n"
+ "> +\t\t * measurements on them.\n"
+ "> +\t\t */\n"
+ "> +\t\tif (i2c_get_functionality(client->adapter) &\n"
+ "> +\t\t    I2C_FUNC_SMBUS_QUICK) {\n"
+ "> +\t\t\tret = i2c_master_send(client, tmp, 0);\n"
+ "> +\t\t} else {\n"
+ "> +\t\t\ttmp[0] = 0;\n"
+ "> +\t\t\tret = i2c_master_send(client, tmp, 1);\n"
+ "> +\t\t}\n"
+ "\n"
+ "You can simplify this code by introducing a variable to hold\n"
+ "the write length into struct hih6130. This variable can be\n"
+ "initialized with 1 or 0 in the probe function.\n"
+ "\n"
+ "\tif (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_QUICK))\n"
+ "\t\thih6130->write_length = 0;\n"
+ "\telse\n"
+ "\t\thih6130->write_length = 1;\n"
+ "\n"
+ "Then replace above code with\n"
+ "\n"
+ "\ttmp[0] = 0;\n"
+ "\tret = i2c_master_send(client, tmp, hih6130->write_length);\n"
+ "\n"
+ "This way you don't have to call i2c_{get,check}_functionality() repeatedly.\n"
+ "\n"
+ "Thanks,\n"
+ "Guenter\n"
+ "\t\n"
+ ">   \t\tif (ret < 0)\n"
+ ">   \t\t\tgoto out;\n"
+ ">\n"
+ >
 
-8c18bcdb9959b55492fc273836f5eae69982974ab3715c1841461deb1cb9a924
+f2a0cac306cc479b9c9fed2771c63ae4a4c67ccb2eb71fb8683864ea9856728e

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.