mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From ae9690fff3817105922c1edd5c24281a811e8069 Mon Sep 17 00:00:00 2001
 | |
| From: Phil Elwell <phil@raspberrypi.com>
 | |
| Date: Tue, 7 Sep 2021 14:49:00 +0100
 | |
| Subject: [PATCH] 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(+)
 | |
| 
 | |
| --- 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
 | |
|  	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(struc
 | |
|  
 | |
|  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)
 |