diff for duplicates of <20140324080259.GG8541@lee--X1> diff --git a/a/1.txt b/N1/1.txt index e705c9f..77a0227 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,67 +1,119 @@ -T24gU3VuLCAyMyBNYXIgMjAxNCwgT3BlbnNvdXJjZSBbU3RldmUgVHdpc3NdIHdyb3RlOgoKPiBG -cm9tOiBPcGVuc291cmNlIFtTdGV2ZSBUd2lzc10gPHN0d2lzcy5vcGVuc291cmNlQGRpYXNlbWku -Y29tPgo+IAo+IERlcGVuZGVuY2llcyByZXF1aXJlZCBmb3IgREE5MDYzIEhXTU9OIHN1cHBvcnQu -Cj4gCj4gU2lnbmVkLW9mZi1ieTogT3BlbnNvdXJjZSBbU3RldmUgVHdpc3NdIDxzdHdpc3Mub3Bl -bnNvdXJjZUBkaWFzZW1pLmNvbT4KPiAtLS0KPiAKPiAgZHJpdmVycy9tZmQvZGE5MDYzLWNvcmUu -YyAgICAgICAgfCAgIDEzICsrKysrKysrKysrKy0KPiAgaW5jbHVkZS9saW51eC9tZmQvZGE5MDYz -L2NvcmUuaCAgfCAgICAzICsrKwo+ICBpbmNsdWRlL2xpbnV4L21mZC9kYTkwNjMvcGRhdGEuaCB8 -ICAgMTggKysrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9u -cygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9kYTkwNjMt -Y29yZS5jIGIvZHJpdmVycy9tZmQvZGE5MDYzLWNvcmUuYwo+IGluZGV4IGU3MGFlMzEuLjI0YzE4 -MzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvZGE5MDYzLWNvcmUuYwo+ICsrKyBiL2RyaXZl -cnMvbWZkL2RhOTA2My1jb3JlLmMKPiBAQCAtMTExLDYgKzExMSw3IEBAIGludCBkYTkwNjNfZGV2 -aWNlX2luaXQoc3RydWN0IGRhOTA2MyAqZGE5MDYzLCB1bnNpZ25lZCBpbnQgaXJxKQo+ICB7Cj4g -IAlzdHJ1Y3QgZGE5MDYzX3BkYXRhICpwZGF0YSA9IGRhOTA2My0+ZGV2LT5wbGF0Zm9ybV9kYXRh -Owo+ICAJaW50IG1vZGVsLCB2YXJpYW50X2lkLCB2YXJpYW50X2NvZGU7Cj4gKwlpbnQgdF9vZmZz -ZXQgPSAwOwo+ICAJaW50IHJldDsKPiAgCj4gIAlpZiAocGRhdGEpIHsKPiBAQCAtMTcxLDggKzE3 -MiwxOCBAQCBpbnQgZGE5MDYzX2RldmljZV9pbml0KHN0cnVjdCBkYTkwNjMgKmRhOTA2MywgdW5z -aWduZWQgaW50IGlycSkKPiAgCXJldCA9IG1mZF9hZGRfZGV2aWNlcyhkYTkwNjMtPmRldiwgLTEs -IGRhOTA2M19kZXZzLAo+ICAJCQkgICAgICBBUlJBWV9TSVpFKGRhOTA2M19kZXZzKSwgTlVMTCwg -ZGE5MDYzLT5pcnFfYmFzZSwKPiAgCQkJICAgICAgTlVMTCk7Cj4gLQlpZiAocmV0KQo+ICsJaWYg -KHJldCkgewo+ICAJCWRldl9lcnIoZGE5MDYzLT5kZXYsICJDYW5ub3QgYWRkIE1GRCBjZWxsc1xu -Iik7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlyZXQgPSByZWdtYXBfcmVhZChkYTkw -NjMtPnJlZ21hcCwgREE5MDYzX1JFR19UX09GRlNFVCwgJnRfb2Zmc2V0KTsKPiArCWlmIChyZXQg -PCAwKQo+ICsJCWRldl93YXJuKGRhOTA2My0+ZGV2LAo+ICsJCQkgIlRlbXBlcmF0dXJlIHRyaW1t -aW5nIHZhbHVlIGNhbm5vdCBiZSByZWFkIChkZWZhdWx0aW5nIHRvIDApXG4iKTsKPiArCj4gKwkv -KiBwYXNzIHRoaXMgb24gdG8gdGhlIGh3bW9uIGRyaXZlciAqLwo+ICsJZGE5MDYzLT50X29mZnNl -dCA9IHRfb2Zmc2V0OwoKV2hhdCdzIHRoZSBsb2dpYyBmb3IgdXNpbmcgYSBsb2NhbCB2YXJpYWJs -ZSBmb3IgdGhpcyBwcmlvciB0byBzZXR0aW5nCnRoZSBhdHRyaWJ1dGUgaW4gdGhlIHNoYXJlZCBj -b250YWluZXI/Cgo+ICAJcmV0dXJuIHJldDsKPiAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xp -bnV4L21mZC9kYTkwNjMvY29yZS5oIGIvaW5jbHVkZS9saW51eC9tZmQvZGE5MDYzL2NvcmUuaAo+ -IGluZGV4IDAwYTlhYWMuLjczMjdkMzcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9tZmQv -ZGE5MDYzL2NvcmUuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvbWZkL2RhOTA2My9jb3JlLmgKPiBA -QCAtODYsNiArODYsOSBAQCBzdHJ1Y3QgZGE5MDYzIHsKPiAgCWludAkJY2hpcF9pcnE7Cj4gIAl1 -bnNpZ25lZCBpbnQJaXJxX2Jhc2U7Cj4gIAlzdHJ1Y3QgcmVnbWFwX2lycV9jaGlwX2RhdGEgKnJl -Z21hcF9pcnE7Cj4gKwo+ICsJLyogVHJpbW1pbmcgKi8KPiArCWludAkJdF9vZmZzZXQ7Cj4gIH07 -Cj4gIAo+ICBpbnQgZGE5MDYzX2RldmljZV9pbml0KHN0cnVjdCBkYTkwNjMgKmRhOTA2MywgdW5z -aWduZWQgaW50IGlycSk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWZkL2RhOTA2My9w -ZGF0YS5oIGIvaW5jbHVkZS9saW51eC9tZmQvZGE5MDYzL3BkYXRhLmgKPiBpbmRleCA5NWM4NzQy -Li41NzYwMzNlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvbWZkL2RhOTA2My9wZGF0YS5o -Cj4gKysrIGIvaW5jbHVkZS9saW51eC9tZmQvZGE5MDYzL3BkYXRhLmgKPiBAQCAtNjIsNiArNjIs -MjMgQEAgc3RydWN0IGRhOTA2M19yZWd1bGF0b3JzX3BkYXRhIHsKPiAgCXN0cnVjdCBkYTkwNjNf -cmVndWxhdG9yX2RhdGEJKnJlZ3VsYXRvcl9kYXRhOwo+ICB9Owo+ICAKPiArLyogSFdNT04gcGxh -dGZvcm0gZGF0YSAqLwo+ICsjZGVmaW5lIERBOTA2M19TRVRfQURDSU4xX0NVUl8xVUEJMHgwMAo+ -ICsjZGVmaW5lIERBOTA2M19TRVRfQURDSU4xX0NVUl8yVUEJMHgwMQo+ICsjZGVmaW5lIERBOTA2 -M19TRVRfQURDSU4xX0NVUl8xMFVBCTB4MDIKPiArI2RlZmluZSBEQTkwNjNfU0VUX0FEQ0lOMV9D -VVJfNDBVQQkweDAzCj4gKyNkZWZpbmUgREE5MDYzX1NFVF9BRENJTjJfQ1VSXzFVQQkweDAwCj4g -KyNkZWZpbmUgREE5MDYzX1NFVF9BRENJTjJfQ1VSXzJVQQkweDAxCj4gKyNkZWZpbmUgREE5MDYz -X1NFVF9BRENJTjJfQ1VSXzEwVUEJMHgwMgo+ICsjZGVmaW5lIERBOTA2M19TRVRfQURDSU4yX0NV -Ul80MFVBCTB4MDMKPiArI2RlZmluZSBEQTkwNjNfU0VUX0FEQ0lOM19DVVJfMTBVQQkweDAwCgpX -aHkgZGlmZmVyZW50aWF0ZT8gTW9yZSBzdWNjaW5jdGx5OgoKLyogSFdNT04gcGxhdGZvcm0gZGF0 -YSAqLwojZGVmaW5lIERBOTA2M19TRVRfQ1VSXzFVQQkweDAwCiNkZWZpbmUgREE5MDYzX1NFVF9D -VVJfMlVBCTB4MDEKI2RlZmluZSBEQTkwNjNfU0VUX0NVUl8xMFVBCTB4MDIKI2RlZmluZSBEQTkw -NjNfU0VUX0NVUl80MFVBCTB4MDMKCgo+ICtzdHJ1Y3QgZGE5MDYzX2h3bW9uX3BkYXRhIHsKPiAr -CXVuc2lnbmVkIGNoYXIgYWRjaW4xX2N1cjsKPiArCXVuc2lnbmVkIGNoYXIgYWRjaW4yX2N1cjsK -PiArCXVuc2lnbmVkIGNoYXIgYWRjaW4zX2N1cjsKPiArfTsKPiArCj4gIAoKTm93IHRoZXJlIGFy -ZSB0d28gbmV3IGxpbmVzIGhlcmUuCgo+ICAvKgo+ICAgKiBSR0IgTEVEIGNvbmZpZ3VyYXRpb24K -PiBAQCAtMTA2LDYgKzEyMyw3IEBAIHN0cnVjdCBkYTkwNjNfcGRhdGEgewo+ICAJdW5zaWduZWQJ -CQlmbGFnczsKPiAgCXN0cnVjdCBkYTkwNjNfcmVndWxhdG9yc19wZGF0YQkqcmVndWxhdG9yc19w -ZGF0YTsKPiAgCXN0cnVjdCBsZWRfcGxhdGZvcm1fZGF0YQkqbGVkc19wZGF0YTsKPiArCXN0cnVj -dCBkYTkwNjNfaHdtb25fcGRhdGEJKmh3bW9uX3BkYXRhOwo+ICB9OwoKRG9lcyB0aGlzIGRldmlj -ZSBzdXBwb3J0IERldmljZSBUcmVlPwoKPiAgI2VuZGlmCS8qIF9fTUZEX0RBOTA2M19QREFUQV9I -X18gKi8KCi0tIApMZWUgSm9uZXMKTGluYXJvIFNUTWljcm9lbGVjdHJvbmljcyBMYW5kaW5nIFRl -YW0gTGVhZApMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQVJNIFNvQ3MK -Rm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxvZwoKX19fX19fX19fX19fX19f -X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbG0tc2Vuc29ycyBtYWlsaW5nIGxpc3QK -bG0tc2Vuc29yc0BsbS1zZW5zb3JzLm9yZwpodHRwOi8vbGlzdHMubG0tc2Vuc29ycy5vcmcvbWFp -bG1hbi9saXN0aW5mby9sbS1zZW5zb3Jz +On Sun, 23 Mar 2014, Opensource [Steve Twiss] wrote: + +> From: Opensource [Steve Twiss] <stwiss.opensource@diasemi.com> +> +> Dependencies required for DA9063 HWMON support. +> +> Signed-off-by: Opensource [Steve Twiss] <stwiss.opensource@diasemi.com> +> --- +> +> drivers/mfd/da9063-core.c | 13 ++++++++++++- +> include/linux/mfd/da9063/core.h | 3 +++ +> include/linux/mfd/da9063/pdata.h | 18 ++++++++++++++++++ +> 3 files changed, 33 insertions(+), 1 deletion(-) +> +> diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c +> index e70ae31..24c1838 100644 +> --- a/drivers/mfd/da9063-core.c +> +++ b/drivers/mfd/da9063-core.c +> @@ -111,6 +111,7 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq) +> { +> struct da9063_pdata *pdata = da9063->dev->platform_data; +> int model, variant_id, variant_code; +> + int t_offset = 0; +> int ret; +> +> if (pdata) { +> @@ -171,8 +172,18 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq) +> ret = mfd_add_devices(da9063->dev, -1, da9063_devs, +> ARRAY_SIZE(da9063_devs), NULL, da9063->irq_base, +> NULL); +> - if (ret) +> + if (ret) { +> dev_err(da9063->dev, "Cannot add MFD cells\n"); +> + return ret; +> + } +> + +> + ret = regmap_read(da9063->regmap, DA9063_REG_T_OFFSET, &t_offset); +> + if (ret < 0) +> + dev_warn(da9063->dev, +> + "Temperature trimming value cannot be read (defaulting to 0)\n"); +> + +> + /* pass this on to the hwmon driver */ +> + da9063->t_offset = t_offset; + +What's the logic for using a local variable for this prior to setting +the attribute in the shared container? + +> return ret; +> } +> diff --git a/include/linux/mfd/da9063/core.h b/include/linux/mfd/da9063/core.h +> index 00a9aac..7327d37 100644 +> --- a/include/linux/mfd/da9063/core.h +> +++ b/include/linux/mfd/da9063/core.h +> @@ -86,6 +86,9 @@ struct da9063 { +> int chip_irq; +> unsigned int irq_base; +> struct regmap_irq_chip_data *regmap_irq; +> + +> + /* Trimming */ +> + int t_offset; +> }; +> +> int da9063_device_init(struct da9063 *da9063, unsigned int irq); +> diff --git a/include/linux/mfd/da9063/pdata.h b/include/linux/mfd/da9063/pdata.h +> index 95c8742..576033e 100644 +> --- a/include/linux/mfd/da9063/pdata.h +> +++ b/include/linux/mfd/da9063/pdata.h +> @@ -62,6 +62,23 @@ struct da9063_regulators_pdata { +> struct da9063_regulator_data *regulator_data; +> }; +> +> +/* HWMON platform data */ +> +#define DA9063_SET_ADCIN1_CUR_1UA 0x00 +> +#define DA9063_SET_ADCIN1_CUR_2UA 0x01 +> +#define DA9063_SET_ADCIN1_CUR_10UA 0x02 +> +#define DA9063_SET_ADCIN1_CUR_40UA 0x03 +> +#define DA9063_SET_ADCIN2_CUR_1UA 0x00 +> +#define DA9063_SET_ADCIN2_CUR_2UA 0x01 +> +#define DA9063_SET_ADCIN2_CUR_10UA 0x02 +> +#define DA9063_SET_ADCIN2_CUR_40UA 0x03 +> +#define DA9063_SET_ADCIN3_CUR_10UA 0x00 + +Why differentiate? More succinctly: + +/* HWMON platform data */ +#define DA9063_SET_CUR_1UA 0x00 +#define DA9063_SET_CUR_2UA 0x01 +#define DA9063_SET_CUR_10UA 0x02 +#define DA9063_SET_CUR_40UA 0x03 + + +> +struct da9063_hwmon_pdata { +> + unsigned char adcin1_cur; +> + unsigned char adcin2_cur; +> + unsigned char adcin3_cur; +> +}; +> + +> + +Now there are two new lines here. + +> /* +> * RGB LED configuration +> @@ -106,6 +123,7 @@ struct da9063_pdata { +> unsigned flags; +> struct da9063_regulators_pdata *regulators_pdata; +> struct led_platform_data *leds_pdata; +> + struct da9063_hwmon_pdata *hwmon_pdata; +> }; + +Does this device support Device Tree? + +> #endif /* __MFD_DA9063_PDATA_H__ */ + +-- +Lee Jones +Linaro STMicroelectronics Landing Team Lead +Linaro.org │ Open source software for ARM SoCs +Follow Linaro: Facebook | Twitter | Blog diff --git a/a/content_digest b/N1/content_digest index ad6fc1e..eb94ad5 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\0cover.1395607051.git.stwiss.opensource@diasemi.com\0" "ref\031eb9829645b11a109e7699d5da888ab7d2a68c1.1395607051.git.stwiss.opensource@diasemi.com\0" "From\0Lee Jones <lee.jones@linaro.org>\0" - "Subject\0Re: [lm-sensors] [RFC V1 2/3] mfd: da9063: Add HWMON dependencies\0" + "Subject\0Re: [RFC V1 2/3] mfd: da9063: Add HWMON dependencies\0" "Date\0Mon, 24 Mar 2014 08:02:59 +0000\0" "To\0Opensource [Steve Twiss] <stwiss.opensource@diasemi.com>\0" "Cc\0Samuel Ortiz <sameo@linux.intel.com>" @@ -16,72 +16,124 @@ " Rob Landley <rob@landley.net>\0" "\00:1\0" "b\0" - "T24gU3VuLCAyMyBNYXIgMjAxNCwgT3BlbnNvdXJjZSBbU3RldmUgVHdpc3NdIHdyb3RlOgoKPiBG\n" - "cm9tOiBPcGVuc291cmNlIFtTdGV2ZSBUd2lzc10gPHN0d2lzcy5vcGVuc291cmNlQGRpYXNlbWku\n" - "Y29tPgo+IAo+IERlcGVuZGVuY2llcyByZXF1aXJlZCBmb3IgREE5MDYzIEhXTU9OIHN1cHBvcnQu\n" - "Cj4gCj4gU2lnbmVkLW9mZi1ieTogT3BlbnNvdXJjZSBbU3RldmUgVHdpc3NdIDxzdHdpc3Mub3Bl\n" - "bnNvdXJjZUBkaWFzZW1pLmNvbT4KPiAtLS0KPiAKPiAgZHJpdmVycy9tZmQvZGE5MDYzLWNvcmUu\n" - "YyAgICAgICAgfCAgIDEzICsrKysrKysrKysrKy0KPiAgaW5jbHVkZS9saW51eC9tZmQvZGE5MDYz\n" - "L2NvcmUuaCAgfCAgICAzICsrKwo+ICBpbmNsdWRlL2xpbnV4L21mZC9kYTkwNjMvcGRhdGEuaCB8\n" - "ICAgMTggKysrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9u\n" - "cygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9kYTkwNjMt\n" - "Y29yZS5jIGIvZHJpdmVycy9tZmQvZGE5MDYzLWNvcmUuYwo+IGluZGV4IGU3MGFlMzEuLjI0YzE4\n" - "MzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZmQvZGE5MDYzLWNvcmUuYwo+ICsrKyBiL2RyaXZl\n" - "cnMvbWZkL2RhOTA2My1jb3JlLmMKPiBAQCAtMTExLDYgKzExMSw3IEBAIGludCBkYTkwNjNfZGV2\n" - "aWNlX2luaXQoc3RydWN0IGRhOTA2MyAqZGE5MDYzLCB1bnNpZ25lZCBpbnQgaXJxKQo+ICB7Cj4g\n" - "IAlzdHJ1Y3QgZGE5MDYzX3BkYXRhICpwZGF0YSA9IGRhOTA2My0+ZGV2LT5wbGF0Zm9ybV9kYXRh\n" - "Owo+ICAJaW50IG1vZGVsLCB2YXJpYW50X2lkLCB2YXJpYW50X2NvZGU7Cj4gKwlpbnQgdF9vZmZz\n" - "ZXQgPSAwOwo+ICAJaW50IHJldDsKPiAgCj4gIAlpZiAocGRhdGEpIHsKPiBAQCAtMTcxLDggKzE3\n" - "MiwxOCBAQCBpbnQgZGE5MDYzX2RldmljZV9pbml0KHN0cnVjdCBkYTkwNjMgKmRhOTA2MywgdW5z\n" - "aWduZWQgaW50IGlycSkKPiAgCXJldCA9IG1mZF9hZGRfZGV2aWNlcyhkYTkwNjMtPmRldiwgLTEs\n" - "IGRhOTA2M19kZXZzLAo+ICAJCQkgICAgICBBUlJBWV9TSVpFKGRhOTA2M19kZXZzKSwgTlVMTCwg\n" - "ZGE5MDYzLT5pcnFfYmFzZSwKPiAgCQkJICAgICAgTlVMTCk7Cj4gLQlpZiAocmV0KQo+ICsJaWYg\n" - "KHJldCkgewo+ICAJCWRldl9lcnIoZGE5MDYzLT5kZXYsICJDYW5ub3QgYWRkIE1GRCBjZWxsc1xu\n" - "Iik7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlyZXQgPSByZWdtYXBfcmVhZChkYTkw\n" - "NjMtPnJlZ21hcCwgREE5MDYzX1JFR19UX09GRlNFVCwgJnRfb2Zmc2V0KTsKPiArCWlmIChyZXQg\n" - "PCAwKQo+ICsJCWRldl93YXJuKGRhOTA2My0+ZGV2LAo+ICsJCQkgIlRlbXBlcmF0dXJlIHRyaW1t\n" - "aW5nIHZhbHVlIGNhbm5vdCBiZSByZWFkIChkZWZhdWx0aW5nIHRvIDApXG4iKTsKPiArCj4gKwkv\n" - "KiBwYXNzIHRoaXMgb24gdG8gdGhlIGh3bW9uIGRyaXZlciAqLwo+ICsJZGE5MDYzLT50X29mZnNl\n" - "dCA9IHRfb2Zmc2V0OwoKV2hhdCdzIHRoZSBsb2dpYyBmb3IgdXNpbmcgYSBsb2NhbCB2YXJpYWJs\n" - "ZSBmb3IgdGhpcyBwcmlvciB0byBzZXR0aW5nCnRoZSBhdHRyaWJ1dGUgaW4gdGhlIHNoYXJlZCBj\n" - "b250YWluZXI/Cgo+ICAJcmV0dXJuIHJldDsKPiAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xp\n" - "bnV4L21mZC9kYTkwNjMvY29yZS5oIGIvaW5jbHVkZS9saW51eC9tZmQvZGE5MDYzL2NvcmUuaAo+\n" - "IGluZGV4IDAwYTlhYWMuLjczMjdkMzcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9tZmQv\n" - "ZGE5MDYzL2NvcmUuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvbWZkL2RhOTA2My9jb3JlLmgKPiBA\n" - "QCAtODYsNiArODYsOSBAQCBzdHJ1Y3QgZGE5MDYzIHsKPiAgCWludAkJY2hpcF9pcnE7Cj4gIAl1\n" - "bnNpZ25lZCBpbnQJaXJxX2Jhc2U7Cj4gIAlzdHJ1Y3QgcmVnbWFwX2lycV9jaGlwX2RhdGEgKnJl\n" - "Z21hcF9pcnE7Cj4gKwo+ICsJLyogVHJpbW1pbmcgKi8KPiArCWludAkJdF9vZmZzZXQ7Cj4gIH07\n" - "Cj4gIAo+ICBpbnQgZGE5MDYzX2RldmljZV9pbml0KHN0cnVjdCBkYTkwNjMgKmRhOTA2MywgdW5z\n" - "aWduZWQgaW50IGlycSk7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWZkL2RhOTA2My9w\n" - "ZGF0YS5oIGIvaW5jbHVkZS9saW51eC9tZmQvZGE5MDYzL3BkYXRhLmgKPiBpbmRleCA5NWM4NzQy\n" - "Li41NzYwMzNlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvbWZkL2RhOTA2My9wZGF0YS5o\n" - "Cj4gKysrIGIvaW5jbHVkZS9saW51eC9tZmQvZGE5MDYzL3BkYXRhLmgKPiBAQCAtNjIsNiArNjIs\n" - "MjMgQEAgc3RydWN0IGRhOTA2M19yZWd1bGF0b3JzX3BkYXRhIHsKPiAgCXN0cnVjdCBkYTkwNjNf\n" - "cmVndWxhdG9yX2RhdGEJKnJlZ3VsYXRvcl9kYXRhOwo+ICB9Owo+ICAKPiArLyogSFdNT04gcGxh\n" - "dGZvcm0gZGF0YSAqLwo+ICsjZGVmaW5lIERBOTA2M19TRVRfQURDSU4xX0NVUl8xVUEJMHgwMAo+\n" - "ICsjZGVmaW5lIERBOTA2M19TRVRfQURDSU4xX0NVUl8yVUEJMHgwMQo+ICsjZGVmaW5lIERBOTA2\n" - "M19TRVRfQURDSU4xX0NVUl8xMFVBCTB4MDIKPiArI2RlZmluZSBEQTkwNjNfU0VUX0FEQ0lOMV9D\n" - "VVJfNDBVQQkweDAzCj4gKyNkZWZpbmUgREE5MDYzX1NFVF9BRENJTjJfQ1VSXzFVQQkweDAwCj4g\n" - "KyNkZWZpbmUgREE5MDYzX1NFVF9BRENJTjJfQ1VSXzJVQQkweDAxCj4gKyNkZWZpbmUgREE5MDYz\n" - "X1NFVF9BRENJTjJfQ1VSXzEwVUEJMHgwMgo+ICsjZGVmaW5lIERBOTA2M19TRVRfQURDSU4yX0NV\n" - "Ul80MFVBCTB4MDMKPiArI2RlZmluZSBEQTkwNjNfU0VUX0FEQ0lOM19DVVJfMTBVQQkweDAwCgpX\n" - "aHkgZGlmZmVyZW50aWF0ZT8gTW9yZSBzdWNjaW5jdGx5OgoKLyogSFdNT04gcGxhdGZvcm0gZGF0\n" - "YSAqLwojZGVmaW5lIERBOTA2M19TRVRfQ1VSXzFVQQkweDAwCiNkZWZpbmUgREE5MDYzX1NFVF9D\n" - "VVJfMlVBCTB4MDEKI2RlZmluZSBEQTkwNjNfU0VUX0NVUl8xMFVBCTB4MDIKI2RlZmluZSBEQTkw\n" - "NjNfU0VUX0NVUl80MFVBCTB4MDMKCgo+ICtzdHJ1Y3QgZGE5MDYzX2h3bW9uX3BkYXRhIHsKPiAr\n" - "CXVuc2lnbmVkIGNoYXIgYWRjaW4xX2N1cjsKPiArCXVuc2lnbmVkIGNoYXIgYWRjaW4yX2N1cjsK\n" - "PiArCXVuc2lnbmVkIGNoYXIgYWRjaW4zX2N1cjsKPiArfTsKPiArCj4gIAoKTm93IHRoZXJlIGFy\n" - "ZSB0d28gbmV3IGxpbmVzIGhlcmUuCgo+ICAvKgo+ICAgKiBSR0IgTEVEIGNvbmZpZ3VyYXRpb24K\n" - "PiBAQCAtMTA2LDYgKzEyMyw3IEBAIHN0cnVjdCBkYTkwNjNfcGRhdGEgewo+ICAJdW5zaWduZWQJ\n" - "CQlmbGFnczsKPiAgCXN0cnVjdCBkYTkwNjNfcmVndWxhdG9yc19wZGF0YQkqcmVndWxhdG9yc19w\n" - "ZGF0YTsKPiAgCXN0cnVjdCBsZWRfcGxhdGZvcm1fZGF0YQkqbGVkc19wZGF0YTsKPiArCXN0cnVj\n" - "dCBkYTkwNjNfaHdtb25fcGRhdGEJKmh3bW9uX3BkYXRhOwo+ICB9OwoKRG9lcyB0aGlzIGRldmlj\n" - "ZSBzdXBwb3J0IERldmljZSBUcmVlPwoKPiAgI2VuZGlmCS8qIF9fTUZEX0RBOTA2M19QREFUQV9I\n" - "X18gKi8KCi0tIApMZWUgSm9uZXMKTGluYXJvIFNUTWljcm9lbGVjdHJvbmljcyBMYW5kaW5nIFRl\n" - "YW0gTGVhZApMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQVJNIFNvQ3MK\n" - "Rm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxvZwoKX19fX19fX19fX19fX19f\n" - "X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbG0tc2Vuc29ycyBtYWlsaW5nIGxpc3QK\n" - "bG0tc2Vuc29yc0BsbS1zZW5zb3JzLm9yZwpodHRwOi8vbGlzdHMubG0tc2Vuc29ycy5vcmcvbWFp\n" - bG1hbi9saXN0aW5mby9sbS1zZW5zb3Jz + "On Sun, 23 Mar 2014, Opensource [Steve Twiss] wrote:\n" + "\n" + "> From: Opensource [Steve Twiss] <stwiss.opensource@diasemi.com>\n" + "> \n" + "> Dependencies required for DA9063 HWMON support.\n" + "> \n" + "> Signed-off-by: Opensource [Steve Twiss] <stwiss.opensource@diasemi.com>\n" + "> ---\n" + "> \n" + "> drivers/mfd/da9063-core.c | 13 ++++++++++++-\n" + "> include/linux/mfd/da9063/core.h | 3 +++\n" + "> include/linux/mfd/da9063/pdata.h | 18 ++++++++++++++++++\n" + "> 3 files changed, 33 insertions(+), 1 deletion(-)\n" + "> \n" + "> diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c\n" + "> index e70ae31..24c1838 100644\n" + "> --- a/drivers/mfd/da9063-core.c\n" + "> +++ b/drivers/mfd/da9063-core.c\n" + "> @@ -111,6 +111,7 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq)\n" + "> {\n" + "> \tstruct da9063_pdata *pdata = da9063->dev->platform_data;\n" + "> \tint model, variant_id, variant_code;\n" + "> +\tint t_offset = 0;\n" + "> \tint ret;\n" + "> \n" + "> \tif (pdata) {\n" + "> @@ -171,8 +172,18 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq)\n" + "> \tret = mfd_add_devices(da9063->dev, -1, da9063_devs,\n" + "> \t\t\t ARRAY_SIZE(da9063_devs), NULL, da9063->irq_base,\n" + "> \t\t\t NULL);\n" + "> -\tif (ret)\n" + "> +\tif (ret) {\n" + "> \t\tdev_err(da9063->dev, \"Cannot add MFD cells\\n\");\n" + "> +\t\treturn ret;\n" + "> +\t}\n" + "> +\n" + "> +\tret = regmap_read(da9063->regmap, DA9063_REG_T_OFFSET, &t_offset);\n" + "> +\tif (ret < 0)\n" + "> +\t\tdev_warn(da9063->dev,\n" + "> +\t\t\t \"Temperature trimming value cannot be read (defaulting to 0)\\n\");\n" + "> +\n" + "> +\t/* pass this on to the hwmon driver */\n" + "> +\tda9063->t_offset = t_offset;\n" + "\n" + "What's the logic for using a local variable for this prior to setting\n" + "the attribute in the shared container?\n" + "\n" + "> \treturn ret;\n" + "> }\n" + "> diff --git a/include/linux/mfd/da9063/core.h b/include/linux/mfd/da9063/core.h\n" + "> index 00a9aac..7327d37 100644\n" + "> --- a/include/linux/mfd/da9063/core.h\n" + "> +++ b/include/linux/mfd/da9063/core.h\n" + "> @@ -86,6 +86,9 @@ struct da9063 {\n" + "> \tint\t\tchip_irq;\n" + "> \tunsigned int\tirq_base;\n" + "> \tstruct regmap_irq_chip_data *regmap_irq;\n" + "> +\n" + "> +\t/* Trimming */\n" + "> +\tint\t\tt_offset;\n" + "> };\n" + "> \n" + "> int da9063_device_init(struct da9063 *da9063, unsigned int irq);\n" + "> diff --git a/include/linux/mfd/da9063/pdata.h b/include/linux/mfd/da9063/pdata.h\n" + "> index 95c8742..576033e 100644\n" + "> --- a/include/linux/mfd/da9063/pdata.h\n" + "> +++ b/include/linux/mfd/da9063/pdata.h\n" + "> @@ -62,6 +62,23 @@ struct da9063_regulators_pdata {\n" + "> \tstruct da9063_regulator_data\t*regulator_data;\n" + "> };\n" + "> \n" + "> +/* HWMON platform data */\n" + "> +#define DA9063_SET_ADCIN1_CUR_1UA\t0x00\n" + "> +#define DA9063_SET_ADCIN1_CUR_2UA\t0x01\n" + "> +#define DA9063_SET_ADCIN1_CUR_10UA\t0x02\n" + "> +#define DA9063_SET_ADCIN1_CUR_40UA\t0x03\n" + "> +#define DA9063_SET_ADCIN2_CUR_1UA\t0x00\n" + "> +#define DA9063_SET_ADCIN2_CUR_2UA\t0x01\n" + "> +#define DA9063_SET_ADCIN2_CUR_10UA\t0x02\n" + "> +#define DA9063_SET_ADCIN2_CUR_40UA\t0x03\n" + "> +#define DA9063_SET_ADCIN3_CUR_10UA\t0x00\n" + "\n" + "Why differentiate? More succinctly:\n" + "\n" + "/* HWMON platform data */\n" + "#define DA9063_SET_CUR_1UA\t0x00\n" + "#define DA9063_SET_CUR_2UA\t0x01\n" + "#define DA9063_SET_CUR_10UA\t0x02\n" + "#define DA9063_SET_CUR_40UA\t0x03\n" + "\n" + "\n" + "> +struct da9063_hwmon_pdata {\n" + "> +\tunsigned char adcin1_cur;\n" + "> +\tunsigned char adcin2_cur;\n" + "> +\tunsigned char adcin3_cur;\n" + "> +};\n" + "> +\n" + "> \n" + "\n" + "Now there are two new lines here.\n" + "\n" + "> /*\n" + "> * RGB LED configuration\n" + "> @@ -106,6 +123,7 @@ struct da9063_pdata {\n" + "> \tunsigned\t\t\tflags;\n" + "> \tstruct da9063_regulators_pdata\t*regulators_pdata;\n" + "> \tstruct led_platform_data\t*leds_pdata;\n" + "> +\tstruct da9063_hwmon_pdata\t*hwmon_pdata;\n" + "> };\n" + "\n" + "Does this device support Device Tree?\n" + "\n" + "> #endif\t/* __MFD_DA9063_PDATA_H__ */\n" + "\n" + "-- \n" + "Lee Jones\n" + "Linaro STMicroelectronics Landing Team Lead\n" + "Linaro.org \342\224\202 Open source software for ARM SoCs\n" + Follow Linaro: Facebook | Twitter | Blog -b60c1070d374897e35fbccfb1194e98bcb898d50dd60e029d39e1d6d3c3db5fb +6a0d38b0c976ad48fed01a4695e8cd7ce8d990a55ca93dd4197333a90733dea3
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.