* [PATCH 2/3] Adding Skyworks SKY81452 regulator driver @ 2014-08-08 9:10 Gyungoh Yoo [not found] ` <1407489022-31130-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Gyungoh Yoo @ 2014-08-08 9:10 UTC (permalink / raw) To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, galak-sgV2jX0FEOL9JmXXK+q4OQ Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, broonie-DgEjT+Ai2ygdnm+yROfE0A, jack.yoo-tjhQNA90jdKqndwCJWfcng, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA Signed-off-by: Gyungoh Yoo <jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> --- .../bindings/regulator/sky81452-regulator.txt | 16 +++ drivers/regulator/Kconfig | 11 ++ drivers/regulator/Makefile | 1 + drivers/regulator/sky81452-regulator.c | 130 +++++++++++++++++++++ 4 files changed, 158 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/sky81452-regulator.txt create mode 100644 drivers/regulator/sky81452-regulator.c diff --git a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt new file mode 100644 index 0000000..f98b5ed --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt @@ -0,0 +1,16 @@ +SKY81452 voltage regulator + +Required properties: +- any required generic properties defined in regulator.txt + +Optional properties: +- any available generic properties defined in regulator.txt + +Example: + + regualtor { + /* generic regulator properties */ + regulator-name = "touch_en"; + regulator-min-microvolt = <4500000>; + regulator-max-microvolt = <8000000>; + }; diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 2dc8289..f6bf208 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -483,6 +483,17 @@ config REGULATOR_S5M8767 via I2C bus. S5M8767A have 9 Bucks and 28 LDOs output and supports DVS mode with 8bits of output voltage control. +config REGULATOR_SKY81452 + tristate "Skyworks Solutions SKY81452 voltage regulator" + depends on SKY81452 + help + This driver supports Skyworks SKY81452 voltage output regulator + via I2C bus. SKY81452 has one voltage linear regulator can be + programmed from 4.5V to 20V. + + This driver can also be built as a module. If so, the module + will be called sky81452-regulator. + config REGULATOR_ST_PWM tristate "STMicroelectronics PWM voltage regulator" depends on ARCH_STI diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile index aa4a6aa..d8206ec 100644 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile @@ -65,6 +65,7 @@ obj-$(CONFIG_REGULATOR_RC5T583) += rc5t583-regulator.o obj-$(CONFIG_REGULATOR_S2MPA01) += s2mpa01.o obj-$(CONFIG_REGULATOR_S2MPS11) += s2mps11.o obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o +obj-$(CONFIG_REGULATOR_SKY81452) += sky81452-regulator.o obj-$(CONFIG_REGULATOR_ST_PWM) += st-pwm.o obj-$(CONFIG_REGULATOR_STW481X_VMMC) += stw481x-vmmc.o obj-$(CONFIG_REGULATOR_TI_ABB) += ti-abb-regulator.o diff --git a/drivers/regulator/sky81452-regulator.c b/drivers/regulator/sky81452-regulator.c new file mode 100644 index 0000000..97aff0c --- /dev/null +++ b/drivers/regulator/sky81452-regulator.c @@ -0,0 +1,130 @@ +/* + * sky81452-regulator.c SKY81452 regulator driver + * + * Copyright 2014 Skyworks Solutions Inc. + * Author : Gyungoh Yoo <jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +#include <linux/module.h> +#include <linux/kernel.h> +#include <linux/platform_device.h> +#include <linux/init.h> +#include <linux/err.h> +#include <linux/of.h> +#include <linux/regulator/driver.h> +#include <linux/regulator/of_regulator.h> + +/* registers */ +#define SKY81452_REG1 0x01 +#define SKY81452_REG3 0x03 + +/* bit mask */ +#define SKY81452_LEN 0x40 +#define SKY81452_LOUT 0x1F + +static struct regulator_ops sky81452_reg_ops = { + .list_voltage = regulator_list_voltage_linear_range, + .map_voltage = regulator_map_voltage_linear_range, + .get_voltage_sel = regulator_get_voltage_sel_regmap, + .set_voltage_sel = regulator_set_voltage_sel_regmap, + .enable = regulator_enable_regmap, + .disable = regulator_disable_regmap, + .is_enabled = regulator_is_enabled_regmap, +}; + +static const struct regulator_linear_range sky81452_reg_ranges[] = { + REGULATOR_LINEAR_RANGE(4500000, 0, 14, 250000), + REGULATOR_LINEAR_RANGE(9000000, 15, 31, 1000000), +}; + +static const struct regulator_desc sky81452_reg = { + .name = "LOUT", + .ops = &sky81452_reg_ops, + .type = REGULATOR_VOLTAGE, + .owner = THIS_MODULE, + .n_voltages = SKY81452_LOUT + 1, + .linear_ranges = sky81452_reg_ranges, + .n_linear_ranges = ARRAY_SIZE(sky81452_reg_ranges), + .vsel_reg = SKY81452_REG3, + .vsel_mask = SKY81452_LOUT, + .enable_reg = SKY81452_REG1, + .enable_mask = SKY81452_LEN, +}; + +#ifdef CONFIG_OF +static struct regulator_init_data *sky81452_reg_parse_dt(struct device *dev) +{ + struct regulator_init_data *init_data; + struct device_node *np; + + np = of_get_child_by_name(dev->parent->of_node, "regulator"); + if (unlikely(!np)) { + dev_err(dev, "regulator node not found"); + return NULL; + } + + init_data = of_get_regulator_init_data(dev, np); + + of_node_put(np); + return init_data; +} +#else +static struct regulator_init_data *sky81452_reg_parse_dt(struct device *dev) +{ + return ERR_PTR(-EINVAL); +} +#endif + +static int sky81452_reg_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + const struct regulator_init_data *init_data = dev_get_platdata(dev); + struct regulator_config config = { }; + struct regulator_dev *rdev; + + if (!init_data) { + init_data = sky81452_reg_parse_dt(dev); + if (IS_ERR(init_data)) + return PTR_ERR(init_data); + } + + config.dev = dev; + config.init_data = init_data; + config.of_node = dev->of_node; + config.regmap = dev_get_drvdata(dev->parent); + + rdev = devm_regulator_register(dev, &sky81452_reg, &config); + if (IS_ERR(rdev)) + return PTR_ERR(rdev); + + platform_set_drvdata(pdev, rdev); + + return 0; +} + +static struct platform_driver sky81452_reg_driver = { + .driver = { + .name = "sky81452-regulator", + }, + .probe = sky81452_reg_probe, +}; + +module_platform_driver(sky81452_reg_driver); + +MODULE_DESCRIPTION("Skyworks SKY81452 Regulator driver"); +MODULE_AUTHOR("Gyungoh Yoo <jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org>"); +MODULE_LICENSE("GPL"); +MODULE_VERSION("1.0"); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 11+ messages in thread
[parent not found: <1407489022-31130-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org>]
* Re: [PATCH 2/3] Adding Skyworks SKY81452 regulator driver [not found] ` <1407489022-31130-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> @ 2014-08-13 19:04 ` Mark Brown 2014-09-01 2:40 ` [PATCH v2.2 0/2] regulator: sky81452: Adding compatible attribute in DT document Gyungoh Yoo 0 siblings, 1 reply; 11+ messages in thread From: Mark Brown @ 2014-08-13 19:04 UTC (permalink / raw) To: Gyungoh Yoo Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, pawel.moll-5wv7dgnIgG8, mark.rutland-5wv7dgnIgG8, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg, galak-sgV2jX0FEOL9JmXXK+q4OQ, lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, jack.yoo-tjhQNA90jdKqndwCJWfcng, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 250 bytes --] On Fri, Aug 08, 2014 at 06:10:22PM +0900, Gyungoh Yoo wrote: > Signed-off-by: Gyungoh Yoo <jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> Applied, thanks. Please use subject lines matching the style for the subsystem you are submitting against. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2.2 0/2] regulator: sky81452: Adding compatible attribute in DT document 2014-08-13 19:04 ` Mark Brown @ 2014-09-01 2:40 ` Gyungoh Yoo [not found] ` <1409539218-5571-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> 2014-09-01 2:40 ` [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator Gyungoh Yoo 0 siblings, 2 replies; 11+ messages in thread From: Gyungoh Yoo @ 2014-09-01 2:40 UTC (permalink / raw) To: lgirdwood, broonie Cc: grant.likely, robh+dt, linux-kernel, devicetree, Gyungoh Yoo Adding comptiable attribute in DT document. Splitted the patches for each subsystem. Fixed typo in DT document. Gyungoh Yoo (2): regulator: sky81452: Adding compatible attribute in DT dt-bindings: Adding compatible attribute for SKY81452 regulator .../bindings/regulator/sky81452-regulator.txt | 4 +++- drivers/regulator/sky81452-regulator.c | 22 ++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) -- 1.9.1 ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <1409539218-5571-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org>]
* [PATCH v2.2 1/2] regulator: sky81452: Adding compatible attribute in DT [not found] ` <1409539218-5571-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> @ 2014-09-01 2:40 ` Gyungoh Yoo 0 siblings, 0 replies; 11+ messages in thread From: Gyungoh Yoo @ 2014-09-01 2:40 UTC (permalink / raw) To: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, broonie-DgEjT+Ai2ygdnm+yROfE0A Cc: grant.likely-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Gyungoh Yoo Adding compatible attriubute in DT. Fixed typo. --- drivers/regulator/sky81452-regulator.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/regulator/sky81452-regulator.c b/drivers/regulator/sky81452-regulator.c index 97aff0c..b9c54c6 100644 --- a/drivers/regulator/sky81452-regulator.c +++ b/drivers/regulator/sky81452-regulator.c @@ -68,12 +68,11 @@ static const struct regulator_desc sky81452_reg = { static struct regulator_init_data *sky81452_reg_parse_dt(struct device *dev) { struct regulator_init_data *init_data; - struct device_node *np; + struct device_node *np = of_node_get(dev->of_node); - np = of_get_child_by_name(dev->parent->of_node, "regulator"); - if (unlikely(!np)) { + if (!np) { dev_err(dev, "regulator node not found"); - return NULL; + return ERR_PTR(-ENODATA); } init_data = of_get_regulator_init_data(dev, np); @@ -107,17 +106,28 @@ static int sky81452_reg_probe(struct platform_device *pdev) config.regmap = dev_get_drvdata(dev->parent); rdev = devm_regulator_register(dev, &sky81452_reg, &config); - if (IS_ERR(rdev)) + if (IS_ERR(rdev)) { + dev_err(dev, "failed to register regulator:%d", PTR_ERR(rdev)); return PTR_ERR(rdev); + } platform_set_drvdata(pdev, rdev); return 0; } +#ifdef CONFIG_OF +static const struct of_device_id sky81452_reg_of_match[] = { + { .compatible = "skyworks,sky81452-regulator", }, + { } +}; +MODULE_DEVICE_TABLE(of, sky81452_reg_of_match); +#endif + static struct platform_driver sky81452_reg_driver = { .driver = { .name = "sky81452-regulator", + .of_match_table = of_match_ptr(sky81452_reg_of_match), }, .probe = sky81452_reg_probe, }; @@ -127,4 +137,4 @@ module_platform_driver(sky81452_reg_driver); MODULE_DESCRIPTION("Skyworks SKY81452 Regulator driver"); MODULE_AUTHOR("Gyungoh Yoo <jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org>"); MODULE_LICENSE("GPL"); -MODULE_VERSION("1.0"); +MODULE_VERSION("1.1"); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator 2014-09-01 2:40 ` [PATCH v2.2 0/2] regulator: sky81452: Adding compatible attribute in DT document Gyungoh Yoo [not found] ` <1409539218-5571-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> @ 2014-09-01 2:40 ` Gyungoh Yoo [not found] ` <1409539218-5571-3-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> 1 sibling, 1 reply; 11+ messages in thread From: Gyungoh Yoo @ 2014-09-01 2:40 UTC (permalink / raw) To: lgirdwood, broonie Cc: grant.likely, robh+dt, linux-kernel, devicetree, Gyungoh Yoo Adding compatible attribute for SKY81452 regulator driver. --- Documentation/devicetree/bindings/regulator/sky81452-regulator.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt index f98b5ed..7b9ff18 100644 --- a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt @@ -1,6 +1,7 @@ SKY81452 voltage regulator Required properties: +- compatible : Must be "skyworks,sky81452-regulator" - any required generic properties defined in regulator.txt Optional properties: @@ -8,7 +9,8 @@ Optional properties: Example: - regualtor { + regulator { + compatible = "skyworks,sky81452-regulator"; /* generic regulator properties */ regulator-name = "touch_en"; regulator-min-microvolt = <4500000>; -- 1.9.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
[parent not found: <1409539218-5571-3-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org>]
* Re: [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator [not found] ` <1409539218-5571-3-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> @ 2014-09-01 10:31 ` Mark Brown [not found] ` <20140901103158.GO29327-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Mark Brown @ 2014-09-01 10:31 UTC (permalink / raw) To: Gyungoh Yoo Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, grant.likely-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Gyungoh Yoo [-- Attachment #1: Type: text/plain, Size: 290 bytes --] On Mon, Sep 01, 2014 at 11:40:18AM +0900, Gyungoh Yoo wrote: > Adding compatible attribute for SKY81452 regulator driver. > Required properties: > +- compatible : Must be "skyworks,sky81452-regulator" Why is this a good idea - can this driver be used for anything other than a sky81452? [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <20140901103158.GO29327-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>]
* Re: [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator [not found] ` <20140901103158.GO29327-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> @ 2014-09-05 1:55 ` Gyungoh Yoo 2014-09-06 14:38 ` Mark Brown 0 siblings, 1 reply; 11+ messages in thread From: Gyungoh Yoo @ 2014-09-05 1:55 UTC (permalink / raw) To: Mark Brown Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, grant.likely-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Gyungoh Yoo On Mon, Sep 01, 2014 at 11:31:58AM +0100, Mark Brown wrote: > On Mon, Sep 01, 2014 at 11:40:18AM +0900, Gyungoh Yoo wrote: > > Adding compatible attribute for SKY81452 regulator driver. > > > Required properties: > > +- compatible : Must be "skyworks,sky81452-regulator" > > Why is this a good idea - can this driver be used for anything other > than a sky81452? Thank you for the answer. Yes. There is a possibility that this driver will be used by similar device with SKY81452. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator 2014-09-05 1:55 ` Gyungoh Yoo @ 2014-09-06 14:38 ` Mark Brown [not found] ` <20140906143828.GJ2601-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Mark Brown @ 2014-09-06 14:38 UTC (permalink / raw) To: Gyungoh Yoo Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, grant.likely-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Gyungoh Yoo [-- Attachment #1: Type: text/plain, Size: 843 bytes --] On Fri, Sep 05, 2014 at 10:55:07AM +0900, Gyungoh Yoo wrote: > On Mon, Sep 01, 2014 at 11:31:58AM +0100, Mark Brown wrote: > > Why is this a good idea - can this driver be used for anything other > > than a sky81452? > Yes. There is a possibility that this driver will be used by similar > device with SKY81452. OK, so tha was slightly the wrong question. What added information is forcing the user to create a subnode and specify a compatible string providing? This driver is specifying a block of multiple regulators with absolute register addresses hard coded into it, there's no real ability to use the driver in a different configuration here. As soon as we see the parent device we already know everything there is to know about the IP block, having a separate compatible string just forces the user to do more typing for no gain. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <20140906143828.GJ2601-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>]
* Re: [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator [not found] ` <20140906143828.GJ2601-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> @ 2014-09-11 5:22 ` Gyungoh Yoo 2014-09-15 22:35 ` Mark Brown 0 siblings, 1 reply; 11+ messages in thread From: Gyungoh Yoo @ 2014-09-11 5:22 UTC (permalink / raw) To: Mark Brown Cc: lgirdwood-Re5JQEeQqe8AvxtiuMwx3w, grant.likely-QSEj5FYQhm4dnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Gyungoh Yoo On Sat, Sep 06, 2014 at 03:38:28PM +0100, Mark Brown wrote: > On Fri, Sep 05, 2014 at 10:55:07AM +0900, Gyungoh Yoo wrote: > > On Mon, Sep 01, 2014 at 11:31:58AM +0100, Mark Brown wrote: > > > > Why is this a good idea - can this driver be used for anything other > > > than a sky81452? > > > Yes. There is a possibility that this driver will be used by similar > > device with SKY81452. > > OK, so tha was slightly the wrong question. What added information is > forcing the user to create a subnode and specify a compatible string > providing? This driver is specifying a block of multiple regulators > with absolute register addresses hard coded into it, there's no real > ability to use the driver in a different configuration here. As soon as > we see the parent device we already know everything there is to know > about the IP block, having a separate compatible string just forces the > user to do more typing for no gain. Thank you for your comments. By the way, I knew that compatible string is used for binding a driver. http://devicetree.org/Device_Tree_Usage#Understanding_the_compatible_Property And, from kernel 3.6, MFD core has a mechanism for binding of_node to the driver with of_compatible. Can I have a question about if it is possible to assign compatible string for binding driver independently with reusability? Thanks, Gyungoh -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator 2014-09-11 5:22 ` Gyungoh Yoo @ 2014-09-15 22:35 ` Mark Brown 2014-09-19 6:17 ` Gyungoh Yoo 0 siblings, 1 reply; 11+ messages in thread From: Mark Brown @ 2014-09-15 22:35 UTC (permalink / raw) To: Gyungoh Yoo Cc: lgirdwood, grant.likely, robh+dt, linux-kernel, devicetree, Gyungoh Yoo [-- Attachment #1: Type: text/plain, Size: 786 bytes --] On Thu, Sep 11, 2014 at 02:22:30PM +0900, Gyungoh Yoo wrote: > By the way, > I knew that compatible string is used for binding a driver. > http://devicetree.org/Device_Tree_Usage#Understanding_the_compatible_Property > And, from kernel 3.6, MFD core has a mechanism for binding of_node > to the driver with of_compatible. > Can I have a question about if it is possible to assign compatible string > for binding driver independently with reusability? Look at a driver like the wm831x regulator drivers - they don't have device tree but they're reusing a driver for an IP with the base register for the IP being specified in the MFD. If convering to DT it might be reasonable to specify this in device tree, though it's marginal since the part name in the core is also good enough. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 473 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator 2014-09-15 22:35 ` Mark Brown @ 2014-09-19 6:17 ` Gyungoh Yoo 0 siblings, 0 replies; 11+ messages in thread From: Gyungoh Yoo @ 2014-09-19 6:17 UTC (permalink / raw) To: Mark Brown Cc: lgirdwood, grant.likely, robh+dt, linux-kernel, devicetree, Gyungoh Yoo On Mon, Sep 15, 2014 at 03:35:54PM -0700, Mark Brown wrote: > On Thu, Sep 11, 2014 at 02:22:30PM +0900, Gyungoh Yoo wrote: > > > By the way, > > I knew that compatible string is used for binding a driver. > > http://devicetree.org/Device_Tree_Usage#Understanding_the_compatible_Property > > > And, from kernel 3.6, MFD core has a mechanism for binding of_node > > to the driver with of_compatible. > > > Can I have a question about if it is possible to assign compatible string > > for binding driver independently with reusability? > > Look at a driver like the wm831x regulator drivers - they don't have > device tree but they're reusing a driver for an IP with the base > register for the IP being specified in the MFD. If convering to DT it > might be reasonable to specify this in device tree, though it's marginal > since the part name in the core is also good enough. Thank you for your comment. I agree. A child driver can look DT up and reference the base information in MFD with or without compatible string. My idea was about easy-binding of DT without referencing parent node because the recent kernel support this infrastructure. I will add more information in DT to reuse the driver for the IP, and I will resubmit. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-09-19 6:17 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-08 9:10 [PATCH 2/3] Adding Skyworks SKY81452 regulator driver Gyungoh Yoo [not found] ` <1407489022-31130-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> 2014-08-13 19:04 ` Mark Brown 2014-09-01 2:40 ` [PATCH v2.2 0/2] regulator: sky81452: Adding compatible attribute in DT document Gyungoh Yoo [not found] ` <1409539218-5571-1-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> 2014-09-01 2:40 ` [PATCH v2.2 1/2] regulator: sky81452: Adding compatible attribute in DT Gyungoh Yoo 2014-09-01 2:40 ` [PATCH v2.2 2/2] dt-bindings: Adding compatible attribute for SKY81452 regulator Gyungoh Yoo [not found] ` <1409539218-5571-3-git-send-email-jack.yoo-tjhQNA90jdKqndwCJWfcng@public.gmane.org> 2014-09-01 10:31 ` Mark Brown [not found] ` <20140901103158.GO29327-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> 2014-09-05 1:55 ` Gyungoh Yoo 2014-09-06 14:38 ` Mark Brown [not found] ` <20140906143828.GJ2601-GFdadSzt00ze9xe1eoZjHA@public.gmane.org> 2014-09-11 5:22 ` Gyungoh Yoo 2014-09-15 22:35 ` Mark Brown 2014-09-19 6:17 ` Gyungoh Yoo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).