All of lore.kernel.org
 help / color / mirror / Atom feed
* [for-upstream/dovetail 0/2] Add support for Cherryview GPIO
@ 2021-05-13  1:02 hongzha1
  2021-05-13  1:02 ` [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips hongzha1
  2021-05-13  1:02 ` [for-upstream/dovetail 2/2] driver/gpio: cherryview: introduce gpio driver for pinctl Cherryview hongzha1
  0 siblings, 2 replies; 9+ messages in thread
From: hongzha1 @ 2021-05-13  1:02 UTC (permalink / raw)
  To: xenomai

1. introduce helper to find array of gpiochips
2. Add support for Cherryview GPIO controller based on helper 1.

I already validated them on Rock PI X board.

hongzha1 (2):
  drivers/gpio: core: introduce helper to find array of gpiochips
  driver/gpio: cherryview: introduce gpio driver for pinctl Cherryview

 include/cobalt/kernel/rtdm/gpio.h     |  4 +++
 kernel/drivers/gpio/Kconfig           |  7 +++++
 kernel/drivers/gpio/Makefile          |  2 ++
 kernel/drivers/gpio/gpio-cherryview.c | 43 +++++++++++++++++++++++++++
 kernel/drivers/gpio/gpio-core.c       | 19 ++++++++++++
 5 files changed, 75 insertions(+)
 create mode 100644 kernel/drivers/gpio/gpio-cherryview.c

-- 
2.17.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-13  1:02 [for-upstream/dovetail 0/2] Add support for Cherryview GPIO hongzha1
@ 2021-05-13  1:02 ` hongzha1
  2021-05-14  8:55   ` Florian Bezdeka
  2021-05-18 21:25   ` Jan Kiszka
  2021-05-13  1:02 ` [for-upstream/dovetail 2/2] driver/gpio: cherryview: introduce gpio driver for pinctl Cherryview hongzha1
  1 sibling, 2 replies; 9+ messages in thread
From: hongzha1 @ 2021-05-13  1:02 UTC (permalink / raw)
  To: xenomai

To find array of gpiochips for non-OF platform

Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
---
 include/cobalt/kernel/rtdm/gpio.h |  4 ++++
 kernel/drivers/gpio/gpio-core.c   | 19 +++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/include/cobalt/kernel/rtdm/gpio.h b/include/cobalt/kernel/rtdm/gpio.h
index c5fb20f25..99772f558 100644
--- a/include/cobalt/kernel/rtdm/gpio.h
+++ b/include/cobalt/kernel/rtdm/gpio.h
@@ -64,6 +64,10 @@ int rtdm_gpiochip_post_event(struct rtdm_gpio_chip *rgc,
 int rtdm_gpiochip_find(struct device_node *from,
 			  const char *label, int type);
 
+int rtdm_gpiochip_array_find(struct device_node *from,
+				const char *compat[],
+				int nentries, int type);
+
 #ifdef CONFIG_OF
 
 int rtdm_gpiochip_scan_of(struct device_node *from,
diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
index b3d801fa1..20a6d7875 100644
--- a/kernel/drivers/gpio/gpio-core.c
+++ b/kernel/drivers/gpio/gpio-core.c
@@ -543,6 +543,25 @@ int rtdm_gpiochip_find(struct device_node *from, const char *label,
 }
 EXPORT_SYMBOL_GPL(rtdm_gpiochip_find);
 
+int rtdm_gpiochip_array_find(struct device_node *from,
+				const char *compat[],
+				int nentries, int type)
+{
+	int ret = -ENODEV, _ret, n;
+
+	for (n = 0; n < nentries; n++) {
+		_ret = rtdm_gpiochip_find(from, compat[n], type);
+		if (_ret) {
+			if (_ret != -ENODEV)
+				return _ret;
+		} else
+			ret = 0;
+	}
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(rtdm_gpiochip_array_find);
+
 #ifdef CONFIG_OF
 
 #include <linux/of_platform.h>
-- 
2.17.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [for-upstream/dovetail 2/2] driver/gpio: cherryview: introduce gpio driver for pinctl Cherryview
  2021-05-13  1:02 [for-upstream/dovetail 0/2] Add support for Cherryview GPIO hongzha1
  2021-05-13  1:02 ` [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips hongzha1
@ 2021-05-13  1:02 ` hongzha1
  1 sibling, 0 replies; 9+ messages in thread
From: hongzha1 @ 2021-05-13  1:02 UTC (permalink / raw)
  To: xenomai

Add support for Intel Cherryview pin controller driver

Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
---
 kernel/drivers/gpio/Kconfig           |  7 +++++
 kernel/drivers/gpio/Makefile          |  2 ++
 kernel/drivers/gpio/gpio-cherryview.c | 43 +++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 kernel/drivers/gpio/gpio-cherryview.c

diff --git a/kernel/drivers/gpio/Kconfig b/kernel/drivers/gpio/Kconfig
index 44f41688c..c257444f0 100644
--- a/kernel/drivers/gpio/Kconfig
+++ b/kernel/drivers/gpio/Kconfig
@@ -57,6 +57,13 @@ config XENO_DRIVERS_GPIO_OMAP
 	Enables support for the GPIO controller available from
 	OMAP family SOC.
 
+config XENO_DRIVERS_GPIO_CHERRYVIEW
+	depends on PINCTRL_CHERRYVIEW
+	tristate "Support for Cherryview GPIOs"
+	help
+
+	Enables support for the Intel Cherryview GPIO controller
+
 config XENO_DRIVERS_GPIO_DEBUG
        bool "Enable GPIO core debugging features"
 
diff --git a/kernel/drivers/gpio/Makefile b/kernel/drivers/gpio/Makefile
index 7bcf59949..e534eab93 100644
--- a/kernel/drivers/gpio/Makefile
+++ b/kernel/drivers/gpio/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_XENO_DRIVERS_GPIO_SUN8I_H3) += xeno-gpio-sun8i-h3.o
 obj-$(CONFIG_XENO_DRIVERS_GPIO_ZYNQ7000) += xeno-gpio-zynq7000.o
 obj-$(CONFIG_XENO_DRIVERS_GPIO_XILINX) += xeno-gpio-xilinx.o
 obj-$(CONFIG_XENO_DRIVERS_GPIO_OMAP) += xeno-gpio-omap.o
+obj-$(CONFIG_XENO_DRIVERS_GPIO_CHERRYVIEW) += xeno-gpio-cherryview.o
 obj-$(CONFIG_XENO_DRIVERS_GPIO) += gpio-core.o
 
 xeno-gpio-bcm2835-y := gpio-bcm2835.o
@@ -14,3 +15,4 @@ xeno-gpio-sun8i-h3-y := gpio-sun8i-h3.o
 xeno-gpio-zynq7000-y := gpio-zynq7000.o
 xeno-gpio-xilinx-y := gpio-xilinx.o
 xeno-gpio-omap-y := gpio-omap.o
+xeno-gpio-cherryview-y := gpio-cherryview.o
diff --git a/kernel/drivers/gpio/gpio-cherryview.c b/kernel/drivers/gpio/gpio-cherryview.c
new file mode 100644
index 000000000..e23e13f98
--- /dev/null
+++ b/kernel/drivers/gpio/gpio-cherryview.c
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * @note Copyright (C) 2021 Hongzhan Chen <hongzhan.chen@intel.com>
+ *
+ * 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 of the
+ * License, 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.
+ *
+ */
+#include <linux/module.h>
+#include <rtdm/gpio.h>
+
+#define RTDM_SUBCLASS_CHERRYVIEW  7
+
+static const char *compat_array[] = {
+	"INT33FF:00",
+	"INT33FF:01",
+	"INT33FF:02",
+	"INT33FF:03",
+};
+
+static int __init cherryview_gpio_init(void)
+{
+	return rtdm_gpiochip_array_find(NULL, compat_array,
+					ARRAY_SIZE(compat_array),
+					RTDM_SUBCLASS_CHERRYVIEW);
+}
+module_init(cherryview_gpio_init);
+
+static void __exit cherryview_gpio_exit(void)
+{
+	rtdm_gpiochip_remove_of(RTDM_SUBCLASS_CHERRYVIEW);
+}
+module_exit(cherryview_gpio_exit);
+
+MODULE_LICENSE("GPL");
+
-- 
2.17.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-13  1:02 ` [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips hongzha1
@ 2021-05-14  8:55   ` Florian Bezdeka
  2021-05-14  9:10     ` Florian Bezdeka
  2021-05-18 21:25   ` Jan Kiszka
  1 sibling, 1 reply; 9+ messages in thread
From: Florian Bezdeka @ 2021-05-14  8:55 UTC (permalink / raw)
  To: hongzha1, xenomai

On 13.05.21 03:02, hongzha1 via Xenomai wrote:
> To find array of gpiochips for non-OF platform
> 
> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
> ---
>  include/cobalt/kernel/rtdm/gpio.h |  4 ++++
>  kernel/drivers/gpio/gpio-core.c   | 19 +++++++++++++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/include/cobalt/kernel/rtdm/gpio.h b/include/cobalt/kernel/rtdm/gpio.h
> index c5fb20f25..99772f558 100644
> --- a/include/cobalt/kernel/rtdm/gpio.h
> +++ b/include/cobalt/kernel/rtdm/gpio.h
> @@ -64,6 +64,10 @@ int rtdm_gpiochip_post_event(struct rtdm_gpio_chip *rgc,
>  int rtdm_gpiochip_find(struct device_node *from,
>  			  const char *label, int type);
>  
> +int rtdm_gpiochip_array_find(struct device_node *from,
> +				const char *compat[],
> +				int nentries, int type);
> +
>  #ifdef CONFIG_OF
>  
>  int rtdm_gpiochip_scan_of(struct device_node *from,
> diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
> index b3d801fa1..20a6d7875 100644
> --- a/kernel/drivers/gpio/gpio-core.c
> +++ b/kernel/drivers/gpio/gpio-core.c
> @@ -543,6 +543,25 @@ int rtdm_gpiochip_find(struct device_node *from, const char *label,
>  }
>  EXPORT_SYMBOL_GPL(rtdm_gpiochip_find);
>  
> +int rtdm_gpiochip_array_find(struct device_node *from,
> +				const char *compat[],
> +				int nentries, int type)
> +{
> +	int ret = -ENODEV, _ret, n;
> +
> +	for (n = 0; n < nentries; n++) {
> +		_ret = rtdm_gpiochip_find(from, compat[n], type);
> +		if (_ret) {
> +			if (_ret != -ENODEV)
> +				return _ret;
> +		} else
> +			ret = 0;
> +	}
> +
> +	return ret;
> +}

I'm not sure if I completely understand the code, but maybe it could be
simplified to:

{
	int ret, n;

	for (n = 0; n < nentries; n++) {
		ret = rtdm_gpiochip_find(from, compat[n], type);

		if (ret && ret != -ENODEV)
			break;
	}

	return ret;
}

> +EXPORT_SYMBOL_GPL(rtdm_gpiochip_array_find);
> +
>  #ifdef CONFIG_OF
>  
>  #include <linux/of_platform.h>
> 


-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-14  8:55   ` Florian Bezdeka
@ 2021-05-14  9:10     ` Florian Bezdeka
  2021-05-17  1:15       ` Chen, Hongzhan
  0 siblings, 1 reply; 9+ messages in thread
From: Florian Bezdeka @ 2021-05-14  9:10 UTC (permalink / raw)
  To: hongzha1, xenomai

On 14.05.21 10:55, Florian Bezdeka via Xenomai wrote:
> On 13.05.21 03:02, hongzha1 via Xenomai wrote:
>> To find array of gpiochips for non-OF platform
>>
>> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
>> ---
>>  include/cobalt/kernel/rtdm/gpio.h |  4 ++++
>>  kernel/drivers/gpio/gpio-core.c   | 19 +++++++++++++++++++
>>  2 files changed, 23 insertions(+)
>>
>> diff --git a/include/cobalt/kernel/rtdm/gpio.h b/include/cobalt/kernel/rtdm/gpio.h
>> index c5fb20f25..99772f558 100644
>> --- a/include/cobalt/kernel/rtdm/gpio.h
>> +++ b/include/cobalt/kernel/rtdm/gpio.h
>> @@ -64,6 +64,10 @@ int rtdm_gpiochip_post_event(struct rtdm_gpio_chip *rgc,
>>  int rtdm_gpiochip_find(struct device_node *from,
>>  			  const char *label, int type);
>>  
>> +int rtdm_gpiochip_array_find(struct device_node *from,
>> +				const char *compat[],
>> +				int nentries, int type);
>> +
>>  #ifdef CONFIG_OF
>>  
>>  int rtdm_gpiochip_scan_of(struct device_node *from,
>> diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
>> index b3d801fa1..20a6d7875 100644
>> --- a/kernel/drivers/gpio/gpio-core.c
>> +++ b/kernel/drivers/gpio/gpio-core.c
>> @@ -543,6 +543,25 @@ int rtdm_gpiochip_find(struct device_node *from, const char *label,
>>  }
>>  EXPORT_SYMBOL_GPL(rtdm_gpiochip_find);
>>  
>> +int rtdm_gpiochip_array_find(struct device_node *from,
>> +				const char *compat[],
>> +				int nentries, int type)
>> +{
>> +	int ret = -ENODEV, _ret, n;
>> +
>> +	for (n = 0; n < nentries; n++) {
>> +		_ret = rtdm_gpiochip_find(from, compat[n], type);
>> +		if (_ret) {
>> +			if (_ret != -ENODEV)
>> +				return _ret;
>> +		} else
>> +			ret = 0;
>> +	}
>> +
>> +	return ret;
>> +}
> 
> I'm not sure if I completely understand the code, but maybe it could be
> simplified to:
> 
> {
> 	int ret, n;
> 
> 	for (n = 0; n < nentries; n++) {
> 		ret = rtdm_gpiochip_find(from, compat[n], type);
> 
> 		if (ret && ret != -ENODEV)
> 			break;
> 	}
> 
> 	return ret;
> }

v2:
{
	int ret, n;

	for (n = 0; n < nentries; n++) {
		ret = rtdm_gpiochip_find(from, compat[n], type);

		if (ret && ret != -ENODEV)
			break;

		// Should we stop on first -ENODEV?
		if (ret && ret == -ENODEV)
			ret = 0;
	}

	return ret;
}
> 
>> +EXPORT_SYMBOL_GPL(rtdm_gpiochip_array_find);
>> +
>>  #ifdef CONFIG_OF
>>  
>>  #include <linux/of_platform.h>
>>
> 
> 


-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-14  9:10     ` Florian Bezdeka
@ 2021-05-17  1:15       ` Chen, Hongzhan
  0 siblings, 0 replies; 9+ messages in thread
From: Chen, Hongzhan @ 2021-05-17  1:15 UTC (permalink / raw)
  To: Florian Bezdeka, xenomai


>
>-----Original Message-----
>From: Florian Bezdeka <florian.bezdeka@siemens.com> 
>Sent: Friday, May 14, 2021 5:11 PM
>To: Chen, Hongzhan <hongzhan.chen@intel.com>; xenomai@xenomai.org
>Subject: Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
>
>On 14.05.21 10:55, Florian Bezdeka via Xenomai wrote:
>> On 13.05.21 03:02, hongzha1 via Xenomai wrote:
>>> To find array of gpiochips for non-OF platform
>>>
>>> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
>>> ---
>>>  include/cobalt/kernel/rtdm/gpio.h |  4 ++++
>>>  kernel/drivers/gpio/gpio-core.c   | 19 +++++++++++++++++++
>>>  2 files changed, 23 insertions(+)
>>>
>>> diff --git a/include/cobalt/kernel/rtdm/gpio.h b/include/cobalt/kernel/rtdm/gpio.h
>>> index c5fb20f25..99772f558 100644
>>> --- a/include/cobalt/kernel/rtdm/gpio.h
>>> +++ b/include/cobalt/kernel/rtdm/gpio.h
>>> @@ -64,6 +64,10 @@ int rtdm_gpiochip_post_event(struct rtdm_gpio_chip *rgc,
>>>  int rtdm_gpiochip_find(struct device_node *from,
>>>  			  const char *label, int type);
>>>  
>>> +int rtdm_gpiochip_array_find(struct device_node *from,
>>> +				const char *compat[],
>>> +				int nentries, int type);
>>> +
>>>  #ifdef CONFIG_OF
>>>  
>>>  int rtdm_gpiochip_scan_of(struct device_node *from,
>>> diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
>>> index b3d801fa1..20a6d7875 100644
>>> --- a/kernel/drivers/gpio/gpio-core.c
>>> +++ b/kernel/drivers/gpio/gpio-core.c
>>> @@ -543,6 +543,25 @@ int rtdm_gpiochip_find(struct device_node *from, const char *label,
>>>  }
>>>  EXPORT_SYMBOL_GPL(rtdm_gpiochip_find);
>>>  
>>> +int rtdm_gpiochip_array_find(struct device_node *from,
>>> +				const char *compat[],
>>> +				int nentries, int type)
>>> +{
>>> +	int ret = -ENODEV, _ret, n;
>>> +
>>> +	for (n = 0; n < nentries; n++) {
>>> +		_ret = rtdm_gpiochip_find(from, compat[n], type);
>>> +		if (_ret) {
>>> +			if (_ret != -ENODEV)
>>> +				return _ret;
>>> +		} else
>>> +			ret = 0;
>>> +	}
>>> +
>>> +	return ret;
>>> +}
>> 
>> I'm not sure if I completely understand the code, but maybe it could be
>> simplified to:
>> 
>> {
>> 	int ret, n;
>> 
>> 	for (n = 0; n < nentries; n++) {
> 		ret = rtdm_gpiochip_find(from, compat[n], type);
> 
> 		if (ret && ret != -ENODEV)
> 			break;
> 	}
> 
> 	return ret;
> }
>
>v2:
>{
>	int ret, n;
>
>	for (n = 0; n < nentries; n++) {
>		ret = rtdm_gpiochip_find(from, compat[n], type);
>
>		if (ret && ret != -ENODEV)
>			break;
>
>		// Should we stop on first -ENODEV?
>		if (ret && ret == -ENODEV)
>			ret = 0;

Thanks for your advices. 

The code actually is referring to rtdm_gpiochip_scan_array_of function totally but we have to implement helper for 
Non-of platform to find gpiochip with scanning whole array.  

Regards

Hongzhan Chen

>	}
>
>	return ret;
>}
>> 
>>> +EXPORT_SYMBOL_GPL(rtdm_gpiochip_array_find);
>>> +
>>>  #ifdef CONFIG_OF
>>>  
>>>  #include <linux/of_platform.h>
>>>
>> 
>> 
>
>
>-- 
>Siemens AG, T RDA IOT
>Corporate Competence Center Embedded Linux

-----Original Message-----
From: Florian Bezdeka <florian.bezdeka@siemens.com> 
Sent: Friday, May 14, 2021 5:11 PM
To: Chen, Hongzhan <hongzhan.chen@intel.com>; xenomai@xenomai.org
Subject: Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips

On 14.05.21 10:55, Florian Bezdeka via Xenomai wrote:
> On 13.05.21 03:02, hongzha1 via Xenomai wrote:
>> To find array of gpiochips for non-OF platform
>>
>> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
>> ---
>>  include/cobalt/kernel/rtdm/gpio.h |  4 ++++
>>  kernel/drivers/gpio/gpio-core.c   | 19 +++++++++++++++++++
>>  2 files changed, 23 insertions(+)
>>
>> diff --git a/include/cobalt/kernel/rtdm/gpio.h b/include/cobalt/kernel/rtdm/gpio.h
>> index c5fb20f25..99772f558 100644
>> --- a/include/cobalt/kernel/rtdm/gpio.h
>> +++ b/include/cobalt/kernel/rtdm/gpio.h
>> @@ -64,6 +64,10 @@ int rtdm_gpiochip_post_event(struct rtdm_gpio_chip *rgc,
>>  int rtdm_gpiochip_find(struct device_node *from,
>>  			  const char *label, int type);
>>  
>> +int rtdm_gpiochip_array_find(struct device_node *from,
>> +				const char *compat[],
>> +				int nentries, int type);
>> +
>>  #ifdef CONFIG_OF
>>  
>>  int rtdm_gpiochip_scan_of(struct device_node *from,
>> diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
>> index b3d801fa1..20a6d7875 100644
>> --- a/kernel/drivers/gpio/gpio-core.c
>> +++ b/kernel/drivers/gpio/gpio-core.c
>> @@ -543,6 +543,25 @@ int rtdm_gpiochip_find(struct device_node *from, const char *label,
>>  }
>>  EXPORT_SYMBOL_GPL(rtdm_gpiochip_find);
>>  
>> +int rtdm_gpiochip_array_find(struct device_node *from,
>> +				const char *compat[],
>> +				int nentries, int type)
>> +{
>> +	int ret = -ENODEV, _ret, n;
>> +
>> +	for (n = 0; n < nentries; n++) {
>> +		_ret = rtdm_gpiochip_find(from, compat[n], type);
>> +		if (_ret) {
>> +			if (_ret != -ENODEV)
>> +				return _ret;
>> +		} else
>> +			ret = 0;
>> +	}
>> +
>> +	return ret;
>> +}
> 
> I'm not sure if I completely understand the code, but maybe it could be
> simplified to:
> 
> {
> 	int ret, n;
> 
> 	for (n = 0; n < nentries; n++) {
> 		ret = rtdm_gpiochip_find(from, compat[n], type);
> 
> 		if (ret && ret != -ENODEV)
> 			break;
> 	}
> 
> 	return ret;
> }

v2:
{
	int ret, n;

	for (n = 0; n < nentries; n++) {
		ret = rtdm_gpiochip_find(from, compat[n], type);

		if (ret && ret != -ENODEV)
			break;

		// Should we stop on first -ENODEV?
		if (ret && ret == -ENODEV)
			ret = 0;
	}

	return ret;
}
> 
>> +EXPORT_SYMBOL_GPL(rtdm_gpiochip_array_find);
>> +
>>  #ifdef CONFIG_OF
>>  
>>  #include <linux/of_platform.h>
>>
> 
> 


-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-13  1:02 ` [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips hongzha1
  2021-05-14  8:55   ` Florian Bezdeka
@ 2021-05-18 21:25   ` Jan Kiszka
  2021-05-18 21:43     ` Jan Kiszka
  1 sibling, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2021-05-18 21:25 UTC (permalink / raw)
  To: hongzha1, xenomai

On 13.05.21 03:02, hongzha1 via Xenomai wrote:
> To find array of gpiochips for non-OF platform
> 
> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>

Just noticed that all your patches carry your user name in the
signed-off. You should fix that. Is this correct?

Signed-off-by: Hongzhan Chen <hongzhan.chen@intel.com>

Also, please make sure that patches carry the extra "From: your name
<your@email>" at the top of the commit message. This list server has to
mangle the sender, and that means the author on git can become something
like "hongzha1 via Xenomai <xenomai@xenomai.org>". You can trigger this
injection by providing a dummy address via --from when calling git
format-patch.

Thanks,
Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-18 21:25   ` Jan Kiszka
@ 2021-05-18 21:43     ` Jan Kiszka
  2021-05-19  1:34       ` Chen, Hongzhan
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Kiszka @ 2021-05-18 21:43 UTC (permalink / raw)
  To: hongzha1, xenomai

On 18.05.21 23:25, Jan Kiszka wrote:
> On 13.05.21 03:02, hongzha1 via Xenomai wrote:
>> To find array of gpiochips for non-OF platform
>>
>> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
> 
> Just noticed that all your patches carry your user name in the
> signed-off. You should fix that. Is this correct?
> 
> Signed-off-by: Hongzhan Chen <hongzhan.chen@intel.com>
> 
> Also, please make sure that patches carry the extra "From: your name
> <your@email>" at the top of the commit message. This list server has to
> mangle the sender, and that means the author on git can become something
> like "hongzha1 via Xenomai <xenomai@xenomai.org>". You can trigger this
> injection by providing a dummy address via --from when calling git
> format-patch.
> 
> Thanks,
> Jan
> 

Just to clarify: No action need for anything in wip/dovetail if my
spelling above is correct - just adjusted all your patches there
accordingly.

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
  2021-05-18 21:43     ` Jan Kiszka
@ 2021-05-19  1:34       ` Chen, Hongzhan
  0 siblings, 0 replies; 9+ messages in thread
From: Chen, Hongzhan @ 2021-05-19  1:34 UTC (permalink / raw)
  To: Jan Kiszka, xenomai


>
>-----Original Message-----
>From: Jan Kiszka <jan.kiszka@siemens.com> 
>Sent: Wednesday, May 19, 2021 5:44 AM
>To: Chen, Hongzhan <hongzhan.chen@intel.com>; xenomai@xenomai.org
>Subject: Re: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips
>
>On 18.05.21 23:25, Jan Kiszka wrote:
>> On 13.05.21 03:02, hongzha1 via Xenomai wrote:
>>> To find array of gpiochips for non-OF platform
>>>
>>> Signed-off-by: hongzha1 <hongzhan.chen@intel.com>
>> 
>> Just noticed that all your patches carry your user name in the
>> signed-off. You should fix that. Is this correct?
>> 
>> Signed-off-by: Hongzhan Chen <hongzhan.chen@intel.com>
>> 
>> Also, please make sure that patches carry the extra "From: your name
>> <your@email>" at the top of the commit message. This list server has to
>> mangle the sender, and that means the author on git can become something
>> like "hongzha1 via Xenomai <xenomai@xenomai.org>". You can trigger this
>> injection by providing a dummy address via --from when calling git
>> format-patch.
>> 
>> Thanks,
>> Jan
>> 
>
>Just to clarify: No action need for anything in wip/dovetail if my
>spelling above is correct - just adjusted all your patches there
>accordingly.

Thanks for your kind of reminding and adjustment. Spelling is correct. 

Regards

Hongzhan Chen
>
>Jan
>
>-- 
>Siemens AG, T RDA IOT
>Corporate Competence Center Embedded Linux
>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-05-19  1:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-13  1:02 [for-upstream/dovetail 0/2] Add support for Cherryview GPIO hongzha1
2021-05-13  1:02 ` [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips hongzha1
2021-05-14  8:55   ` Florian Bezdeka
2021-05-14  9:10     ` Florian Bezdeka
2021-05-17  1:15       ` Chen, Hongzhan
2021-05-18 21:25   ` Jan Kiszka
2021-05-18 21:43     ` Jan Kiszka
2021-05-19  1:34       ` Chen, Hongzhan
2021-05-13  1:02 ` [for-upstream/dovetail 2/2] driver/gpio: cherryview: introduce gpio driver for pinctl Cherryview hongzha1

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.