forked from mirrors/linux
		
	 eb5ab6ffb4
			
		
	
	
		eb5ab6ffb4
		
	
	
	
	
		
			
			Both gpio-sim and gpio-virtuser share a mechanism to instantiate a platform device, wait for probe completion, and retrieve the probe success or error status synchronously. With gpio-aggregator planned to adopt this approach for its configfs interface, it's time to factor out the common code. Add dev-sync-probe.[ch] to house helper functions used by all such implementations. No functional change. Signed-off-by: Koichiro Den <koichiro.den@canonical.com> Link: https://lore.kernel.org/r/20250221133501.2203897-2-koichiro.den@canonical.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			659 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			659 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| 
 | |
| #ifndef DEV_SYNC_PROBE_H
 | |
| #define DEV_SYNC_PROBE_H
 | |
| 
 | |
| #include <linux/completion.h>
 | |
| #include <linux/notifier.h>
 | |
| #include <linux/platform_device.h>
 | |
| 
 | |
| struct dev_sync_probe_data {
 | |
| 	struct platform_device *pdev;
 | |
| 	const char *name;
 | |
| 
 | |
| 	/* Synchronize with probe */
 | |
| 	struct notifier_block bus_notifier;
 | |
| 	struct completion probe_completion;
 | |
| 	bool driver_bound;
 | |
| };
 | |
| 
 | |
| void dev_sync_probe_init(struct dev_sync_probe_data *data);
 | |
| int dev_sync_probe_register(struct dev_sync_probe_data *data,
 | |
| 			    struct platform_device_info *pdevinfo);
 | |
| void dev_sync_probe_unregister(struct dev_sync_probe_data *data);
 | |
| 
 | |
| #endif /* DEV_SYNC_PROBE_H */
 |