mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 87b1126181f79fb2558652af0d7fafd9deaab5f3 Mon Sep 17 00:00:00 2001
 | |
| From: Phil Elwell <phil@raspberrypi.com>
 | |
| Date: Tue, 7 Sep 2021 14:49:00 +0100
 | |
| Subject: [PATCH 0863/1016] reset: reset-brcmstb-rescal: Support shared use
 | |
| 
 | |
| reset_control_reset should not be used with shared reset controllers.
 | |
| Add support for reset_control_assert and _deassert to get the desired
 | |
| behaviour and avoid ugly warnings in the kernel log.
 | |
| 
 | |
| Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 | |
| ---
 | |
|  drivers/reset/reset-brcmstb-rescal.c | 10 ++++++++++
 | |
|  1 file changed, 10 insertions(+)
 | |
| 
 | |
| diff --git a/drivers/reset/reset-brcmstb-rescal.c b/drivers/reset/reset-brcmstb-rescal.c
 | |
| index 433fa0c40e47..7f46aa59762d 100644
 | |
| --- a/drivers/reset/reset-brcmstb-rescal.c
 | |
| +++ b/drivers/reset/reset-brcmstb-rescal.c
 | |
| @@ -20,6 +20,7 @@ struct brcm_rescal_reset {
 | |
|  	struct reset_controller_dev rcdev;
 | |
|  };
 | |
|  
 | |
| +/* Also doubles a deassert */
 | |
|  static int brcm_rescal_reset_set(struct reset_controller_dev *rcdev,
 | |
|  				 unsigned long id)
 | |
|  {
 | |
| @@ -52,6 +53,13 @@ static int brcm_rescal_reset_set(struct reset_controller_dev *rcdev,
 | |
|  	return 0;
 | |
|  }
 | |
|  
 | |
| +/* A dummy function - deassert/reset does all the work */
 | |
| +static int brcm_rescal_reset_assert(struct reset_controller_dev *rcdev,
 | |
| +				    unsigned long id)
 | |
| +{
 | |
| +	return 0;
 | |
| +}
 | |
| +
 | |
|  static int brcm_rescal_reset_xlate(struct reset_controller_dev *rcdev,
 | |
|  				   const struct of_phandle_args *reset_spec)
 | |
|  {
 | |
| @@ -61,6 +69,8 @@ static int brcm_rescal_reset_xlate(struct reset_controller_dev *rcdev,
 | |
|  
 | |
|  static const struct reset_control_ops brcm_rescal_reset_ops = {
 | |
|  	.reset = brcm_rescal_reset_set,
 | |
| +	.deassert = brcm_rescal_reset_set,
 | |
| +	.assert = brcm_rescal_reset_assert,
 | |
|  };
 | |
|  
 | |
|  static int brcm_rescal_reset_probe(struct platform_device *pdev)
 | |
| -- 
 | |
| 2.42.0
 | |
| 
 |