From: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> To: Lee Jones <lee.jones@linaro.org>, Samuel Ortiz <sameo@linux.intel.com>, Jonathan Cameron <jic23@kernel.org>, Hartmut Knaack <knaack.h@gmx.de>, <linux-iio@vger.kernel.org>, Sebastian Reichel <sre@kernel.org>, Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>, David Woodhouse <dwmw2@infradead.org>, <linux-pm@vger.kernel.org>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, Kumar Gala <galak@codeaurora.org>, Grant Likely <grant.likely@linaro.org>, <devicetree@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Joe Perches <joe@perches.com> Cc: <linux-kernel@vger.kernel.org>, <support.opensource@diasemi.com> Subject: [PATCH v6 0/7] Add initial support for DA9150 Charger & Fuel-Gauge IC Date: Wed, 21 Jan 2015 15:46:25 +0000 [thread overview] Message-ID: <cover.1421854282.git.Adam.Thomson.Opensource@diasemi.com> (raw) This patch set adds initial support for the Dialog DA9150 Integrated Charger & Fuel-Gauge IC. The device also provides GPIO and GPADC functionality. In this patch set the following is provided: - MFD Core support and DT bindings documentation. - IIO GPADC support and DT bindings documentation. - Power Supply Charger support and DT bindings documentation. - Update to MAINTAINERS file to add DA9150 files to Dialog support list. To keep patch submission from being too large, support for GPIO and Fuel-Gauge will come after initial support patches are accepted. This patch set is baselined against the v3.19-rc5 kernel version. Changes in v6: - For GPADC driver, Use lower case extended names for IIO GPADC channels, and remove extended names for GPIO related channels. - For charger driver, revert to no devm IRQ request/free functions as ordering is important, and probe failure scenario was not being correctly covered. A helper function for free IRQs has been added to make code cleaner. Changes in v5: - Use sizeof(*gpadc) instead of sizeof(struct da9150_gpadc) in GPADC driver. - Fix erroneous goto for IRQ failure in GPADC driver. Now returns err directly. - Remove IIO ABI document patch as this has been taken by maintainer. Changes in v4: - Correct MODULE_AUTHOR lines so e-mail addresses correctly surrounded with <>. - Update to MFD binding document to remove unnecesary I2C reference, make module description generic, and add link to interrupt binding documentation. - For GPADC driver, irq request moved above iio related calls in probe() to mirror correctly the remove() function ordering, as requested. - For charger driver, remove additional sysfs entries as these are not necessary (debug only). - For charger driver, add helper function for requesting IRQs, to make probe() function cleaner/simpler. Changes in v3: - IRQ register and remove helper functions removed from MFD, deemed unnecessary. Drivers using helper functions updated to use direct calls to relevant kernel framework functions. - MFD I2C file removed and code folded into -core file as requested. - MFD core now buildable as driver module. - Platform data structure definition moved into core header, pdata.h removed. - Update functions in GPADC driver to be static, where appropriate. - Change units of GPADC readings to match ABI documentation. Updates to charger driver also made to align with this modification. - Refactor GPADC temp calculations to use scale & offset method. - Scale values now returned as FRACTIONAL to allow for accurate conversion in user-space. - Tidy up of GPADC scale, offset and raw functions to return from case statements with correct return types. - Update GPADC channel macros naming to prefix with DA9150, prevent conflict. - GPADC GPIO voltage readings actually in 6V range, updated accordingly. - Addition to IIO ABI document to add details on input current readings. - Small style updates to address comments. Changes in v2: - Drop devicetree prefix patch as this is being dealt with separately. - IIO framework fix patch removed from set, has already been accepted/merged. - Use __ instead of _ for protecting #ifdefs in headers. - Moved private data & definitions to source files and remove unwanted headers. - Bug fix to EXPORT_SYMBOL for common functions in MFD core used by sub-devices, so they can be correctly built as kernel modules. - Removed unnecessary channels from GPADC IIO driver to simplify code. - For GPADC IIO driver, VBAT reading now provides scale and offset values as it is a linear scale. - GPADC read code refactored to make it tidier. - Remove use of flag to indicate GPADC availability. IIO framework should indicate need to defer if it's not yet instantiated. - Unwanted comments removed. - Removed conditional shutdown of device (Charger/MFD) as this is not needed. - Removed AC type supply from charger as device cannot differentiate. Now just uses USB supply type. - Removed use of invalid-tbat flag from platform data as it doesn't really add anything to the driver except forcing battery present status. - Bug fix for checking of usb_phy validity in Charger probe() function. - Addition of common IRQ release function to allow sub-devices to explicitly tidy up IRQs when devm clean up is too late. - Improved tidy up of resources in charger. - Fix location of IIO GPADC related devicetree binding document so it now resides correctly under 'adc' directory. - Add update to MAINTAINERS file to include these files in Dialog support list. Adam Thomson (7): mfd: Add support for DA9150 combined charger & fuel-gauge device mfd: da9150: Add DT binding documentation for core iio: Add support for DA9150 GPADC iio: da9150: Add DT binding documentation for GPADC power: Add support for DA9150 Charger power: da9150: Add DT binding documentation for charger MAINTAINERS: Include DA9150 files in Dialog Semiconductor support list. .../devicetree/bindings/iio/adc/da9150-gpadc.txt | 16 + Documentation/devicetree/bindings/mfd/da9150.txt | 43 + .../devicetree/bindings/power/da9150-charger.txt | 26 + MAINTAINERS | 4 + drivers/iio/adc/Kconfig | 9 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/da9150-gpadc.c | 407 +++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 2 +- drivers/mfd/da9150-core.c | 413 +++++++ drivers/power/Kconfig | 12 + drivers/power/Makefile | 1 + drivers/power/da9150-charger.c | 688 ++++++++++++ include/linux/mfd/da9150/core.h | 68 ++ include/linux/mfd/da9150/registers.h | 1155 ++++++++++++++++++++ 15 files changed, 2856 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/da9150-gpadc.txt create mode 100644 Documentation/devicetree/bindings/mfd/da9150.txt create mode 100644 Documentation/devicetree/bindings/power/da9150-charger.txt create mode 100644 drivers/iio/adc/da9150-gpadc.c create mode 100644 drivers/mfd/da9150-core.c create mode 100644 drivers/power/da9150-charger.c create mode 100644 include/linux/mfd/da9150/core.h create mode 100644 include/linux/mfd/da9150/registers.h -- 1.9.3
WARNING: multiple messages have this Message-ID (diff)
From: Adam Thomson <Adam.Thomson.Opensource-WBD+wuPFNBhBDgjK7y7TUQ@public.gmane.org> To: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>, Samuel Ortiz <sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>, Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Hartmut Knaack <knaack.h-Mmb7MZpHnFY@public.gmane.org>, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Sebastian Reichel <sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Dmitry Eremin-Solenikov <dbaryshkov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>, Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>, Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>, Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>, Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>, Joe Perches <joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org> Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, support.opensource-WBD+wuPFNBhBDgjK7y7TUQ@public.gmane.org Subject: [PATCH v6 0/7] Add initial support for DA9150 Charger & Fuel-Gauge IC Date: Wed, 21 Jan 2015 15:46:25 +0000 [thread overview] Message-ID: <cover.1421854282.git.Adam.Thomson.Opensource@diasemi.com> (raw) This patch set adds initial support for the Dialog DA9150 Integrated Charger & Fuel-Gauge IC. The device also provides GPIO and GPADC functionality. In this patch set the following is provided: - MFD Core support and DT bindings documentation. - IIO GPADC support and DT bindings documentation. - Power Supply Charger support and DT bindings documentation. - Update to MAINTAINERS file to add DA9150 files to Dialog support list. To keep patch submission from being too large, support for GPIO and Fuel-Gauge will come after initial support patches are accepted. This patch set is baselined against the v3.19-rc5 kernel version. Changes in v6: - For GPADC driver, Use lower case extended names for IIO GPADC channels, and remove extended names for GPIO related channels. - For charger driver, revert to no devm IRQ request/free functions as ordering is important, and probe failure scenario was not being correctly covered. A helper function for free IRQs has been added to make code cleaner. Changes in v5: - Use sizeof(*gpadc) instead of sizeof(struct da9150_gpadc) in GPADC driver. - Fix erroneous goto for IRQ failure in GPADC driver. Now returns err directly. - Remove IIO ABI document patch as this has been taken by maintainer. Changes in v4: - Correct MODULE_AUTHOR lines so e-mail addresses correctly surrounded with <>. - Update to MFD binding document to remove unnecesary I2C reference, make module description generic, and add link to interrupt binding documentation. - For GPADC driver, irq request moved above iio related calls in probe() to mirror correctly the remove() function ordering, as requested. - For charger driver, remove additional sysfs entries as these are not necessary (debug only). - For charger driver, add helper function for requesting IRQs, to make probe() function cleaner/simpler. Changes in v3: - IRQ register and remove helper functions removed from MFD, deemed unnecessary. Drivers using helper functions updated to use direct calls to relevant kernel framework functions. - MFD I2C file removed and code folded into -core file as requested. - MFD core now buildable as driver module. - Platform data structure definition moved into core header, pdata.h removed. - Update functions in GPADC driver to be static, where appropriate. - Change units of GPADC readings to match ABI documentation. Updates to charger driver also made to align with this modification. - Refactor GPADC temp calculations to use scale & offset method. - Scale values now returned as FRACTIONAL to allow for accurate conversion in user-space. - Tidy up of GPADC scale, offset and raw functions to return from case statements with correct return types. - Update GPADC channel macros naming to prefix with DA9150, prevent conflict. - GPADC GPIO voltage readings actually in 6V range, updated accordingly. - Addition to IIO ABI document to add details on input current readings. - Small style updates to address comments. Changes in v2: - Drop devicetree prefix patch as this is being dealt with separately. - IIO framework fix patch removed from set, has already been accepted/merged. - Use __ instead of _ for protecting #ifdefs in headers. - Moved private data & definitions to source files and remove unwanted headers. - Bug fix to EXPORT_SYMBOL for common functions in MFD core used by sub-devices, so they can be correctly built as kernel modules. - Removed unnecessary channels from GPADC IIO driver to simplify code. - For GPADC IIO driver, VBAT reading now provides scale and offset values as it is a linear scale. - GPADC read code refactored to make it tidier. - Remove use of flag to indicate GPADC availability. IIO framework should indicate need to defer if it's not yet instantiated. - Unwanted comments removed. - Removed conditional shutdown of device (Charger/MFD) as this is not needed. - Removed AC type supply from charger as device cannot differentiate. Now just uses USB supply type. - Removed use of invalid-tbat flag from platform data as it doesn't really add anything to the driver except forcing battery present status. - Bug fix for checking of usb_phy validity in Charger probe() function. - Addition of common IRQ release function to allow sub-devices to explicitly tidy up IRQs when devm clean up is too late. - Improved tidy up of resources in charger. - Fix location of IIO GPADC related devicetree binding document so it now resides correctly under 'adc' directory. - Add update to MAINTAINERS file to include these files in Dialog support list. Adam Thomson (7): mfd: Add support for DA9150 combined charger & fuel-gauge device mfd: da9150: Add DT binding documentation for core iio: Add support for DA9150 GPADC iio: da9150: Add DT binding documentation for GPADC power: Add support for DA9150 Charger power: da9150: Add DT binding documentation for charger MAINTAINERS: Include DA9150 files in Dialog Semiconductor support list. .../devicetree/bindings/iio/adc/da9150-gpadc.txt | 16 + Documentation/devicetree/bindings/mfd/da9150.txt | 43 + .../devicetree/bindings/power/da9150-charger.txt | 26 + MAINTAINERS | 4 + drivers/iio/adc/Kconfig | 9 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/da9150-gpadc.c | 407 +++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 2 +- drivers/mfd/da9150-core.c | 413 +++++++ drivers/power/Kconfig | 12 + drivers/power/Makefile | 1 + drivers/power/da9150-charger.c | 688 ++++++++++++ include/linux/mfd/da9150/core.h | 68 ++ include/linux/mfd/da9150/registers.h | 1155 ++++++++++++++++++++ 15 files changed, 2856 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/da9150-gpadc.txt create mode 100644 Documentation/devicetree/bindings/mfd/da9150.txt create mode 100644 Documentation/devicetree/bindings/power/da9150-charger.txt create mode 100644 drivers/iio/adc/da9150-gpadc.c create mode 100644 drivers/mfd/da9150-core.c create mode 100644 drivers/power/da9150-charger.c create mode 100644 include/linux/mfd/da9150/core.h create mode 100644 include/linux/mfd/da9150/registers.h -- 1.9.3
next reply other threads:[~2015-01-21 15:47 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-01-21 15:46 Adam Thomson [this message] 2015-01-21 15:46 ` [PATCH v6 0/7] Add initial support for DA9150 Charger & Fuel-Gauge IC Adam Thomson 2015-01-21 15:46 ` [PATCH v6 1/7] mfd: Add support for DA9150 combined charger & fuel-gauge device Adam Thomson 2015-01-21 15:46 ` Adam Thomson 2015-01-21 15:46 ` [PATCH v6 2/7] mfd: da9150: Add DT binding documentation for core Adam Thomson 2015-01-21 15:46 ` Adam Thomson 2015-01-21 15:46 ` [PATCH v6 3/7] iio: Add support for DA9150 GPADC Adam Thomson 2015-01-21 15:46 ` Adam Thomson 2015-01-21 16:06 ` Varka Bhadram 2015-01-21 16:06 ` Varka Bhadram 2015-01-27 16:15 ` Opensource [Adam Thomson] 2015-01-27 16:15 ` Opensource [Adam Thomson] 2015-01-27 16:15 ` Opensource [Adam Thomson] 2015-01-21 15:46 ` [PATCH v6 4/7] iio: da9150: Add DT binding documentation for GPADC Adam Thomson 2015-01-21 15:46 ` Adam Thomson 2015-01-21 15:46 ` [PATCH v6 5/7] power: Add support for DA9150 Charger Adam Thomson 2015-01-21 15:46 ` Adam Thomson 2015-01-21 16:14 ` Varka Bhadram 2015-01-27 16:16 ` Opensource [Adam Thomson] 2015-01-27 16:16 ` Opensource [Adam Thomson] 2015-01-27 16:16 ` Opensource [Adam Thomson] 2015-01-21 15:47 ` [PATCH v6 6/7] power: da9150: Add DT binding documentation for charger Adam Thomson 2015-01-21 15:47 ` Adam Thomson 2015-01-21 15:47 ` [PATCH v6 7/7] MAINTAINERS: Include DA9150 files in Dialog Semiconductor support list Adam Thomson 2015-01-21 15:47 ` Adam Thomson 2015-01-21 16:52 ` [PATCH v6 0/7] Add initial support for DA9150 Charger & Fuel-Gauge IC Sebastian Reichel 2015-01-21 16:52 ` Sebastian Reichel 2015-01-21 17:19 ` Jonathan Cameron 2015-01-21 17:19 ` Jonathan Cameron 2015-01-22 7:58 ` Lee Jones 2015-02-16 21:45 ` Opensource [Adam Thomson] 2015-02-16 21:45 ` Opensource [Adam Thomson] 2015-02-16 21:45 ` Opensource [Adam Thomson] 2015-02-17 18:04 ` Sebastian Reichel 2015-02-17 18:04 ` Sebastian Reichel 2015-02-17 18:15 ` Opensource [Adam Thomson] 2015-02-17 18:15 ` Opensource [Adam Thomson] 2015-02-17 18:15 ` Opensource [Adam Thomson]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1421854282.git.Adam.Thomson.Opensource@diasemi.com \ --to=adam.thomson.opensource@diasemi.com \ --cc=akpm@linux-foundation.org \ --cc=dbaryshkov@gmail.com \ --cc=devicetree@vger.kernel.org \ --cc=dwmw2@infradead.org \ --cc=galak@codeaurora.org \ --cc=grant.likely@linaro.org \ --cc=ijc+devicetree@hellion.org.uk \ --cc=jic23@kernel.org \ --cc=joe@perches.com \ --cc=knaack.h@gmx.de \ --cc=lee.jones@linaro.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=pawel.moll@arm.com \ --cc=robh+dt@kernel.org \ --cc=sameo@linux.intel.com \ --cc=sre@kernel.org \ --cc=support.opensource@diasemi.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.