All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
@ 2024-08-30  3:33 Yuesong Li
  2024-09-02  8:00 ` kernel test robot
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Yuesong Li @ 2024-08-30  3:33 UTC (permalink / raw)
  To: p.zabel; +Cc: linux-kernel, opensource.kernel, Yuesong Li

When a driver wants to get reset control and deassert it,this
helper will handle the return value of these function, also it
will register a devres so that when the device been detached, the
reset control will be assert.

Signed-off-by: Yuesong Li <liyuesong@vivo.com>
---
 include/linux/reset.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/include/linux/reset.h b/include/linux/reset.h
index 514ddf003efc..d7e02968b63b 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -806,6 +806,35 @@ devm_reset_control_get_shared_by_index(struct device *dev, int index)
 	return __devm_reset_control_get(dev, NULL, index, true, false, false);
 }
 
+/**
+ * devm_reset_control_get_deassert - resource managed
+ * @dev: device to be reset by the controller
+ * @index: index of the reset controller
+ *
+ * A helper function to automatically handle return value of
+ * devm_reset_control_get_exclusive() and reset_control_deassert().
+ */
+static struct reset_control *devm_reset_control_get_deassert(
+			  struct device *dev, const char *id)
+{
+	int ret;
+	struct reset_control *reset;
+
+	reset = devm_reset_control_get_exclusive(dev, id);
+	if (IS_ERR(reset))
+		return reset;
+
+	ret = reset_control_deassert(reset);
+	if (ret)
+		return ERR_PTR(ret);
+
+	ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
+	if (ret)
+		return ERR_PTR(ret);
+
+	return reset;
+}
+
 /*
  * TEMPORARY calls to use during transition:
  *
-- 
2.34.1


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

* Re: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
  2024-08-30  3:33 [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control Yuesong Li
@ 2024-09-02  8:00 ` kernel test robot
  2024-09-02  8:20 ` kernel test robot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2024-09-02  8:00 UTC (permalink / raw)
  To: Yuesong Li; +Cc: llvm, oe-kbuild-all

Hi Yuesong,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on pza/reset/next]
[also build test ERROR on pza/imx-drm/next linus/master v6.11-rc6 next-20240830]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Yuesong-Li/reset-Provide-new-devm_reset-helpers-for-get-and-deassert-reset-control/20240830-113607
base:   https://git.pengutronix.de/git/pza/linux reset/next
patch link:    https://lore.kernel.org/r/20240830033351.233263-1-liyuesong%40vivo.com
patch subject: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
config: i386-buildonly-randconfig-003-20240902 (https://download.01.org/0day-ci/archive/20240902/202409021514.2tmkFIei-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240902/202409021514.2tmkFIei-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409021514.2tmkFIei-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/ipu-v3/ipu-common.c:9:
>> include/linux/reset.h:831:8: error: call to undeclared function 'devm_add_action_or_reset'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     831 |         ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
         |               ^
   In file included from drivers/gpu/ipu-v3/ipu-common.c:26:
   In file included from include/video/imx-ipu-v3.h:18:
   In file included from include/linux/fb.h:5:
   In file included from include/uapi/linux/fb.h:6:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[2]') [-Warray-bounds]
      98 |                 return (set->sig[3] | set->sig[2] |
         |                         ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from drivers/gpu/ipu-v3/ipu-common.c:26:
   In file included from include/video/imx-ipu-v3.h:18:
   In file included from include/linux/fb.h:5:
   In file included from include/uapi/linux/fb.h:6:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[2]') [-Warray-bounds]
      98 |                 return (set->sig[3] | set->sig[2] |
         |                                       ^        ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from drivers/gpu/ipu-v3/ipu-common.c:26:
   In file included from include/video/imx-ipu-v3.h:18:
   In file included from include/linux/fb.h:5:
   In file included from include/uapi/linux/fb.h:6:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:114:11: warning: array index 3 is past the end of the array (that has type 'const unsigned long[2]') [-Warray-bounds]
     114 |                 return  (set1->sig[3] == set2->sig[3]) &&
         |                          ^         ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from drivers/gpu/ipu-v3/ipu-common.c:26:
   In file included from include/video/imx-ipu-v3.h:18:
   In file included from include/linux/fb.h:5:
   In file included from include/uapi/linux/fb.h:6:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:114:27: warning: array index 3 is past the end of the array (that has type 'const unsigned long[2]') [-Warray-bounds]
     114 |                 return  (set1->sig[3] == set2->sig[3]) &&
         |                                          ^         ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here
      24 |         unsigned long sig[_NSIG_WORDS];
         |         ^
   In file included from drivers/gpu/ipu-v3/ipu-common.c:26:
   In file included from include/video/imx-ipu-v3.h:18:
   In file included from include/linux/fb.h:5:
   In file included from include/uapi/linux/fb.h:6:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:17:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:115:5: warning: array index 2 is past the end of the array (that has type 'const unsigned long[2]') [-Warray-bounds]
     115 |                         (set1->sig[2] == set2->sig[2]) &&
         |                          ^         ~
   arch/x86/include/asm/signal.h:24:2: note: array 'sig' declared here


vim +/devm_add_action_or_reset +831 include/linux/reset.h

   808	
   809	/**
   810	 * devm_reset_control_get_deassert - resource managed
   811	 * @dev: device to be reset by the controller
   812	 * @index: index of the reset controller
   813	 *
   814	 * A helper function to automatically handle return value of
   815	 * devm_reset_control_get_exclusive() and reset_control_deassert().
   816	 */
   817	static struct reset_control *devm_reset_control_get_deassert(
   818				  struct device *dev, const char *id)
   819	{
   820		int ret;
   821		struct reset_control *reset;
   822	
   823		reset = devm_reset_control_get_exclusive(dev, id);
   824		if (IS_ERR(reset))
   825			return reset;
   826	
   827		ret = reset_control_deassert(reset);
   828		if (ret)
   829			return ERR_PTR(ret);
   830	
 > 831		ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
   832		if (ret)
   833			return ERR_PTR(ret);
   834	
   835		return reset;
   836	}
   837	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
  2024-08-30  3:33 [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control Yuesong Li
  2024-09-02  8:00 ` kernel test robot
@ 2024-09-02  8:20 ` kernel test robot
  2024-09-02  9:22 ` kernel test robot
  2024-09-02  9:52 ` Yuesong Li
  3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2024-09-02  8:20 UTC (permalink / raw)
  To: Yuesong Li; +Cc: oe-kbuild-all

Hi Yuesong,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build warnings:

[auto build test WARNING on pza/reset/next]
[also build test WARNING on pza/imx-drm/next linus/master v6.11-rc6 next-20240830]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Yuesong-Li/reset-Provide-new-devm_reset-helpers-for-get-and-deassert-reset-control/20240830-113607
base:   https://git.pengutronix.de/git/pza/linux reset/next
patch link:    https://lore.kernel.org/r/20240830033351.233263-1-liyuesong%40vivo.com
patch subject: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
config: i386-buildonly-randconfig-001-20240902 (https://download.01.org/0day-ci/archive/20240902/202409021604.4gaJkwG2-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240902/202409021604.4gaJkwG2-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409021604.4gaJkwG2-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/ata/libahci_platform.c:25:
>> include/linux/reset.h:817:30: warning: 'devm_reset_control_get_deassert' defined but not used [-Wunused-function]
     817 | static struct reset_control *devm_reset_control_get_deassert(
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/devm_reset_control_get_deassert +817 include/linux/reset.h

   808	
   809	/**
   810	 * devm_reset_control_get_deassert - resource managed
   811	 * @dev: device to be reset by the controller
   812	 * @index: index of the reset controller
   813	 *
   814	 * A helper function to automatically handle return value of
   815	 * devm_reset_control_get_exclusive() and reset_control_deassert().
   816	 */
 > 817	static struct reset_control *devm_reset_control_get_deassert(
   818				  struct device *dev, const char *id)
   819	{
   820		int ret;
   821		struct reset_control *reset;
   822	
   823		reset = devm_reset_control_get_exclusive(dev, id);
   824		if (IS_ERR(reset))
   825			return reset;
   826	
   827		ret = reset_control_deassert(reset);
   828		if (ret)
   829			return ERR_PTR(ret);
   830	
   831		ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
   832		if (ret)
   833			return ERR_PTR(ret);
   834	
   835		return reset;
   836	}
   837	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
  2024-08-30  3:33 [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control Yuesong Li
  2024-09-02  8:00 ` kernel test robot
  2024-09-02  8:20 ` kernel test robot
@ 2024-09-02  9:22 ` kernel test robot
  2024-09-02  9:52 ` Yuesong Li
  3 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2024-09-02  9:22 UTC (permalink / raw)
  To: Yuesong Li; +Cc: oe-kbuild-all

Hi Yuesong,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on pza/reset/next]
[also build test ERROR on pza/imx-drm/next linus/master v6.11-rc6 next-20240830]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Yuesong-Li/reset-Provide-new-devm_reset-helpers-for-get-and-deassert-reset-control/20240830-113607
base:   https://git.pengutronix.de/git/pza/linux reset/next
patch link:    https://lore.kernel.org/r/20240830033351.233263-1-liyuesong%40vivo.com
patch subject: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
config: i386-buildonly-randconfig-005-20240902 (https://download.01.org/0day-ci/archive/20240902/202409021638.nWWDOU2d-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240902/202409021638.nWWDOU2d-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409021638.nWWDOU2d-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/renesas/rcar-du/rzg2l_mipi_dsi.c:16:
>> include/linux/reset.h:817:30: error: 'devm_reset_control_get_deassert' defined but not used [-Werror=unused-function]
     817 | static struct reset_control *devm_reset_control_get_deassert(
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors
--
   In file included from sound/soc/codecs/sti-sas.c:11:
   include/linux/reset.h: In function 'devm_reset_control_get_deassert':
>> include/linux/reset.h:831:15: error: implicit declaration of function 'devm_add_action_or_reset' [-Werror=implicit-function-declaration]
     831 |         ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/reset.h: At top level:
   include/linux/reset.h:817:30: warning: 'devm_reset_control_get_deassert' defined but not used [-Wunused-function]
     817 | static struct reset_control *devm_reset_control_get_deassert(
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/devm_reset_control_get_deassert +817 include/linux/reset.h

   808	
   809	/**
   810	 * devm_reset_control_get_deassert - resource managed
   811	 * @dev: device to be reset by the controller
   812	 * @index: index of the reset controller
   813	 *
   814	 * A helper function to automatically handle return value of
   815	 * devm_reset_control_get_exclusive() and reset_control_deassert().
   816	 */
 > 817	static struct reset_control *devm_reset_control_get_deassert(
   818				  struct device *dev, const char *id)
   819	{
   820		int ret;
   821		struct reset_control *reset;
   822	
   823		reset = devm_reset_control_get_exclusive(dev, id);
   824		if (IS_ERR(reset))
   825			return reset;
   826	
   827		ret = reset_control_deassert(reset);
   828		if (ret)
   829			return ERR_PTR(ret);
   830	
 > 831		ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
   832		if (ret)
   833			return ERR_PTR(ret);
   834	
   835		return reset;
   836	}
   837	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
  2024-08-30  3:33 [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control Yuesong Li
                   ` (2 preceding siblings ...)
  2024-09-02  9:22 ` kernel test robot
@ 2024-09-02  9:52 ` Yuesong Li
  2024-09-02 10:44   ` Philipp Zabel
  3 siblings, 1 reply; 7+ messages in thread
From: Yuesong Li @ 2024-09-02  9:52 UTC (permalink / raw)
  To: p.zabel; +Cc: linux-kernel, opensource.kernel



On 2024/8/30 11:33, Yuesong Li wrote:
> When a driver wants to get reset control and deassert it,this
> helper will handle the return value of these function, also it
> will register a devres so that when the device been detached, the
> reset control will be assert.
> 
> Signed-off-by: Yuesong Li <liyuesong@vivo.com>
> ---
>   include/linux/reset.h | 29 +++++++++++++++++++++++++++++
>   1 file changed, 29 insertions(+)
> 
> diff --git a/include/linux/reset.h b/include/linux/reset.h
> index 514ddf003efc..d7e02968b63b 100644
> --- a/include/linux/reset.h
> +++ b/include/linux/reset.h
> @@ -806,6 +806,35 @@ devm_reset_control_get_shared_by_index(struct device *dev, int index)
>   	return __devm_reset_control_get(dev, NULL, index, true, false, false);
>   }
>   
> +/**
> + * devm_reset_control_get_deassert - resource managed
> + * @dev: device to be reset by the controller
> + * @index: index of the reset controller
> + *
> + * A helper function to automatically handle return value of
> + * devm_reset_control_get_exclusive() and reset_control_deassert().
> + */
> +static struct reset_control *devm_reset_control_get_deassert(
> +			  struct device *dev, const char *id)
> +{
> +	int ret;
> +	struct reset_control *reset;
> +
> +	reset = devm_reset_control_get_exclusive(dev, id);
> +	if (IS_ERR(reset))
> +		return reset;
> +
> +	ret = reset_control_deassert(reset);
> +	if (ret)
> +		return ERR_PTR(ret);
> +
> +	ret = devm_add_action_or_reset(dev, (void *)reset_control_assert, (void *)reset);
> +	if (ret)
> +		return ERR_PTR(ret);
> +
> +	return reset;
> +}
> +
>   /*
>    * TEMPORARY calls to use during transition:
>    *

Please ignore this patch, I did not use clang to check the compile 
process. This patch is meant to simplify a common pattern appears in 
more than 10 files. For example in
"drivers/thermal/sun8i_thermal.c" line 393-401
But to pass the complier test, we need to include other header which 
does not make sense. So drop this patch.

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

* Re: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
  2024-09-02  9:52 ` Yuesong Li
@ 2024-09-02 10:44   ` Philipp Zabel
  2024-09-03  3:17     ` Yuesong Li
  0 siblings, 1 reply; 7+ messages in thread
From: Philipp Zabel @ 2024-09-02 10:44 UTC (permalink / raw)
  To: Yuesong Li; +Cc: linux-kernel, opensource.kernel

On Mo, 2024-09-02 at 17:52 +0800, Yuesong Li wrote:
> 
> On 2024/8/30 11:33, Yuesong Li wrote:
> > When a driver wants to get reset control and deassert it,this
> > helper will handle the return value of these function, also it
> > will register a devres so that when the device been detached, the
> > reset control will be assert.
> > 
> > Signed-off-by: Yuesong Li <liyuesong@vivo.com>

Could you have a look at the pre-deasserted / auto-reasserting reset
control series [1] and see if that would fit your use case?

[1] https://lore.kernel.org/all/20240621-reset-get-deasserted-v1-0-94ee76fb7b7d@pengutronix.de/

regards
Philipp

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

* Re: [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control
  2024-09-02 10:44   ` Philipp Zabel
@ 2024-09-03  3:17     ` Yuesong Li
  0 siblings, 0 replies; 7+ messages in thread
From: Yuesong Li @ 2024-09-03  3:17 UTC (permalink / raw)
  To: Philipp Zabel; +Cc: linux-kernel, opensource.kernel



On 2024/9/2 18:44, Philipp Zabel wrote:
> On Mo, 2024-09-02 at 17:52 +0800, Yuesong Li wrote:
>>
>> On 2024/8/30 11:33, Yuesong Li wrote:
>>> When a driver wants to get reset control and deassert it,this
>>> helper will handle the return value of these function, also it
>>> will register a devres so that when the device been detached, the
>>> reset control will be assert.
>>>
>>> Signed-off-by: Yuesong Li <liyuesong@vivo.com>
> 
> Could you have a look at the pre-deasserted / auto-reasserting reset
> control series [1] and see if that would fit your use case?
> 
> [1] https://lore.kernel.org/all/20240621-reset-get-deasserted-v1-0-94ee76fb7b7d@pengutronix.de/
> 
> regards
> Philipp

Thanks for reaching out, this patch fit my case exactly.

Best regards,
Yuesong

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

end of thread, other threads:[~2024-09-03  3:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-30  3:33 [PATCH RFC] reset: Provide new devm_reset helpers for get and deassert reset control Yuesong Li
2024-09-02  8:00 ` kernel test robot
2024-09-02  8:20 ` kernel test robot
2024-09-02  9:22 ` kernel test robot
2024-09-02  9:52 ` Yuesong Li
2024-09-02 10:44   ` Philipp Zabel
2024-09-03  3:17     ` Yuesong Li

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.