From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lee Jones Subject: Re: [PATCH 3/5] mfd: twl: move structure definitions to a public header Date: Tue, 3 Jan 2017 15:40:51 +0000 Message-ID: <20170103154051.GI2977@dell> References: <20161126181326.14951-1-Nicolae_Rosia@mentor.com> <20161126181326.14951-4-Nicolae_Rosia@mentor.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161126181326.14951-4-Nicolae_Rosia@mentor.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Nicolae Rosia Cc: Mark Rutland , devicetree@vger.kernel.org, Baruch Siach , Tony Lindgren , Liam Girdwood , Rob Herring , linux-kernel@vger.kernel.org, Paul Gortmaker , Mark Brown , Graeme Gregory , linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: linux-omap@vger.kernel.org T24gU2F0LCAyNiBOb3YgMjAxNiwgTmljb2xhZSBSb3NpYSB3cm90ZToKCj4gV2Ugd2FudCB0byBn ZXQgcmlkIG9mIGV4cG9ydGVkIHN5bWJvbHMgYW5kIGhhdmUKPiB0aGUgY2hpbGQgZGV2aWNlcyB1 c2Ugc3RydWN0dXJlIG1lbWJlcnMgZGlyZWN0bHkuCj4gTW92ZSB0aGUgc3RydWN0dXJlIGRlZmlu aXRpb25zIHRvIGhlYWRlciBhbmQgc2V0Cj4gZHJ2ZGF0YSBzbyBjaGlsZCBkZXZpY2VzIGNhbiBh Y2Nlc3MgaXQuCgogIDwgUGxlYXNlIHVzZSBhbGwgNzUgY2hhcnMgYWxsb2NhdGVkIHRvIHRoZSBj b21taXRsb2cgYmVmb3JlIGxpbmUgd3JhcHBpbmcgPgoKPiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGFl IFJvc2lhIDxOaWNvbGFlX1Jvc2lhQG1lbnRvci5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvbWZkL3R3 bC1jb3JlLmMgICAgICAgfCAyNyArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgaW5jbHVk ZS9saW51eC9tZmQvdHdsLWNvcmUuaCB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25z KC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21mZC90d2wtY29yZS5oCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3R3bC1jb3JlLmMgYi9kcml2ZXJzL21mZC90d2wt Y29yZS5jCj4gaW5kZXggZTE2MDg0ZS4uNDA5YjgzNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21m ZC90d2wtY29yZS5jCj4gKysrIGIvZHJpdmVycy9tZmQvdHdsLWNvcmUuYwo+IEBAIC00OCw2ICs0 OCw3IEBACj4gIAo+ICAjaW5jbHVkZSA8bGludXgvaTJjLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9p MmMvdHdsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvdHdsLWNvcmUuaD4KPiAgCj4gIC8qIFJl Z2lzdGVyIGRlc2NyaXB0aW9ucyBmb3IgYXVkaW8gKi8KPiAgI2luY2x1ZGUgPGxpbnV4L21mZC90 d2w0MDMwLWF1ZGlvLmg+Cj4gQEAgLTE1NCwyOCArMTU1LDcgQEAgaW50IHR3bDQwMzBfaW5pdF9p cnEoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaXJxX251bSk7Cj4gIGludCB0d2w0MDMwX2V4aXRf aXJxKHZvaWQpOwo+ICBpbnQgdHdsNDAzMF9pbml0X2NoaXBfaXJxKGNvbnN0IGNoYXIgKmNoaXAp Owo+ICAKPiAtLyogU3RydWN0dXJlIGZvciBlYWNoIFRXTDQwMzAvVFdMNjAzMCBTbGF2ZSAqLwo+ IC1zdHJ1Y3QgdHdsX2NsaWVudCB7Cj4gLQlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50Owo+IC0J c3RydWN0IHJlZ21hcCAqcmVnbWFwOwo+IC19Owo+IC0KPiAtLyogbWFwcGluZyB0aGUgbW9kdWxl IGlkIHRvIHNsYXZlIGlkIGFuZCBiYXNlIGFkZHJlc3MgKi8KPiAtc3RydWN0IHR3bF9tYXBwaW5n IHsKPiAtCXVuc2lnbmVkIGNoYXIgc2lkOwkvKiBTbGF2ZSBJRCAqLwo+IC0JdW5zaWduZWQgY2hh ciBiYXNlOwkvKiBiYXNlIGFkZHJlc3MgKi8KPiAtfTsKPiAtCj4gLXN0cnVjdCB0d2xfcHJpdmF0 ZSB7Cj4gLQlib29sIHJlYWR5OyAvKiBUaGUgY29yZSBkcml2ZXIgaXMgcmVhZHkgdG8gYmUgdXNl ZCAqLwo+IC0JdTMyIHR3bF9pZGNvZGU7IC8qIFRXTCBJRENPREUgUmVnaXN0ZXIgdmFsdWUgKi8K PiAtCXVuc2lnbmVkIGludCB0d2xfaWQ7Cj4gLQo+IC0Jc3RydWN0IHR3bF9tYXBwaW5nICp0d2xf bWFwOwo+IC0Jc3RydWN0IHR3bF9jbGllbnQgKnR3bF9tb2R1bGVzOwo+IC19Owo+IC0KPiAtc3Rh dGljIHN0cnVjdCB0d2xfcHJpdmF0ZSAqdHdsX3ByaXY7Cj4gK3N0YXRpYyBzdHJ1Y3QgdHdsY29y ZSAqdHdsX3ByaXY7CgpJJ20gZ3Vlc3Npbmcgd2hlbiB5b3UgcmVtb3ZlIHRoZSBleHBvcnRlZCBm dW5jdGlvbnMsIHlvdSBjYW4gcmVtb3ZlIHRoaXM/Cgo+ICBzdGF0aWMgc3RydWN0IHR3bF9tYXBw aW5nIHR3bDQwMzBfbWFwW10gPSB7Cj4gIAkvKgo+IEBAIC03NDUsNyArNzI1LDcgQEAgdHdsX3By b2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk ICppZCkKPiAgCQlnb3RvIGZyZWU7Cj4gIAl9Cj4gIAo+IC0JdHdsX3ByaXYgPSBkZXZtX2t6YWxs b2MoJmNsaWVudC0+ZGV2LCBzaXplb2Yoc3RydWN0IHR3bF9wcml2YXRlKSwKPiArCXR3bF9wcml2 ID0gZGV2bV9remFsbG9jKCZjbGllbnQtPmRldiwgc2l6ZW9mKHN0cnVjdCB0d2xjb3JlKSwKPiAg CQkJCUdGUF9LRVJORUwpOwo+ICAJaWYgKCF0d2xfcHJpdikgewo+ICAJCXN0YXR1cyA9IC1FTk9N RU07Cj4gQEAgLTgwMyw2ICs3ODMsNyBAQCB0d2xfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCwgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+ICAJfQo+ICAKPiAgCXR3bF9w cml2LT5yZWFkeSA9IHRydWU7Cj4gKwlkZXZfc2V0X2RydmRhdGEoJmNsaWVudC0+ZGV2LCB0d2xf cHJpdik7Cj4gIAo+ICAJLyogc2V0dXAgY2xvY2sgZnJhbWV3b3JrICovCj4gIAljbG9ja3NfaW5p dCgmcGRldi0+ZGV2KTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZmQvdHdsLWNvcmUu aCBiL2luY2x1ZGUvbGludXgvbWZkL3R3bC1jb3JlLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ IGluZGV4IDAwMDAwMDAuLmQxYzAxYjMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvaW5jbHVkZS9s aW51eC9tZmQvdHdsLWNvcmUuaAo+IEBAIC0wLDAgKzEsMzUgQEAKPiArLyoKPiArICogTUZEIGNv cmUgZHJpdmVyIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgVFdMIFBNSUMgZmFtaWx5Cj4gKyAq Cj4gKyAqIENvcHlyaWdodCAoQykgMjAxNiBOaWNvbGFlIFJvc2lhIDxuaWNvbGFlLnJvc2lhQGdt YWlsLmNvbT4KCllvdXIgc2lnbi1vZmYgYW5kIFNvQiBhcmUgZGlmZmVyZW50PyAgV2h5PwoKPiAr ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKPiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKPiArICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBfX1RXTF9DT1JFX0hf Xwo+ICsjZGVmaW5lIF9fVFdMX0NPUkVfSF9fCgpfTUZEXwoKPiArLyogU3RydWN0dXJlIGZvciBl YWNoIFRXTDQwMzAvVFdMNjAzMCBTbGF2ZSAqLwo+ICtzdHJ1Y3QgdHdsX2NsaWVudCB7Cj4gKwlz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50Owo+ICsJc3RydWN0IHJlZ21hcCAqcmVnbWFwOwo+ICt9 Owo+ICsKPiArLyogbWFwcGluZyB0aGUgbW9kdWxlIGlkIHRvIHNsYXZlIGlkIGFuZCBiYXNlIGFk ZHJlc3MgKi8KPiArc3RydWN0IHR3bF9tYXBwaW5nIHsKPiArCXVuc2lnbmVkIGNoYXIgc2lkOyAv KiBTbGF2ZSBJRCAqLwo+ICsJdW5zaWduZWQgY2hhciBiYXNlOyAvKiBiYXNlIGFkZHJlc3MgKi8K PiArfTsKPiArCj4gK3N0cnVjdCB0d2xjb3JlIHsKPiArCWJvb2wgcmVhZHk7IC8qIFRoZSBjb3Jl IGRyaXZlciBpcyByZWFkeSB0byBiZSB1c2VkICovCj4gKwl1MzIgdHdsX2lkY29kZTsgLyogVFdM IElEQ09ERSBSZWdpc3RlciB2YWx1ZSAqLwo+ICsJdW5zaWduZWQgaW50IHR3bF9pZDsKPiArCj4g KwlzdHJ1Y3QgdHdsX21hcHBpbmcgKnR3bF9tYXA7Cj4gKwlzdHJ1Y3QgdHdsX2NsaWVudCAqdHds X21vZHVsZXM7Cj4gK307Cj4gKwo+ICsjZW5kaWYKCi0tIApMZWUgSm9uZXMKTGluYXJvIFNUTWlj cm9lbGVjdHJvbmljcyBMYW5kaW5nIFRlYW0gTGVhZApMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJj ZSBzb2Z0d2FyZSBmb3IgQVJNIFNvQ3MKRm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVy IHwgQmxvZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: lee.jones@linaro.org (Lee Jones) Date: Tue, 3 Jan 2017 15:40:51 +0000 Subject: [PATCH 3/5] mfd: twl: move structure definitions to a public header In-Reply-To: <20161126181326.14951-4-Nicolae_Rosia@mentor.com> References: <20161126181326.14951-1-Nicolae_Rosia@mentor.com> <20161126181326.14951-4-Nicolae_Rosia@mentor.com> Message-ID: <20170103154051.GI2977@dell> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Sat, 26 Nov 2016, Nicolae Rosia wrote: > We want to get rid of exported symbols and have > the child devices use structure members directly. > Move the structure definitions to header and set > drvdata so child devices can access it. < Please use all 75 chars allocated to the commitlog before line wrapping > > Signed-off-by: Nicolae Rosia > --- > drivers/mfd/twl-core.c | 27 ++++----------------------- > include/linux/mfd/twl-core.h | 35 +++++++++++++++++++++++++++++++++++ > 2 files changed, 39 insertions(+), 23 deletions(-) > create mode 100644 include/linux/mfd/twl-core.h > > diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c > index e16084e..409b836 100644 > --- a/drivers/mfd/twl-core.c > +++ b/drivers/mfd/twl-core.c > @@ -48,6 +48,7 @@ > > #include > #include > +#include > > /* Register descriptions for audio */ > #include > @@ -154,28 +155,7 @@ int twl4030_init_irq(struct device *dev, int irq_num); > int twl4030_exit_irq(void); > int twl4030_init_chip_irq(const char *chip); > > -/* Structure for each TWL4030/TWL6030 Slave */ > -struct twl_client { > - struct i2c_client *client; > - struct regmap *regmap; > -}; > - > -/* mapping the module id to slave id and base address */ > -struct twl_mapping { > - unsigned char sid; /* Slave ID */ > - unsigned char base; /* base address */ > -}; > - > -struct twl_private { > - bool ready; /* The core driver is ready to be used */ > - u32 twl_idcode; /* TWL IDCODE Register value */ > - unsigned int twl_id; > - > - struct twl_mapping *twl_map; > - struct twl_client *twl_modules; > -}; > - > -static struct twl_private *twl_priv; > +static struct twlcore *twl_priv; I'm guessing when you remove the exported functions, you can remove this? > static struct twl_mapping twl4030_map[] = { > /* > @@ -745,7 +725,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) > goto free; > } > > - twl_priv = devm_kzalloc(&client->dev, sizeof(struct twl_private), > + twl_priv = devm_kzalloc(&client->dev, sizeof(struct twlcore), > GFP_KERNEL); > if (!twl_priv) { > status = -ENOMEM; > @@ -803,6 +783,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) > } > > twl_priv->ready = true; > + dev_set_drvdata(&client->dev, twl_priv); > > /* setup clock framework */ > clocks_init(&pdev->dev); > diff --git a/include/linux/mfd/twl-core.h b/include/linux/mfd/twl-core.h > new file mode 100644 > index 0000000..d1c01b3 > --- /dev/null > +++ b/include/linux/mfd/twl-core.h > @@ -0,0 +1,35 @@ > +/* > + * MFD core driver for the Texas Instruments TWL PMIC family > + * > + * Copyright (C) 2016 Nicolae Rosia Your sign-off and SoB are different? Why? > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef __TWL_CORE_H__ > +#define __TWL_CORE_H__ _MFD_ > +/* Structure for each TWL4030/TWL6030 Slave */ > +struct twl_client { > + struct i2c_client *client; > + struct regmap *regmap; > +}; > + > +/* mapping the module id to slave id and base address */ > +struct twl_mapping { > + unsigned char sid; /* Slave ID */ > + unsigned char base; /* base address */ > +}; > + > +struct twlcore { > + bool ready; /* The core driver is ready to be used */ > + u32 twl_idcode; /* TWL IDCODE Register value */ > + unsigned int twl_id; > + > + struct twl_mapping *twl_map; > + struct twl_client *twl_modules; > +}; > + > +#endif -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758698AbdACPi3 (ORCPT ); Tue, 3 Jan 2017 10:38:29 -0500 Received: from mail-wj0-f174.google.com ([209.85.210.174]:34205 "EHLO mail-wj0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752790AbdACPiJ (ORCPT ); Tue, 3 Jan 2017 10:38:09 -0500 Date: Tue, 3 Jan 2017 15:40:51 +0000 From: Lee Jones To: Nicolae Rosia Cc: Mark Brown , Rob Herring , Mark Rutland , Tony Lindgren , Liam Girdwood , Paul Gortmaker , Graeme Gregory , Baruch Siach , linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Subject: Re: [PATCH 3/5] mfd: twl: move structure definitions to a public header Message-ID: <20170103154051.GI2977@dell> References: <20161126181326.14951-1-Nicolae_Rosia@mentor.com> <20161126181326.14951-4-Nicolae_Rosia@mentor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20161126181326.14951-4-Nicolae_Rosia@mentor.com> User-Agent: Mutt/1.6.2 (2016-07-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 26 Nov 2016, Nicolae Rosia wrote: > We want to get rid of exported symbols and have > the child devices use structure members directly. > Move the structure definitions to header and set > drvdata so child devices can access it. < Please use all 75 chars allocated to the commitlog before line wrapping > > Signed-off-by: Nicolae Rosia > --- > drivers/mfd/twl-core.c | 27 ++++----------------------- > include/linux/mfd/twl-core.h | 35 +++++++++++++++++++++++++++++++++++ > 2 files changed, 39 insertions(+), 23 deletions(-) > create mode 100644 include/linux/mfd/twl-core.h > > diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c > index e16084e..409b836 100644 > --- a/drivers/mfd/twl-core.c > +++ b/drivers/mfd/twl-core.c > @@ -48,6 +48,7 @@ > > #include > #include > +#include > > /* Register descriptions for audio */ > #include > @@ -154,28 +155,7 @@ int twl4030_init_irq(struct device *dev, int irq_num); > int twl4030_exit_irq(void); > int twl4030_init_chip_irq(const char *chip); > > -/* Structure for each TWL4030/TWL6030 Slave */ > -struct twl_client { > - struct i2c_client *client; > - struct regmap *regmap; > -}; > - > -/* mapping the module id to slave id and base address */ > -struct twl_mapping { > - unsigned char sid; /* Slave ID */ > - unsigned char base; /* base address */ > -}; > - > -struct twl_private { > - bool ready; /* The core driver is ready to be used */ > - u32 twl_idcode; /* TWL IDCODE Register value */ > - unsigned int twl_id; > - > - struct twl_mapping *twl_map; > - struct twl_client *twl_modules; > -}; > - > -static struct twl_private *twl_priv; > +static struct twlcore *twl_priv; I'm guessing when you remove the exported functions, you can remove this? > static struct twl_mapping twl4030_map[] = { > /* > @@ -745,7 +725,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) > goto free; > } > > - twl_priv = devm_kzalloc(&client->dev, sizeof(struct twl_private), > + twl_priv = devm_kzalloc(&client->dev, sizeof(struct twlcore), > GFP_KERNEL); > if (!twl_priv) { > status = -ENOMEM; > @@ -803,6 +783,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) > } > > twl_priv->ready = true; > + dev_set_drvdata(&client->dev, twl_priv); > > /* setup clock framework */ > clocks_init(&pdev->dev); > diff --git a/include/linux/mfd/twl-core.h b/include/linux/mfd/twl-core.h > new file mode 100644 > index 0000000..d1c01b3 > --- /dev/null > +++ b/include/linux/mfd/twl-core.h > @@ -0,0 +1,35 @@ > +/* > + * MFD core driver for the Texas Instruments TWL PMIC family > + * > + * Copyright (C) 2016 Nicolae Rosia Your sign-off and SoB are different? Why? > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef __TWL_CORE_H__ > +#define __TWL_CORE_H__ _MFD_ > +/* Structure for each TWL4030/TWL6030 Slave */ > +struct twl_client { > + struct i2c_client *client; > + struct regmap *regmap; > +}; > + > +/* mapping the module id to slave id and base address */ > +struct twl_mapping { > + unsigned char sid; /* Slave ID */ > + unsigned char base; /* base address */ > +}; > + > +struct twlcore { > + bool ready; /* The core driver is ready to be used */ > + u32 twl_idcode; /* TWL IDCODE Register value */ > + unsigned int twl_id; > + > + struct twl_mapping *twl_map; > + struct twl_client *twl_modules; > +}; > + > +#endif -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog