mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From e8d0e03fcc00e871ecf963838d99b91b992252ea Mon Sep 17 00:00:00 2001
 | |
| From: Maxime Ripard <maxime@cerno.tech>
 | |
| Date: Mon, 11 Jul 2022 15:58:36 +0200
 | |
| Subject: [PATCH] clk: bcm: rpi: Create helper to retrieve private data
 | |
| 
 | |
| The RaspberryPi firmware clocks driver uses in several instances a
 | |
| container_of to retrieve the struct raspberrypi_clk_data from a pointer
 | |
| to struct clk_hw. Let's create a small function to avoid duplicating it
 | |
| all over the place.
 | |
| 
 | |
| Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | |
| ---
 | |
|  drivers/clk/bcm/clk-raspberrypi.c | 18 ++++++++++--------
 | |
|  1 file changed, 10 insertions(+), 8 deletions(-)
 | |
| 
 | |
| --- a/drivers/clk/bcm/clk-raspberrypi.c
 | |
| +++ b/drivers/clk/bcm/clk-raspberrypi.c
 | |
| @@ -75,6 +75,12 @@ struct raspberrypi_clk_data {
 | |
|  	struct raspberrypi_clk *rpi;
 | |
|  };
 | |
|  
 | |
| +static inline
 | |
| +const struct raspberrypi_clk_data *clk_hw_to_data(const struct clk_hw *hw)
 | |
| +{
 | |
| +	return container_of(hw, struct raspberrypi_clk_data, hw);
 | |
| +}
 | |
| +
 | |
|  struct raspberrypi_clk_variant {
 | |
|  	bool		export;
 | |
|  	char		*clkdev;
 | |
| @@ -187,8 +193,7 @@ static int raspberrypi_clock_property(st
 | |
|  
 | |
|  static int raspberrypi_fw_is_prepared(struct clk_hw *hw)
 | |
|  {
 | |
| -	struct raspberrypi_clk_data *data =
 | |
| -		container_of(hw, struct raspberrypi_clk_data, hw);
 | |
| +	const struct raspberrypi_clk_data *data = clk_hw_to_data(hw);
 | |
|  	struct raspberrypi_clk *rpi = data->rpi;
 | |
|  	u32 val = 0;
 | |
|  	int ret;
 | |
| @@ -205,8 +210,7 @@ static int raspberrypi_fw_is_prepared(st
 | |
|  static unsigned long raspberrypi_fw_get_rate(struct clk_hw *hw,
 | |
|  					     unsigned long parent_rate)
 | |
|  {
 | |
| -	struct raspberrypi_clk_data *data =
 | |
| -		container_of(hw, struct raspberrypi_clk_data, hw);
 | |
| +	const struct raspberrypi_clk_data *data = clk_hw_to_data(hw);
 | |
|  	struct raspberrypi_clk *rpi = data->rpi;
 | |
|  	u32 val = 0;
 | |
|  	int ret;
 | |
| @@ -222,8 +226,7 @@ static unsigned long raspberrypi_fw_get_
 | |
|  static int raspberrypi_fw_set_rate(struct clk_hw *hw, unsigned long rate,
 | |
|  				   unsigned long parent_rate)
 | |
|  {
 | |
| -	struct raspberrypi_clk_data *data =
 | |
| -		container_of(hw, struct raspberrypi_clk_data, hw);
 | |
| +	const struct raspberrypi_clk_data *data = clk_hw_to_data(hw);
 | |
|  	struct raspberrypi_clk *rpi = data->rpi;
 | |
|  	u32 _rate = rate;
 | |
|  	int ret;
 | |
| @@ -240,8 +243,7 @@ static int raspberrypi_fw_set_rate(struc
 | |
|  static int raspberrypi_fw_dumb_determine_rate(struct clk_hw *hw,
 | |
|  					      struct clk_rate_request *req)
 | |
|  {
 | |
| -	struct raspberrypi_clk_data *data =
 | |
| -		container_of(hw, struct raspberrypi_clk_data, hw);
 | |
| +	const struct raspberrypi_clk_data *data = clk_hw_to_data(hw);
 | |
|  	struct raspberrypi_clk_variant *variant = data->variant;
 | |
|  
 | |
|  	/*
 |