mfd: arizona: Add convience defines for micd_rate/micd_bias_starttime
PATCH 1/2 mfd: arizona: Add convience defines for micd_rate/micd_bias_starttime
--- include/dt-bindings/mfd/arizona.h | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
include/dt-bindings/mfd/arizona.h +14 -0
@@ -90,4 +90,18 @@#define ARIZONA_INMODE_SE 1#define ARIZONA_INMODE_DMIC 2 +#define ARIZONA_MICD_TIME_CONTINUOUS 0 +#define ARIZONA_MICD_TIME_250US 1 +#define ARIZONA_MICD_TIME_500US 2 +#define ARIZONA_MICD_TIME_1MS 3 +#define ARIZONA_MICD_TIME_2MS 4 +#define ARIZONA_MICD_TIME_4MS 5 +#define ARIZONA_MICD_TIME_8MS 6 +#define ARIZONA_MICD_TIME_16MS 7 +#define ARIZONA_MICD_TIME_32MS 8 +#define ARIZONA_MICD_TIME_64MS 9 +#define ARIZONA_MICD_TIME_128MS 10 +#define ARIZONA_MICD_TIME_256MS 11 +#define ARIZONA_MICD_TIME_512MS 12 +#endif
Signature · 1 line
1.7.2.5
PATCH 2/2 mfd: arizona: Add DT/ACPI u32 helper functions
Add helpers to read u32's and arrays of u32's from device tree or ACPI using the new device properties API.
--- drivers/mfd/arizona-core.c | 39 ++++++++++++++++++++++++++++++++++++++ include/linux/mfd/arizona/core.h | 5 ++++ 2 files changed, 44 insertions(+), 0 deletions(-)
drivers/mfd/arizona-core.c +39 -0
@@ -20,6 +20,7 @@#include <linux/of_device.h> #include <linux/of_gpio.h> #include <linux/pm_runtime.h> +#include <linux/property.h> #include <linux/regmap.h> #include <linux/regulator/consumer.h> #include <linux/regulator/machine.h>
@@ -746,6 +747,44 @@ int arizona_of_get_named_gpio(struct arizona *arizona, const char *prop, }EXPORT_SYMBOL_GPL (arizona_of_get_named_gpio); +int arizona_device_read_u32_array (struct arizona *arizona, +const char *prop,bool mandatory, +u32 *data,size_t num) +{ +int ret; + + ret =device_property_read_u32_array (arizona->dev, prop, data, num); +switch (ret) { +case 0 : +break ; +case -EINVAL : +if (!mandatory) +break ; + +dev_err (arizona->dev,"Mandatory property %s is missing\n" , + prop); +break ; +default : +dev_err (arizona->dev,"Property %s is malformed: %d\n" , + prop, ret); +break ; + } + +return ret; +} +EXPORT_SYMBOL_GPL (arizona_device_read_u32_array); + +unsigned int arizona_device_read_u32 (struct arizona *arizona, +const char *prop,bool mandatory) +{ +u32 data =0 ; + +arizona_device_read_u32_array (arizona, prop, mandatory, &data,1 ); + +return data; +} +EXPORT_SYMBOL_GPL (arizona_device_read_u32); +static int arizona_of_get_core_pdata (struct arizona *arizona) {struct arizona_pdata *pdata = &arizona->pdata;
include/linux/mfd/arizona/core.h +5 -0
@@ -160,5 +160,10 @@ int wm8997_patch(struct arizona *arizona);extern int arizona_of_get_named_gpio (struct arizona *arizona,const char *prop,bool mandatory); +extern int arizona_device_read_u32_array (struct arizona *arizona, +const char *prop,bool mandatory, +u32 *data,size_t num); +extern unsigned int arizona_device_read_u32 (struct arizona *arizona, +const char *prop,bool mandatory);#endif
Signature · 1 line
1.7.2.5
Re: [PATCH 2/2] mfd: arizona: Add DT/ACPI u32 helper functions
Quoted 8 lines · Charles Keepax
Add helpers to read u32's and arrays of u32's from device tree or ACPI using the new device properties API.
Signed-off-by Charles Keepax <[email protected]>--- drivers/mfd/arizona-core.c | 39 ++++++++++++++++++++++++++++++++++++++ include/linux/mfd/arizona/core.h | 5 ++++ 2 files changed, 44 insertions(+), 0 deletions(-)
Me no likey!
There are 100's of 'required' and 'optional' properties in the kernel and it's normally the decision to early return or not that seals the fate of a given driver. I'm not happy for platforms to start adding their own variants.
If you really do think these kinds of "helpers" add value, then make them generic, so everyone can make use of them. Personally, I'm dubious however.
Quoted 72 lines
drivers/mfd/arizona-core.c +39
-0@@ -20,6 +20,7 @@#include <linux/of_device.h> #include <linux/of_gpio.h> #include <linux/pm_runtime.h> +#include <linux/property.h> #include <linux/regmap.h> #include <linux/regulator/consumer.h> #include <linux/regulator/machine.h> @@ -746,6 +747,44 @@ int arizona_of_get_named_gpio(struct arizona *arizona, const char *prop, }EXPORT_SYMBOL_GPL (arizona_of_get_named_gpio); +int arizona_device_read_u32_array (struct arizona *arizona, +const char *prop,bool mandatory, +u32 *data,size_t num) +{ +int ret; + + ret =device_property_read_u32_array (arizona->dev, prop, data, num); +switch (ret) { +case 0 : +break ; +case -EINVAL : +if (!mandatory) +break ; + +dev_err (arizona->dev,"Mandatory property %s is missing\n" , + prop); +break ; +default : +dev_err (arizona->dev,"Property %s is malformed: %d\n" , + prop, ret); +break ; + } + +return ret; +} +EXPORT_SYMBOL_GPL (arizona_device_read_u32_array); + +unsigned int arizona_device_read_u32 (struct arizona *arizona, +const char *prop,bool mandatory) +{ +u32 data =0 ; + +arizona_device_read_u32_array (arizona, prop, mandatory, &data,1 ); + +return data; +} +EXPORT_SYMBOL_GPL (arizona_device_read_u32); +static int arizona_of_get_core_pdata (struct arizona *arizona) {struct arizona_pdata *pdata = &arizona->pdata;include/linux/mfd/arizona/core.h +5
-0@@ -160,5 +160,10 @@ int wm8997_patch(struct arizona *arizona);extern int arizona_of_get_named_gpio (struct arizona *arizona,const char *prop,bool mandatory); +extern int arizona_device_read_u32_array (struct arizona *arizona, +const char *prop,bool mandatory, +u32 *data,size_t num); +extern unsigned int arizona_device_read_u32 (struct arizona *arizona, +const char *prop,bool mandatory);#endif
Signature · 4 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Re: [PATCH 2/2] mfd: arizona: Add DT/ACPI u32 helper functions
Quoted 13 lines · Lee Jones
Quoted 8 lines · Charles Keepax
Add helpers to read u32's and arrays of u32's from device tree or ACPI using the new device properties API.
Signed-off-by Charles Keepax <[email protected]>--- drivers/mfd/arizona-core.c | 39 ++++++++++++++++++++++++++++++++++++++ include/linux/mfd/arizona/core.h | 5 ++++ 2 files changed, 44 insertions(+), 0 deletions(-)Me no likey!
Quoted 8 lines
There are 100's of 'required' and 'optional' properties in the kernel and it's normally the decision to early return or not that seals the fate of a given driver. I'm not happy for platforms to start adding their own variants.
If you really do think these kinds of "helpers" add value, then make them generic, so everyone can make use of them. Personally, I'm dubious however.
Thats cool I don't really have any problem with dropping this patch and doing the necessary checking where appropriate.
Thanks,
Charles
Lee Jones
AppliedQuoted 4 lines · Charles Keepax
Signed-off-by Charles Keepax <[email protected]>--- include/dt-bindings/mfd/arizona.h | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
Applied, thanks.
Quoted 23 lines
include/dt-bindings/mfd/arizona.h +14
-0@@ -90,4 +90,18 @@#define ARIZONA_INMODE_SE 1#define ARIZONA_INMODE_DMIC 2 +#define ARIZONA_MICD_TIME_CONTINUOUS 0 +#define ARIZONA_MICD_TIME_250US 1 +#define ARIZONA_MICD_TIME_500US 2 +#define ARIZONA_MICD_TIME_1MS 3 +#define ARIZONA_MICD_TIME_2MS 4 +#define ARIZONA_MICD_TIME_4MS 5 +#define ARIZONA_MICD_TIME_8MS 6 +#define ARIZONA_MICD_TIME_16MS 7 +#define ARIZONA_MICD_TIME_32MS 8 +#define ARIZONA_MICD_TIME_64MS 9 +#define ARIZONA_MICD_TIME_128MS 10 +#define ARIZONA_MICD_TIME_256MS 11 +#define ARIZONA_MICD_TIME_512MS 12 +#endif
Signature · 4 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog