mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	mfd: twl-core: Add a clock subdevice for the TWL6032
Clock device needs no separate devicetree node, so add it as a platform device. Other devices in the family also have controllable clocks, but due to the lack of testing, just add it for the TWL6032 now. Signed-off-by: Andreas Kemnade <andreas@kemnade.info> Link: https://lore.kernel.org/r/20230916100515.1650336-4-andreas@kemnade.info Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
		
							parent
							
								
									b06545fcb3
								
							
						
					
					
						commit
						6341632041
					
				
					 1 changed files with 16 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -31,6 +31,8 @@
 | 
			
		|||
#include <linux/regulator/machine.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/i2c.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/mfd/core.h>
 | 
			
		||||
#include <linux/mfd/twl.h>
 | 
			
		||||
 | 
			
		||||
/* Register descriptions for audio */
 | 
			
		||||
| 
						 | 
				
			
			@ -690,6 +692,10 @@ static struct of_dev_auxdata twl_auxdata_lookup[] = {
 | 
			
		|||
	{ /* sentinel */ },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const struct mfd_cell twl6032_cells[] = {
 | 
			
		||||
	{ .name = "twl6032-clk" },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* NOTE: This driver only handles a single twl4030/tps659x0 chip */
 | 
			
		||||
static int
 | 
			
		||||
twl_probe(struct i2c_client *client)
 | 
			
		||||
| 
						 | 
				
			
			@ -836,6 +842,16 @@ twl_probe(struct i2c_client *client)
 | 
			
		|||
				 TWL4030_DCDC_GLOBAL_CFG);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (id->driver_data == (TWL6030_CLASS | TWL6032_SUBCLASS)) {
 | 
			
		||||
		status = devm_mfd_add_devices(&client->dev,
 | 
			
		||||
					      PLATFORM_DEVID_NONE,
 | 
			
		||||
					      twl6032_cells,
 | 
			
		||||
					      ARRAY_SIZE(twl6032_cells),
 | 
			
		||||
					      NULL, 0, NULL);
 | 
			
		||||
		if (status < 0)
 | 
			
		||||
			goto free;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	status = of_platform_populate(node, NULL, twl_auxdata_lookup,
 | 
			
		||||
				      &client->dev);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue